From fb82f0f7a99522b53eaed0dab57e1f80ab233adf Mon Sep 17 00:00:00 2001 From: BlackMark Date: Wed, 2 Sep 2026 21:37:44 +0200 Subject: [PATCH] deps: the pins advance, and a missing interpreter skips rather than vanishes libavr and pureboot move to the tips that register their checks everywhere. fantemp.reachability stops being wrapped in `if(Python3_FOUND)`: it is registered on every host now and skips where the interpreter is absent, so what `ctest -N` counts is a fact about this repository rather than about the machine that configured it. Co-Authored-By: Claude Opus 5 --- libavr | 2 +- pureboot | 2 +- test/CMakeLists.txt | 22 ++++++++++++---------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/libavr b/libavr index b62d6b5..8521f48 160000 --- a/libavr +++ b/libavr @@ -1 +1 @@ -Subproject commit b62d6b5b30b1122128b1d277c715f92aeb2abcff +Subproject commit 8521f48a3361100c5f3e3c5004a5ff415e2d1484 diff --git a/pureboot b/pureboot index 6ba53fb..07b4790 160000 --- a/pureboot +++ b/pureboot @@ -1 +1 @@ -Subproject commit 6ba53fb2fa22d4c3d93ab5ddaae3356db394c627 +Subproject commit 07b47905cad7e60137a37b3a2cc9741facf0a48e diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 10dceb6..5f38153 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -20,13 +20,15 @@ add_test(NAME fantemp.consteval # The board has no reset line and no programming header, so the loader-entry # route in the emitted image is the only thing standing between a firmware change # and an unreflashable board. -find_package(Python3 COMPONENTS Interpreter) -if(Python3_FOUND) - add_test(NAME fantemp.reachability - COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/check_reachability.py - --objdump ${CMAKE_OBJDUMP} --elf $ - --image $/fantemp.bin - --loader-base ${PUREBOOT_BASE_HEX}) -else() - message(STATUS "Python not found - the reachability check is skipped") -endif() +# A check whose interpreter this host lacks is registered and *skips*, rather +# than leaving the suite a different size on a different machine - which is a +# suite nothing can be compared against. The launcher and the marker are +# libavr's (`cmake/checks.cmake`). +libavr_launcher(_python "${LIBAVR_NO_PYTHON}" ${Python3_EXECUTABLE}) +add_test(NAME fantemp.reachability + COMMAND ${_python} ${CMAKE_CURRENT_SOURCE_DIR}/check_reachability.py + --objdump ${CMAKE_OBJDUMP} --elf $ + --image $/fantemp.bin + --loader-base ${PUREBOOT_BASE_HEX}) + +libavr_skip_unverified()