cfengine 0.16.4__tar.gz → 0.16.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {cfengine-0.16.4 → cfengine-0.16.6}/.github/workflows/lint-policy-in-other-repos.yml +7 -4
- {cfengine-0.16.4 → cfengine-0.16.6}/.github/workflows/update-syntax-description.yml +1 -1
- {cfengine-0.16.4 → cfengine-0.16.6}/PKG-INFO +1 -1
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine.egg-info/PKG-INFO +1 -1
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine.egg-info/SOURCES.txt +2 -0
- cfengine-0.16.6/src/cfengine.egg-info/scm_file_list.json +153 -0
- cfengine-0.16.6/src/cfengine.egg-info/scm_version.json +8 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/format.py +28 -13
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/004_comments.expected.cf +7 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/011_macros.expected.cf +91 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/011_macros.input.cf +56 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/011_promises.expected.cf +1 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/.github/dependabot.yml +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/.github/workflows/make-check.yml +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/.github/workflows/pypi-publish.yml +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/.github/workflows/stale.yml +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/.gitignore +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/.python-version +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/CLAUDE.md +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/HACKING.md +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/LICENSE +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/Makefile +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/README.md +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/ci/01-install.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/ci/02-safe-tests.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/ci/03-unsafe-tests.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/pyproject.toml +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/setup.cfg +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine.egg-info/dependency_links.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine.egg-info/entry_points.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine.egg-info/requires.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine.egg-info/top_level.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/__init__.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/__main__.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/changelog.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/commands.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/deptool-README.md +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/deptool.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/dev.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/docs.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/lint.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/lint_csv.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/lint_yml.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/main.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/__init__.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/analyze.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/check_download_matches_git.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/download.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/generate_git_tags.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/generate_release_information.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/generate_vcf_download.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/generate_vcf_git_checkout.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/paths.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/profile.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/shell.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/syntax-description.json +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/syntax_tree.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/up.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/utils.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/validate.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/version.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/README.md +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/001_hello_world.expected.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/001_hello_world.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/002_basics.expected.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/002_basics.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/003_wrapping.expected.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/003_wrapping.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/004_comments.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/005_bundle_comments.expected.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/005_bundle_comments.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/006_remove_empty_comments.expected.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/006_remove_empty_comments.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/007_class_guarded_empty_lines.expected.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/007_class_guarded_empty_lines.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/008_long_string.expected.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/008_long_string.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/009_single_line.expected.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/009_single_line.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/010_stakeholder.expected.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/010_stakeholder.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/format/011_promises.input.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/001_hello_world.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/002_deprecations.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/002_deprecations.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/003_name_lowercase.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/003_name_lowercase.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/003_name_lowercase.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/004_block_type.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/004_block_type.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/004_block_type.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/005_syntax_error.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/005_syntax_error.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/005_syntax_error.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/006_empty_file.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/006_empty_file.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/007_namespace.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/007_namespace.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/007_namespace.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/008_bundle_shadows_function.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/008_bundle_shadows_function.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/008_bundle_shadows_function.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/009_unknown_function_inside_vars.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/009_unknown_function_inside_vars.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/009_unknown_function_inside_vars.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/010_mutually_exclusive_types_vars.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/010_mutually_exclusive_types_vars.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/010_mutually_exclusive_types_vars.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/011_invalid_attributes.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/011_invalid_attributes.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/012_function_call_arg_count.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/012_function_call_arg_count.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/012_function_call_arg_count.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/013_num_args_body.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/013_num_args_body.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/013_num_args_bundle.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/013_num_args_bundle.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/013_num_args_bundle_body.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/014_variadic_func_arg_count.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/014_variadic_func_arg_count.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/014_variadic_func_arg_count.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/015_macro_multi_def_bundle.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/015_macro_multi_def_bundle.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/015_macro_multi_def_bundle.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/016_half_promises.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/016_half_promises.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/016_half_promises.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/017_implies_body.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/017_implies_body.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/017_implies_body.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/018_nested_calls.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/018_nested_calls.expected.txt +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/018_nested_calls.x.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/019_bundle_name_expansion.cf +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/run-format-tests.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/run-lint-tests.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/run-shell-tests.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/run-up-validate-tests.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/shell/001-help.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/shell/002-version.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/shell/003-format.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/shell/004-format-check.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/shell/005-lint.sh +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/unit/__init__.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/unit/test_changelog.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/unit/test_deps.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/unit/test_format.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/unit/test_lint_csv.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/unit/test_lint_yml.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/unit/test_paths.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/unit/test_utils.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/unit/test_version.py +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/up-validate/001_complex_config.yaml +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/up-validate/002_version.x.yaml +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/up-validate/003_box.x.yaml +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/up-validate/004_count.x.yaml +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/up-validate/mocks/cloud_config.json +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/tests/up-validate/mocks/vagrant +0 -0
- {cfengine-0.16.4 → cfengine-0.16.6}/uv.lock +0 -0
|
@@ -44,12 +44,15 @@ jobs:
|
|
|
44
44
|
python -m pip install --upgrade pip
|
|
45
45
|
python -m pip install uv
|
|
46
46
|
make install
|
|
47
|
-
- name:
|
|
47
|
+
- name: Check other repos with cfengine format and cfengine lint
|
|
48
48
|
working-directory: cfengine-cli
|
|
49
49
|
run: |
|
|
50
|
-
|
|
51
|
-
uv run cfengine lint --strict no ../modules
|
|
52
|
-
|
|
50
|
+
# Linting should work with no errors on all the other repos:
|
|
51
|
+
uv run cfengine lint --strict no ../masterfiles ../documentation ../modules
|
|
52
|
+
# Formatting should work with no errors on all the other repos:
|
|
53
|
+
uv run cfengine format ../masterfiles ../documentation ../modules
|
|
54
|
+
# Linting should still work after formatting:
|
|
55
|
+
uv run cfengine lint --strict no ../masterfiles ../documentation ../modules
|
|
53
56
|
# TODO: Add core when ready
|
|
54
57
|
# TODO: Do all of them together, with strict, when ready;
|
|
55
58
|
# uv run cfengine lint ../core ../masterfiles ../documentation ../modules
|
|
@@ -35,7 +35,7 @@ jobs:
|
|
|
35
35
|
- name: Install cfengine
|
|
36
36
|
run: |
|
|
37
37
|
cf-remote --version master download --edition community ubuntu24 amd64 hub
|
|
38
|
-
sudo dpkg -i ~/.cfengine/cf-remote/packages/cfengine-community*.deb
|
|
38
|
+
sudo dpkg -i ~/.cache/cfengine/cf-remote/packages/cfengine-community*.deb
|
|
39
39
|
- name: Extract new syntax-description
|
|
40
40
|
run: |
|
|
41
41
|
(
|
|
@@ -21,6 +21,8 @@ src/cfengine.egg-info/SOURCES.txt
|
|
|
21
21
|
src/cfengine.egg-info/dependency_links.txt
|
|
22
22
|
src/cfengine.egg-info/entry_points.txt
|
|
23
23
|
src/cfengine.egg-info/requires.txt
|
|
24
|
+
src/cfengine.egg-info/scm_file_list.json
|
|
25
|
+
src/cfengine.egg-info/scm_version.json
|
|
24
26
|
src/cfengine.egg-info/top_level.txt
|
|
25
27
|
src/cfengine_cli/__init__.py
|
|
26
28
|
src/cfengine_cli/__main__.py
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
"README.md",
|
|
4
|
+
"uv.lock",
|
|
5
|
+
"Makefile",
|
|
6
|
+
".python-version",
|
|
7
|
+
"LICENSE",
|
|
8
|
+
"pyproject.toml",
|
|
9
|
+
"HACKING.md",
|
|
10
|
+
"CLAUDE.md",
|
|
11
|
+
".gitignore",
|
|
12
|
+
"src/cfengine_cli/changelog.py",
|
|
13
|
+
"src/cfengine_cli/shell.py",
|
|
14
|
+
"src/cfengine_cli/__init__.py",
|
|
15
|
+
"src/cfengine_cli/version.py",
|
|
16
|
+
"src/cfengine_cli/lint_yml.py",
|
|
17
|
+
"src/cfengine_cli/profile.py",
|
|
18
|
+
"src/cfengine_cli/deptool-README.md",
|
|
19
|
+
"src/cfengine_cli/utils.py",
|
|
20
|
+
"src/cfengine_cli/format.py",
|
|
21
|
+
"src/cfengine_cli/syntax-description.json",
|
|
22
|
+
"src/cfengine_cli/docs.py",
|
|
23
|
+
"src/cfengine_cli/up.py",
|
|
24
|
+
"src/cfengine_cli/lint_csv.py",
|
|
25
|
+
"src/cfengine_cli/syntax_tree.py",
|
|
26
|
+
"src/cfengine_cli/main.py",
|
|
27
|
+
"src/cfengine_cli/deptool.py",
|
|
28
|
+
"src/cfengine_cli/lint.py",
|
|
29
|
+
"src/cfengine_cli/commands.py",
|
|
30
|
+
"src/cfengine_cli/validate.py",
|
|
31
|
+
"src/cfengine_cli/__main__.py",
|
|
32
|
+
"src/cfengine_cli/paths.py",
|
|
33
|
+
"src/cfengine_cli/dev.py",
|
|
34
|
+
"src/cfengine_cli/masterfiles/check_download_matches_git.py",
|
|
35
|
+
"src/cfengine_cli/masterfiles/generate_vcf_git_checkout.py",
|
|
36
|
+
"src/cfengine_cli/masterfiles/__init__.py",
|
|
37
|
+
"src/cfengine_cli/masterfiles/download.py",
|
|
38
|
+
"src/cfengine_cli/masterfiles/analyze.py",
|
|
39
|
+
"src/cfengine_cli/masterfiles/generate_release_information.py",
|
|
40
|
+
"src/cfengine_cli/masterfiles/generate_vcf_download.py",
|
|
41
|
+
"src/cfengine_cli/masterfiles/generate_git_tags.py",
|
|
42
|
+
"ci/01-install.sh",
|
|
43
|
+
"ci/02-safe-tests.sh",
|
|
44
|
+
"ci/03-unsafe-tests.sh",
|
|
45
|
+
"tests/README.md",
|
|
46
|
+
"tests/run-shell-tests.sh",
|
|
47
|
+
"tests/run-up-validate-tests.sh",
|
|
48
|
+
"tests/run-lint-tests.sh",
|
|
49
|
+
"tests/run-format-tests.sh",
|
|
50
|
+
"tests/lint/015_macro_multi_def_bundle.cf",
|
|
51
|
+
"tests/lint/010_mutually_exclusive_types_vars.cf",
|
|
52
|
+
"tests/lint/010_mutually_exclusive_types_vars.x.cf",
|
|
53
|
+
"tests/lint/013_num_args_body.expected.txt",
|
|
54
|
+
"tests/lint/007_namespace.x.cf",
|
|
55
|
+
"tests/lint/018_nested_calls.expected.txt",
|
|
56
|
+
"tests/lint/010_mutually_exclusive_types_vars.expected.txt",
|
|
57
|
+
"tests/lint/016_half_promises.expected.txt",
|
|
58
|
+
"tests/lint/002_deprecations.x.cf",
|
|
59
|
+
"tests/lint/009_unknown_function_inside_vars.cf",
|
|
60
|
+
"tests/lint/008_bundle_shadows_function.expected.txt",
|
|
61
|
+
"tests/lint/013_num_args_bundle.x.cf",
|
|
62
|
+
"tests/lint/017_implies_body.cf",
|
|
63
|
+
"tests/lint/017_implies_body.expected.txt",
|
|
64
|
+
"tests/lint/008_bundle_shadows_function.cf",
|
|
65
|
+
"tests/lint/003_name_lowercase.x.cf",
|
|
66
|
+
"tests/lint/009_unknown_function_inside_vars.x.cf",
|
|
67
|
+
"tests/lint/004_block_type.x.cf",
|
|
68
|
+
"tests/lint/011_invalid_attributes.expected.txt",
|
|
69
|
+
"tests/lint/005_syntax_error.cf",
|
|
70
|
+
"tests/lint/013_num_args_bundle_body.cf",
|
|
71
|
+
"tests/lint/003_name_lowercase.expected.txt",
|
|
72
|
+
"tests/lint/002_deprecations.expected.txt",
|
|
73
|
+
"tests/lint/013_num_args_bundle.expected.txt",
|
|
74
|
+
"tests/lint/012_function_call_arg_count.expected.txt",
|
|
75
|
+
"tests/lint/004_block_type.cf",
|
|
76
|
+
"tests/lint/005_syntax_error.x.cf",
|
|
77
|
+
"tests/lint/015_macro_multi_def_bundle.expected.txt",
|
|
78
|
+
"tests/lint/006_empty_file.expected.txt",
|
|
79
|
+
"tests/lint/014_variadic_func_arg_count.x.cf",
|
|
80
|
+
"tests/lint/004_block_type.expected.txt",
|
|
81
|
+
"tests/lint/016_half_promises.cf",
|
|
82
|
+
"tests/lint/018_nested_calls.x.cf",
|
|
83
|
+
"tests/lint/011_invalid_attributes.x.cf",
|
|
84
|
+
"tests/lint/018_nested_calls.cf",
|
|
85
|
+
"tests/lint/014_variadic_func_arg_count.cf",
|
|
86
|
+
"tests/lint/017_implies_body.x.cf",
|
|
87
|
+
"tests/lint/012_function_call_arg_count.x.cf",
|
|
88
|
+
"tests/lint/007_namespace.expected.txt",
|
|
89
|
+
"tests/lint/015_macro_multi_def_bundle.x.cf",
|
|
90
|
+
"tests/lint/019_bundle_name_expansion.cf",
|
|
91
|
+
"tests/lint/001_hello_world.cf",
|
|
92
|
+
"tests/lint/009_unknown_function_inside_vars.expected.txt",
|
|
93
|
+
"tests/lint/007_namespace.cf",
|
|
94
|
+
"tests/lint/014_variadic_func_arg_count.expected.txt",
|
|
95
|
+
"tests/lint/012_function_call_arg_count.cf",
|
|
96
|
+
"tests/lint/008_bundle_shadows_function.x.cf",
|
|
97
|
+
"tests/lint/013_num_args_body.x.cf",
|
|
98
|
+
"tests/lint/003_name_lowercase.cf",
|
|
99
|
+
"tests/lint/005_syntax_error.expected.txt",
|
|
100
|
+
"tests/lint/006_empty_file.x.cf",
|
|
101
|
+
"tests/lint/016_half_promises.x.cf",
|
|
102
|
+
"tests/shell/001-help.sh",
|
|
103
|
+
"tests/shell/002-version.sh",
|
|
104
|
+
"tests/shell/004-format-check.sh",
|
|
105
|
+
"tests/shell/005-lint.sh",
|
|
106
|
+
"tests/shell/003-format.sh",
|
|
107
|
+
"tests/up-validate/002_version.x.yaml",
|
|
108
|
+
"tests/up-validate/004_count.x.yaml",
|
|
109
|
+
"tests/up-validate/001_complex_config.yaml",
|
|
110
|
+
"tests/up-validate/003_box.x.yaml",
|
|
111
|
+
"tests/up-validate/mocks/vagrant",
|
|
112
|
+
"tests/up-validate/mocks/cloud_config.json",
|
|
113
|
+
"tests/format/003_wrapping.input.cf",
|
|
114
|
+
"tests/format/011_macros.expected.cf",
|
|
115
|
+
"tests/format/009_single_line.input.cf",
|
|
116
|
+
"tests/format/009_single_line.expected.cf",
|
|
117
|
+
"tests/format/010_stakeholder.input.cf",
|
|
118
|
+
"tests/format/007_class_guarded_empty_lines.expected.cf",
|
|
119
|
+
"tests/format/004_comments.expected.cf",
|
|
120
|
+
"tests/format/001_hello_world.input.cf",
|
|
121
|
+
"tests/format/011_promises.expected.cf",
|
|
122
|
+
"tests/format/006_remove_empty_comments.input.cf",
|
|
123
|
+
"tests/format/005_bundle_comments.expected.cf",
|
|
124
|
+
"tests/format/002_basics.expected.cf",
|
|
125
|
+
"tests/format/005_bundle_comments.input.cf",
|
|
126
|
+
"tests/format/006_remove_empty_comments.expected.cf",
|
|
127
|
+
"tests/format/007_class_guarded_empty_lines.input.cf",
|
|
128
|
+
"tests/format/003_wrapping.expected.cf",
|
|
129
|
+
"tests/format/010_stakeholder.expected.cf",
|
|
130
|
+
"tests/format/004_comments.input.cf",
|
|
131
|
+
"tests/format/001_hello_world.expected.cf",
|
|
132
|
+
"tests/format/011_promises.input.cf",
|
|
133
|
+
"tests/format/008_long_string.expected.cf",
|
|
134
|
+
"tests/format/008_long_string.input.cf",
|
|
135
|
+
"tests/format/002_basics.input.cf",
|
|
136
|
+
"tests/format/011_macros.input.cf",
|
|
137
|
+
"tests/unit/__init__.py",
|
|
138
|
+
"tests/unit/test_version.py",
|
|
139
|
+
"tests/unit/test_deps.py",
|
|
140
|
+
"tests/unit/test_utils.py",
|
|
141
|
+
"tests/unit/test_format.py",
|
|
142
|
+
"tests/unit/test_changelog.py",
|
|
143
|
+
"tests/unit/test_lint_csv.py",
|
|
144
|
+
"tests/unit/test_lint_yml.py",
|
|
145
|
+
"tests/unit/test_paths.py",
|
|
146
|
+
".github/dependabot.yml",
|
|
147
|
+
".github/workflows/lint-policy-in-other-repos.yml",
|
|
148
|
+
".github/workflows/pypi-publish.yml",
|
|
149
|
+
".github/workflows/make-check.yml",
|
|
150
|
+
".github/workflows/stale.yml",
|
|
151
|
+
".github/workflows/update-syntax-description.yml"
|
|
152
|
+
]
|
|
153
|
+
}
|
|
@@ -236,6 +236,11 @@ def split_generic_list(
|
|
|
236
236
|
"""Split list elements into one-per-line strings, each pre-indented."""
|
|
237
237
|
has_macros = _contains_macro(middle)
|
|
238
238
|
elements: list[str] = []
|
|
239
|
+
# Indices of the lines that end a top-level value element. For a nested
|
|
240
|
+
# element, like a function call inside an slist, this is only the final line,
|
|
241
|
+
# outside the function call, so we do not add trailing commas into function
|
|
242
|
+
# call argument lists.
|
|
243
|
+
value_end_indices: list[int] = []
|
|
239
244
|
for element in middle:
|
|
240
245
|
if elements and element.type == ",":
|
|
241
246
|
elements[-1] = elements[-1] + ","
|
|
@@ -243,6 +248,9 @@ def split_generic_list(
|
|
|
243
248
|
if element.type == "macro":
|
|
244
249
|
elements.append(text(element))
|
|
245
250
|
continue
|
|
251
|
+
if element.type == "comment":
|
|
252
|
+
elements.append(" " * indent + text(element))
|
|
253
|
+
continue
|
|
246
254
|
line = " " * indent + stringify_single_line_node(element)
|
|
247
255
|
# Strict < reserves 1 char for the comma appended after this check
|
|
248
256
|
if len(line) < line_length:
|
|
@@ -251,14 +259,18 @@ def split_generic_list(
|
|
|
251
259
|
lines = split_generic_value(element, indent, line_length)
|
|
252
260
|
elements.append(" " * indent + lines[0])
|
|
253
261
|
elements.extend(lines[1:])
|
|
262
|
+
value_end_indices.append(len(elements) - 1)
|
|
254
263
|
|
|
255
|
-
#
|
|
256
|
-
# (one per branch); without, fix only the last non-comment element.
|
|
264
|
+
# Set trailing commas
|
|
257
265
|
if has_macros:
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
266
|
+
# With macros: Use the indices we counted earlier to ensure there
|
|
267
|
+
# are trailing commas at the right places (before macro, inside macro,
|
|
268
|
+
# after macros), but NOT inside the nested function calls which may
|
|
269
|
+
# be multi line
|
|
270
|
+
for i in value_end_indices:
|
|
271
|
+
elements[i] = _set_trailing_comma(elements[i], trailing_comma)
|
|
261
272
|
else:
|
|
273
|
+
# No macros: Just ensure the last non-comment element has a trailing comma
|
|
262
274
|
for i in reversed(range(len(elements))):
|
|
263
275
|
if not elements[i].lstrip().startswith("#"):
|
|
264
276
|
elements[i] = _set_trailing_comma(elements[i], trailing_comma)
|
|
@@ -765,14 +777,17 @@ def _needs_blank_line_before(child: Node, indent: int, line_length: int) -> bool
|
|
|
765
777
|
return True
|
|
766
778
|
if parent and parent.type in {"bundle_section", "class_guarded_promises"}:
|
|
767
779
|
return prev.type in {"promise", "half_promise"} | CLASS_GUARD_TYPES
|
|
768
|
-
if parent and parent.type in {
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
#
|
|
774
|
-
|
|
775
|
-
|
|
780
|
+
if parent and parent.type in {
|
|
781
|
+
"body_block_body",
|
|
782
|
+
"promise_block_body",
|
|
783
|
+
"class_guarded_body_attributes",
|
|
784
|
+
}:
|
|
785
|
+
# A comment is separated by a blank line from a preceding
|
|
786
|
+
# attribute or a preceding class-guarded block, so it reads as
|
|
787
|
+
# a leading comment for what follows (or a trailing comment for
|
|
788
|
+
# the block). This mirrors how a comment after a promise is
|
|
789
|
+
# separated in bundles.
|
|
790
|
+
return prev.type == "attribute" or prev.type in CLASS_GUARD_TYPES
|
|
776
791
|
return False
|
|
777
792
|
|
|
778
793
|
return False
|
|
@@ -83,11 +83,14 @@ body package_method apt
|
|
|
83
83
|
package_list_command => "/usr/bin/dpkg -l";
|
|
84
84
|
package_list_name_regex => "ii\s+([^\s]+).*";
|
|
85
85
|
package_list_version_regex => "ii\s+[^\s]+\s+([^\s]+).*";
|
|
86
|
+
|
|
86
87
|
# package_list_arch_regex => "none";
|
|
87
88
|
package_installed_regex => ".*";
|
|
89
|
+
|
|
88
90
|
# all reported are installed:
|
|
89
91
|
# package_name_convention => "$(name)_$(version)_$(arch)";
|
|
90
92
|
package_name_convention => "$(name)";
|
|
93
|
+
|
|
91
94
|
# Use these only if not using a separate version/arch string:
|
|
92
95
|
# package_version_regex => "";
|
|
93
96
|
# package_name_regex => "";
|
|
@@ -95,6 +98,7 @@ body package_method apt
|
|
|
95
98
|
package_add_command => "/usr/bin/apt-get --yes install";
|
|
96
99
|
package_delete_command => "/usr/bin/apt-get --yes remove";
|
|
97
100
|
package_update_command => "/usr/bin/apt-get --yes dist-upgrade";
|
|
101
|
+
|
|
98
102
|
# package_verify_command => "/bin/rpm -V";
|
|
99
103
|
}
|
|
100
104
|
|
|
@@ -107,6 +111,7 @@ body package_method ca
|
|
|
107
111
|
body package_method ac
|
|
108
112
|
{
|
|
109
113
|
package_changes => "bulk";
|
|
114
|
+
|
|
110
115
|
# bar
|
|
111
116
|
}
|
|
112
117
|
|
|
@@ -114,6 +119,7 @@ body package_method cac
|
|
|
114
119
|
{
|
|
115
120
|
# foo
|
|
116
121
|
package_changes => "bulk";
|
|
122
|
+
|
|
117
123
|
# bar
|
|
118
124
|
}
|
|
119
125
|
|
|
@@ -129,6 +135,7 @@ body package_method cgcac
|
|
|
129
135
|
linux::
|
|
130
136
|
# bar
|
|
131
137
|
package_changes => "bulk";
|
|
138
|
+
|
|
132
139
|
# baz
|
|
133
140
|
}
|
|
134
141
|
|
|
@@ -200,3 +200,94 @@ bundle agent test(a)
|
|
|
200
200
|
"$(a)";
|
|
201
201
|
}
|
|
202
202
|
@endif
|
|
203
|
+
bundle agent test_macro_call_param
|
|
204
|
+
{
|
|
205
|
+
classes:
|
|
206
|
+
"a" -> { "CFE-3927" }
|
|
207
|
+
and => {
|
|
208
|
+
# The variable must be defined
|
|
209
|
+
isvariable("default:def.control_agent_environment_vars"),
|
|
210
|
+
# The length of the variable must be greater than 0 (can't be an empty list)
|
|
211
|
+
isgreaterthan(length("default:def.control_agent_environment_vars"), 0),
|
|
212
|
+
# Each element of the list must be of the form KEY=VALUE
|
|
213
|
+
every(".+=.+", "default:def.control_agent_environment_vars"),
|
|
214
|
+
# In 3.18 and greater we can validate the type of variable in use
|
|
215
|
+
@if minimum_version(3.18.0)
|
|
216
|
+
regcmp(
|
|
217
|
+
"(policy slist|data array)",
|
|
218
|
+
type("default:def.control_agent_environment_vars", "true")
|
|
219
|
+
),
|
|
220
|
+
@endif
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
"b" -> { "CFE-3927" }
|
|
224
|
+
and => {
|
|
225
|
+
# The variable must be defined
|
|
226
|
+
isvariable("default:def.control_agent_environment_vars"),
|
|
227
|
+
isgreaterthan(length("default:def.control_agent_environment_vars"), 0),
|
|
228
|
+
@if minimum_version(3.18.0)
|
|
229
|
+
regcmp(
|
|
230
|
+
"(policy slist|data array)",
|
|
231
|
+
type("default:def.control_agent_environment_vars", "true")
|
|
232
|
+
),
|
|
233
|
+
@endif
|
|
234
|
+
every(".+=.+", "default:def.control_agent_environment_vars"),
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
"c" -> { "CFE-3927" }
|
|
238
|
+
and => {
|
|
239
|
+
# The variable must be defined
|
|
240
|
+
isvariable("default:def.control_agent_environment_vars"),
|
|
241
|
+
isgreaterthan(length("default:def.control_agent_environment_vars"), 0),
|
|
242
|
+
@if minimum_version(3.18.0)
|
|
243
|
+
regcmp(
|
|
244
|
+
"(policy slist|data array)",
|
|
245
|
+
type("default:def.control_agent_environment_vars", "true")
|
|
246
|
+
),
|
|
247
|
+
every(".+=.+", "default:def.control_agent_environment_vars"),
|
|
248
|
+
@endif
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
"d" -> { "CFE-3927" }
|
|
252
|
+
and => {
|
|
253
|
+
@if minimum_version(3.18.0)
|
|
254
|
+
every(".+=.+", "default:def.control_agent_environment_vars"),
|
|
255
|
+
@endif
|
|
256
|
+
isvariable("default:def.control_agent_environment_vars"),
|
|
257
|
+
isgreaterthan(length("default:def.control_agent_environment_vars"), 0),
|
|
258
|
+
regcmp(
|
|
259
|
+
"(policy slist|data array)",
|
|
260
|
+
type("default:def.control_agent_environment_vars", "true")
|
|
261
|
+
),
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
"e" -> { "CFE-3927" }
|
|
265
|
+
and => {
|
|
266
|
+
@if minimum_version(3.18.0)
|
|
267
|
+
"a",
|
|
268
|
+
@endif
|
|
269
|
+
"b",
|
|
270
|
+
"c",
|
|
271
|
+
"d",
|
|
272
|
+
isgreaterthan(length("default:def.control_agent_environment_vars"), 0),
|
|
273
|
+
regcmp(
|
|
274
|
+
"(policy slist|data array)",
|
|
275
|
+
type("default:def.control_agent_environment_vars", "true")
|
|
276
|
+
),
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
"f" -> { "CFE-3927" }
|
|
280
|
+
and => {
|
|
281
|
+
isgreaterthan(length("default:def.control_agent_environment_vars"), 0),
|
|
282
|
+
regcmp(
|
|
283
|
+
"(policy slist|data array)",
|
|
284
|
+
type("default:def.control_agent_environment_vars", "true")
|
|
285
|
+
),
|
|
286
|
+
"a",
|
|
287
|
+
"b",
|
|
288
|
+
"c",
|
|
289
|
+
@if minimum_version(3.18.0)
|
|
290
|
+
"d",
|
|
291
|
+
@endif
|
|
292
|
+
};
|
|
293
|
+
}
|
|
@@ -193,3 +193,59 @@ reports:
|
|
|
193
193
|
"$(a)";
|
|
194
194
|
}
|
|
195
195
|
@endif
|
|
196
|
+
|
|
197
|
+
bundle agent test_macro_call_param
|
|
198
|
+
{
|
|
199
|
+
classes:
|
|
200
|
+
"a" -> { "CFE-3927" }
|
|
201
|
+
and => {
|
|
202
|
+
# The variable must be defined
|
|
203
|
+
isvariable("default:def.control_agent_environment_vars"),
|
|
204
|
+
# The length of the variable must be greater than 0 (can't be an empty list)
|
|
205
|
+
isgreaterthan(length("default:def.control_agent_environment_vars"), 0),
|
|
206
|
+
# Each element of the list must be of the form KEY=VALUE
|
|
207
|
+
every(".+=.+", "default:def.control_agent_environment_vars"),
|
|
208
|
+
# In 3.18 and greater we can validate the type of variable in use
|
|
209
|
+
@if minimum_version(3.18.0)
|
|
210
|
+
regcmp("(policy slist|data array)",type("default:def.control_agent_environment_vars", "true")),
|
|
211
|
+
@endif
|
|
212
|
+
};
|
|
213
|
+
"b" -> { "CFE-3927" }
|
|
214
|
+
and => {
|
|
215
|
+
# The variable must be defined
|
|
216
|
+
isvariable("default:def.control_agent_environment_vars"),isgreaterthan(length("default:def.control_agent_environment_vars"), 0),
|
|
217
|
+
@if minimum_version(3.18.0)
|
|
218
|
+
regcmp( "(policy slist|data array)", type("default:def.control_agent_environment_vars", "true") ),
|
|
219
|
+
@endif
|
|
220
|
+
every(".+=.+", "default:def.control_agent_environment_vars"),
|
|
221
|
+
};
|
|
222
|
+
"c" -> { "CFE-3927" }
|
|
223
|
+
and => {
|
|
224
|
+
# The variable must be defined
|
|
225
|
+
isvariable("default:def.control_agent_environment_vars"), isgreaterthan(length("default:def.control_agent_environment_vars"), 0),
|
|
226
|
+
@if minimum_version(3.18.0)
|
|
227
|
+
regcmp("(policy slist|data array)",type("default:def.control_agent_environment_vars", "true")),every(".+=.+", "default:def.control_agent_environment_vars"),
|
|
228
|
+
@endif
|
|
229
|
+
};
|
|
230
|
+
"d" -> { "CFE-3927" }
|
|
231
|
+
and => {
|
|
232
|
+
@if minimum_version(3.18.0)
|
|
233
|
+
every(".+=.+", "default:def.control_agent_environment_vars"),
|
|
234
|
+
@endif
|
|
235
|
+
isvariable("default:def.control_agent_environment_vars"),isgreaterthan(length("default:def.control_agent_environment_vars"), 0),regcmp("(policy slist|data array)",type("default:def.control_agent_environment_vars", "true")),
|
|
236
|
+
};
|
|
237
|
+
"e" -> { "CFE-3927" }
|
|
238
|
+
and => {
|
|
239
|
+
@if minimum_version(3.18.0)
|
|
240
|
+
"a",
|
|
241
|
+
@endif
|
|
242
|
+
"b","c","d",isgreaterthan(length("default:def.control_agent_environment_vars"),0),regcmp("(policy slist|data array)",type("default:def.control_agent_environment_vars", "true")),
|
|
243
|
+
};
|
|
244
|
+
"f" -> { "CFE-3927" }
|
|
245
|
+
and => {
|
|
246
|
+
isgreaterthan(length("default:def.control_agent_environment_vars"), 0),regcmp("(policy slist|data array)",type("default:def.control_agent_environment_vars", "true")),"a","b","c",
|
|
247
|
+
@if minimum_version(3.18.0)
|
|
248
|
+
"d",
|
|
249
|
+
@endif
|
|
250
|
+
};
|
|
251
|
+
}
|
|
@@ -120,6 +120,7 @@ body common control
|
|
|
120
120
|
any::
|
|
121
121
|
ignore_missing_bundles => "$(def.control_common_ignore_missing_bundles)";
|
|
122
122
|
ignore_missing_inputs => "$(def.control_common_ignore_missing_inputs)";
|
|
123
|
+
|
|
123
124
|
# The number of minutes after which last-seen entries are purged from cf_lastseen.lmdb
|
|
124
125
|
lastseenexpireafter => "$(def.control_common_lastseenexpireafter)";
|
|
125
126
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/check_download_matches_git.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/generate_release_information.py
RENAMED
|
File without changes
|
|
File without changes
|
{cfengine-0.16.4 → cfengine-0.16.6}/src/cfengine_cli/masterfiles/generate_vcf_git_checkout.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/009_unknown_function_inside_vars.expected.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cfengine-0.16.4 → cfengine-0.16.6}/tests/lint/010_mutually_exclusive_types_vars.expected.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|