test: the example's size stops being a number nobody holds

Every other port in the fleet states its image size and is held to it; this
one stated none, so a library advance could move `clock` and no check would
say a word - which is exactly what the size claim was built after. The two
numbers are what the presets build today, byte-identical across generated
and reflect, and the README now says both.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-16 19:20:24 +02:00
parent 53ff3f1258
commit 6e179fbac6
2 changed files with 11 additions and 1 deletions

View File

@@ -26,7 +26,9 @@ cmake --build --preset attiny85-generated
Presets cover attiny85/atmega328p in both libavr modes (generated and Presets cover attiny85/atmega328p in both libavr modes (generated and
reflect); `ctest` runs the consteval battery over the BCD, the hours reflect); `ctest` runs the consteval battery over the BCD, the hours
register's two formats, the weekday and the alarm rate encodings. The legacy register's two formats, the weekday and the alarm rate encodings, and holds
the example to its stated size — **1480 B** on the mega328P and **1238 B**
on the tiny85, byte-identical across the two modes. The legacy
yazoalfa-based driver lives on the `master` branch. yazoalfa-based driver lives on the `master` branch.
The weekday register is derived from the date by default. A program that The weekday register is derived from the date by default. A program that

View File

@@ -1,5 +1,13 @@
libavr_format_test() libavr_format_test()
# The example's size is stated in the README, per chip, and a library advance
# that moves it silently is what this catches.
if(LIBAVR_MCU STREQUAL "atmega328p")
libavr_size_claim_test(clock 1480)
elseif(LIBAVR_MCU STREQUAL "attiny85")
libavr_size_claim_test(clock 1238)
endif()
# The battery is a compile: a static_assert that fails is the failure. It is a # 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. # target rather than only a ctest so a plain build catches a regression too.
add_library(consteval_tests OBJECT consteval.cpp) add_library(consteval_tests OBJECT consteval.cpp)