From f8690423863d0d3965cd40a02c81c2dce87186bf Mon Sep 17 00:00:00 2001 From: mikecarper Date: Wed, 21 Oct 2026 03:22:40 -0700 Subject: [PATCH] Compile complete manager helper chain in host fixtures The table-based manager allowlists call commandListMatches. Include that production dependency in the fleet enrollment, ACL CLI, and Morse authorization fixtures so their existing permission assertions execute. Firmware behavior and test assertions are unchanged. Validation: all five tests across test_fleet_role_wiring.py, test_client_acl_cli.py, and test_morse_auth.py pass, including both rule-engine modes and both ACL capacities. --- test/test_client_acl_cli.py | 3 ++- test/test_fleet_role_wiring.py | 3 ++- test/test_morse_auth.py | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/test/test_client_acl_cli.py b/test/test_client_acl_cli.py index bae101d0e..b5e8691d5 100644 --- a/test/test_client_acl_cli.py +++ b/test/test_client_acl_cli.py @@ -79,7 +79,8 @@ class ClientAclCliTest(unittest.TestCase): generated += extract_braced(utils, signature) + "\n" generated += "}\n" for signature in ( - "static bool commandFamilyMatches(", "static bool isCommonManagerReadOnlyAllowed(", + "static bool commandFamilyMatches(", "static bool commandListMatches(", + "static bool isCommonManagerReadOnlyAllowed(", "static bool isRegionMgrAllowed(", "static bool isFilterMgrAllowed(", ): generated += extract_braced(sources["repeater"], signature) + "\n" diff --git a/test/test_fleet_role_wiring.py b/test/test_fleet_role_wiring.py index 2e0d87c9d..8fe8476bb 100644 --- a/test/test_fleet_role_wiring.py +++ b/test/test_fleet_role_wiring.py @@ -352,7 +352,8 @@ class FleetRoleWiringTests(unittest.TestCase): self.assertIsNotNone(compiler) repeater = (ROOT / "examples/simple_repeater/MyMesh.cpp").read_text() helpers = "\n".join(body(repeater, signature) for signature in ( - "static bool commandFamilyMatches(", "static bool isCommonManagerReadOnlyAllowed(", + "static bool commandFamilyMatches(", "static bool commandListMatches(", + "static bool isCommonManagerReadOnlyAllowed(", "static bool isRegionMgrAllowed(", "static bool isFilterMgrAllowed(", )) handler = body(repeater, "void MyMesh::handleCommand(uint32_t sender_timestamp,") diff --git a/test/test_morse_auth.py b/test/test_morse_auth.py index 15f4e28fa..2f3803842 100644 --- a/test/test_morse_auth.py +++ b/test/test_morse_auth.py @@ -130,7 +130,8 @@ class MorseAuthorizationTests(unittest.TestCase): # the previous unguarded production branch must fail the C++ asserts. handoff = handler[start:end] helpers = "\n".join(extract_braced(source, signature) for signature in ( - "static bool commandFamilyMatches(", "static bool isCommonManagerReadOnlyAllowed(", + "static bool commandFamilyMatches(", "static bool commandListMatches(", + "static bool isCommonManagerReadOnlyAllowed(", "static bool isRegionMgrAllowed(", "static bool isFilterMgrAllowed(", )) helpers = f'#include "{(ROOT / "src/helpers/FloodCommandAliases.h").as_posix()}"\n' + helpers