diff --git a/.github/workflows/run-unit-tests.yml b/.github/workflows/run-unit-tests.yml index ee0a37ea6..35187307a 100644 --- a/.github/workflows/run-unit-tests.yml +++ b/.github/workflows/run-unit-tests.yml @@ -191,6 +191,14 @@ jobs: - name: Verify Companion Bluetooth CLI connection protection run: python3 -B test/test_companion_bluetooth_control.py -v + - name: Verify nRF52 SoftDevice LTO and persistent BLE subscriptions + env: + MESHCORE_REQUIRE_ARM_COMPILER: '1' + run: | + pio pkg install --global --tool 'platformio/toolchain-gccarmnoneeabi@1.140201.0' + python3 -B test/test_nrf52_svc_compat.py -v + python3 -B test/test_nrf52_ble_cccd_fix.py -v + - name: Verify WiFi, ESP-NOW and combined wireless controls run: | python3 -B test/test_wireless_control.py -v diff --git a/test/test_nrf52_svc_compat.py b/test/test_nrf52_svc_compat.py index a64a75153..b3a8b84bb 100644 --- a/test/test_nrf52_svc_compat.py +++ b/test/test_nrf52_svc_compat.py @@ -40,6 +40,8 @@ class Nrf52SvcCompatTest(unittest.TestCase): cc = shutil.which("arm-none-eabi-gcc") or str(BIN / "arm-none-eabi-gcc") dump = shutil.which("arm-none-eabi-objdump") or str(BIN / "arm-none-eabi-objdump") if not Path(cc).is_file() or not Path(dump).is_file(): + if os.environ.get("MESHCORE_REQUIRE_ARM_COMPILER") == "1": + self.fail("ARM compiler and objdump are required for the LTO regression") self.skipTest("ARM compiler required for the LTO regression") with tempfile.TemporaryDirectory(prefix="meshcore-svc-lto-") as temp: folder = Path(temp)