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 <noreply@anthropic.com>
35 lines
1.6 KiB
CMake
35 lines
1.6 KiB
CMake
libavr_format_test()
|
|
|
|
# The image must stay below the boot section at 0x7e00, and the README states
|
|
# what it measures; a library advance that moves it says nothing on its own.
|
|
libavr_size_claim_test(fantemp 8004)
|
|
|
|
# The README says the two modes emit the same image, and only a tree with
|
|
# both built can say whether they do.
|
|
libavr_mode_identity_test(fantemp)
|
|
|
|
# The battery is a compile: a static_assert that fails is the failure. It is a
|
|
# target rather than only a ctest so a plain build catches a regression too.
|
|
add_library(consteval_tests OBJECT consteval.cpp)
|
|
target_include_directories(consteval_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../src)
|
|
target_link_libraries(consteval_tests PRIVATE libavr)
|
|
|
|
add_test(NAME fantemp.consteval
|
|
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target consteval_tests)
|
|
|
|
# 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.
|
|
# 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 $<TARGET_FILE:fantemp>
|
|
--image $<TARGET_FILE_DIR:fantemp>/fantemp.bin
|
|
--loader-base ${PUREBOOT_BASE_HEX})
|
|
|
|
libavr_skip_unverified()
|