Captain Bob, 2026-11-12: "Build an appropriate test harness! Love the idea." The kernel had no tests below the boots, so defects QEMU cannot provoke could not be tested first. Plan: docs/v4.0.0/plans/2026-11-12-kernel-host-tests.md. kernel/tests/: one host program per kernel source, built with that source as it is, the kernel's flags (-std=c99 -Wall -Wextra -Werror), and fakes -- the console captured line by line, a deterministic RNG that can fail, and a RAM disk whose reads, writes or flushes fail at chosen 1 KiB blocks. make -C kernel/tests test runs them; SRC_<test>= runs a test against other code, which is how a test is seen to fail against the code before a fix. test_gpt.c, 12 checks: a table written and read back; 16, 17 and 18 used entries against max 16 and an entry out of range after the 16th (#180); the RNG, the first write, a later write and a flush failing (#168). Against gpt.c before #168 and #180: 4 failures, each defect caught. Now: 0. Both runs in logs/.../kernel-tests/. Not yet a protocol stage: to rule (the plan, step 5). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017RzZgrf7V7Zk2iczBXDRbm
13 lines
795 BLFS
Plaintext
13 lines
795 BLFS
Plaintext
=== test_gpt against gpt.c before #168 and #180 (54311be1~1)
|
|
test_gpt
|
|
FAIL /home/user/LithosAnanke/kernel/tests/test_gpt.c:80: #180: 18 used entries, ours the 17th and 18th, max 16: GPT_MANY, not cut to 16 as if they were all (rc 0, n 16)
|
|
FAIL /home/user/LithosAnanke/kernel/tests/test_gpt.c:83: #180: the 17th entry out of range, max 16: GPT_BAD -- it is checked (rc 0)
|
|
FAIL /home/user/LithosAnanke/kernel/tests/test_gpt.c:110: #168: a later write fails: GPT_PART, the disk changed (rc 3, 34 writes)
|
|
FAIL /home/user/LithosAnanke/kernel/tests/test_gpt.c:116: #168: the first write made, its flush failing: GPT_PART (rc 3, 1 writes)
|
|
12 checks, 4 failures
|
|
make: *** [Makefile:36: run-test_gpt] Error 1
|
|
=== test_gpt against gpt.c now
|
|
test_gpt
|
|
12 checks, 0 failures
|
|
all kernel host tests passed
|