From e4c4568e079b5e0f4fb066c2c7bb5882b1408b37 Mon Sep 17 00:00:00 2001 From: Ole Herman Schumacher Elgesem Date: Mon, 4 May 2026 18:33:14 +0200 Subject: [PATCH] Fixed issue with expanding variables for bundle names Signed-off-by: Ole Herman Schumacher Elgesem --- src/cfengine_cli/lint.py | 3 +++ tests/lint/020_bundle_name_expansion.cf | 15 +++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 tests/lint/020_bundle_name_expansion.cf diff --git a/src/cfengine_cli/lint.py b/src/cfengine_cli/lint.py index 72e1e5a..4b9c052 100644 --- a/src/cfengine_cli/lint.py +++ b/src/cfengine_cli/lint.py @@ -679,6 +679,9 @@ def _lint_calling_identifier( """ assert node.type == "calling_identifier" name = _text(node) + if name.startswith("$"): + # Variable expansion so no point in checking if it's defined + return qualified_name = _qualify(name, state.namespace) is_bundle = qualified_name in state.bundles is_body = qualified_name in state.bodies diff --git a/tests/lint/020_bundle_name_expansion.cf b/tests/lint/020_bundle_name_expansion.cf new file mode 100644 index 0000000..9c5dcee --- /dev/null +++ b/tests/lint/020_bundle_name_expansion.cf @@ -0,0 +1,15 @@ +bundle agent my_bundle_name(arg) +{ + reports: + "$(arg)"; +} + +bundle agent main +{ + vars: + "handlers" slist => { "my_bundle_name" }; + "args" slist => { "foo" }; + + methods: + "" usebundle => $(handlers)(@(args)); +}