spaxel/firmware/test
jedarden cc24a1cf23 test(runner): document C11 7.13.2.1 setjmp clobber audit at call site (bf-31rd)
Relocate the per-variable setjmp/longjmp clobber analysis to the setjmp call
site and expand it into a full boundary audit per C11 7.13.2.1: enumerate every
automatic in scope (the loop index i; confirm there are no local tallies and
that g_failure_count/g_test_jmp are file-scope static, to which 7.13.2.1 does
not apply), and show why each is determinate — i is written only by the for-init
and for-increment, the latter running after control resumes, so no write lands
between setjmp and a longjmp fired in the body.

volatile on i is retained: the standard does not strictly require it (i is not
changed in the window), but gcc's -Wclobbered is heuristic and ignores that
distinction — empirically verified that the loop warns at -O1..-Os once the
incidental preceding qsort() stops biasing the register heuristic. volatile is
the sanctioned suppression. Compile gate confirmed clean at -O0..-Os with
-Wall -Wextra and explicit -Wclobbered; full suite still 29 RUN / 0 FAIL.

Analysis + comment + build verification only; no behavior change vs bf-22vg.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-04 04:29:59 -04:00
..
.gitignore test: land firmware host-test build scaffolding (Makefile, .gitignore, sanity) 2026-07-03 11:56:34 -04:00
Makefile test: land firmware host-test build scaffolding (Makefile, .gitignore, sanity) 2026-07-03 11:56:34 -04:00
test_csi_frame.c test: add firmware host tests for nvs/csi/serial_prov + wire gcc harness into CI 2026-07-03 13:21:26 -04:00
test_nvs_migration.c test: add firmware host tests for nvs/csi/serial_prov + wire gcc harness into CI 2026-07-03 13:21:26 -04:00
test_runner.c test(runner): document C11 7.13.2.1 setjmp clobber audit at call site (bf-31rd) 2026-07-04 04:29:59 -04:00
test_runner.h test: add firmware host harness header — TEST() macro + assert macros 2026-07-03 06:57:58 -04:00
test_sanity.c test: land firmware host-test build scaffolding (Makefile, .gitignore, sanity) 2026-07-03 11:56:34 -04:00
test_serial_prov.c test: add firmware host tests for nvs/csi/serial_prov + wire gcc harness into CI 2026-07-03 13:21:26 -04:00