testsAndMisc/meta
Krzysztof kuhy Rudnicki d42d8ff20d
Some checks are pending
Pre-commit checks / pre-commit (push) Waiting to run
Shell tests / shell-tests (push) Waiting to run
Shell tests / arch-tests (push) Waiting to run
Shrink the shell-coverage allowlist 115 -> 106: cover scripts/lib
Gives linux_configuration/scripts/lib a real test suite, which takes all
nine of its libraries off meta/shell-coverage-allowlist.txt at once —
coverage is per-directory, so this is the highest-ratio first batch.

139 assertions across four suites, all offline: the mtk toolkit is driven
through its existing MTK_ROOT_FIXTURE seam, and adb is shimmed onto a
narrowed PATH. Nothing reads the wall clock, this host's udev rules, or a
real device, because the suite runs in shell-tests.yml and again on every
pre-push via ci-mirror — a host-dependent assertion would be a flake that
blocks unrelated pushes.

The gate only checks that tests/run_all.sh EXISTS, so an empty one would
mark all nine libraries covered while testing nothing. Each of the four
load-bearing rules was therefore mutation-tested and the suite required to
go red: classify_device's && -> ||, discover_partitions' init_boot/boot
ordering, mtk_select_device's refusal to guess between two phones, and
is_hour_in_range's 10#$ octal guard.

That last one initially SURVIVED. Dropping 10#$ makes bash abort with
"value too great for base", a non-zero exit indistinguishable from an
honest out-of-range result, so the status-only assertion passed either
way. It now asserts stderr is empty.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-21 23:52:09 +02:00
..
lib Split lint_python.sh: output helpers and the full-mode linters 2026-08-16 23:08:02 +02:00
scripts Shell ratchet: fix tests/lib misread, enforce shrink-only, correct docs 2026-08-21 17:09:20 +02:00
.fvmrc chore: consolidate root configs into meta/, drop unused C dir + split/pdfCentered/geo_data 2026-05-14 20:40:12 +02:00
.pre-commit-config.yaml Split modules, fix tests, fix pre-commit batching 2026-05-22 22:48:28 +02:00
lint_python.sh Resolve the symlink in lint_python.sh's SCRIPT_DIR 2026-08-16 23:13:07 +02:00
pyproject.toml Split code_tutor cli and verifier, deleting two lint suppressions 2026-08-16 17:57:38 +02:00
requirements.txt Add android_ui: drive Android apps by element, never by coordinates 2026-08-10 17:01:28 +02:00
run.sh Fail the build on any shellcheck finding; fix the 222 the old gate hid 2026-08-03 19:49:11 +02:00
shell-coverage-allowlist.txt Shrink the shell-coverage allowlist 115 -> 106: cover scripts/lib 2026-08-21 23:52:09 +02:00