test code v1

This commit is contained in:
2026-08-13 10:44:59 +02:00
commit f3b1165f19
301 changed files with 37885 additions and 0 deletions
+191
View File
@@ -0,0 +1,191 @@
# Pre9 LZMA Diagnostic Implementation Baseline
## Baseline Meaning
The Pre9 planning phase ended when the planning documents were committed at
`d1ee2e05b82b5e8a8927861f1e981710532f2f23`. This file starts the
implementation phase and records identities only. It does not claim that the
TC004 root cause is known, that Pre8 introduced the observed timeout, or that
any source or test-harness fix has been selected or implemented.
All values below were read from Git objects or the named evidence files on
2026-08-13 UTC. Historical Pre8 evidence is context for controlled Pre9
diagnosis, not a Pre9 test result.
## Main Repository Identity
Repository: `/work/erofs-freebsd-pre`
```text
branch: main
execution-start commit: d1ee2e05b82b5e8a8927861f1e981710532f2f23
execution-start tree: 95a55ff912d007ca40bd578057e8a4cc6a21bbd9
xdm/main: d1ee2e05b82b5e8a8927861f1e981710532f2f23
remote xdm main: d1ee2e05b82b5e8a8927861f1e981710532f2f23
initial dirty entries: 0
```
Snapshot identities at the execution-start commit:
```text
snapshot subtree src tree
repo-pre-7 b8f9af2cd55225c4348b79ff5910ae6fc83cd517 dc203534d7b5721905f8538026e4c59346106020
repo-pre-8 1e24c992a5b071e6fdabfdc42d342b6ed5a91cf5 cbf93a19df8d1ce2fb66e2aeb7276a4ea6d4dcc2
repo-pre-9 1e24c992a5b071e6fdabfdc42d342b6ed5a91cf5 cbf93a19df8d1ce2fb66e2aeb7276a4ea6d4dcc2
```
The equal Pre8 and Pre9 object identities establish that Pre9 starts as an
exact tracked snapshot of Pre8. Pre7 is intentionally different and remains
the earlier controlled comparison point.
## Conditional Source Allowlist Identity
The primary conditional allowlist is `zdata.c`, `decompressor_lzma.c`, and
`internal.h`. The remaining three files require the additional decision gates
defined by the plan. Their baseline modes and blobs are:
```text
gate mode blob path
primary 100644 54c1c88e5c368e7b5f6a16188c48406767850821 repo-pre-9/src/zdata.c
primary 100644 688acd704e28daa46369fa2e63e895bce5262774 repo-pre-9/src/decompressor_lzma.c
primary 100644 9821fe3a8b5fcaaeb3939d191f15e9ce637cc8d1 repo-pre-9/src/internal.h
extra 100644 ca5d33cd42145159d71e153f115128ac75258708 repo-pre-9/src/inode.c
extra 100644 b233f138d036a2b37394946b382034955dc2a1df repo-pre-9/src/erofs_vnops.c
extra 100644 51170741a0fb5eced814db898c1a233e8a23088a repo-pre-9/src/zmap.c
```
This identity table authorizes no source change by itself. Source edits remain
conditional on controlled evidence and the applicable decision gate.
## tests-dev and Base Image Identity
The external test repository was inspected without modification:
```text
repository: /work/tests-dev
branch: main
current commit: 374b8e3ab4b0df24d6761802b70c694e2896d5fd
current tree: c438e72ebe94a6f10801999bfbdd36b43134d471
xdm/main: 374b8e3ab4b0df24d6761802b70c694e2896d5fd
initial dirty entries: 27 untracked paths
dirty inventory SHA256: bca9ca20e85698d04dad820a11bd0bbb117492c967d6fd338e7acf61bb8fa957
```
The pre-existing tests-dev dirty inventory was:
```text
demo-result/FINAL-REPORT.md
demo-result/audit-checklist.md
demo-result/audit-findings.md
demo-result/current-status.md
demo-result/fix-plan.md
demo-result/fix-verification-report.json
demo-result/progress-report.md
demo-result/repo-pre-6-smoke-20260812/
demo-result/repo22-full-20260811T065312Z/
demo-result/repo22-full-20260811T071634Z/
demo-result/repo22-full-20260811T073716Z/
demo-result/repo22-full-20260811T082907Z/
demo-result/repo22-full-20260811T095621Z/
demo-result/test-execution-summary.md
erofsstress/demo-result/repo-pre-3-smoke-20260812/
erofsstress/demo-result/repo-pre-6-smoke-20260812/
guest/setup-build-env.sh
lfs/FreeBSD-15.0-RELEASE-src.txz
scripts/check-kernel-src.sh
scripts/complete-setup-and-test.py
scripts/install-kernel-sources.py
scripts/manual-fix.sh
scripts/quick-install-src.py
scripts/run-final-test.sh
scripts/setup-build-env-simple.py
scripts/setup-build-env.py
scripts/simple-install-kernel-src.sh
```
These paths are not owned by this baseline step and must not be staged,
modified, or removed as part of it.
Immutable base image identity:
```text
path: /work/tests-dev/lfs/freebsd-15-dev-src-20260811.bp
format: QEMU QCOW2 Image (v3)
mode: 0444
size: 16,515,530,752 bytes
SHA256: 67f359621f23a1d745f0889370cbb99a096cee3e99a0b2f3bb18fc7a91bf6fef
```
The base image is an input only. It must not be modified during Pre9 testing.
## Historical TC004 Evidence Identity
The prior observation is preserved by tests-dev evidence commit
`46e6840f1b8918414af76c9a5731322c697eee8b`, tree
`7178de49f3f429796d6de71a910d71bfccd5745a`, with subject
`evidence: record repo-pre-8 required smoke`.
```text
run ID: pre8-required-20260812T194817Z
case: TC004 - LZMA Compressed File Read
historical DUT commit: d1f5b686e8945d06b6e8c0a0188b2262de0b4ac2
historical DUT src tree: cbf93a19df8d1ce2fb66e2aeb7276a4ea6d4dcc2
DUT archive SHA256: bbcfd8a6a28faba3f7c5c7e827bde5578774be6e08b83d05485d58ee16a7fb6f
module SHA256: 348cb1f5a91d47e1412747d285c795c49375a61a66cfb3d35d22f38ecfde6ea0
fixture image: G5/images/lzma-level6.erofs
fixture image SHA256: 32107a084b27362a093768b88746c37c2e99a74b9f1301a9d4046988479defe9
source file: G5/sources/levels/level.dat
source file SHA256: ddda39737f0f6093e828a032ec161511fefbb1fa361bc6cbffdbc91e48e4c461
deployment manifest: c9540baafb53b3783233c3950f4d8548c28585cd32335dadc14db613692a8978
fixture checksum hash: d08138b1bd51579cbf5461a73abce9d7fddc9cdb8ace1329c9f1581d41e1095f
TC004 evidence SHA256: de6982a11fa368fbaad7d837586daa899789cd4cd8b9f698974a3ef4e251811f
```
Evidence paths:
```text
/work/tests-dev/demo-result/repo-pre-8-smoke-20260812/pre8-required-20260812T194817Z/summary.json
/work/tests-dev/demo-result/repo-pre-8-smoke-20260812/pre8-required-20260812T194817Z/evidence/TC004/TC004_evidence.json
/work/tests-dev/demo-result/repo-pre-8-smoke-20260812/summary.md
/work/erofs-freebsd-pre/issues/pre8-lzma-read-timeout.md
```
The historical automation verdict was `ERROR` and the audited DUT verdict was
`FAIL`: mount and lookup succeeded, but hashing the mounted 8 MiB `level.dat`
did not finish within 30 seconds. PID 95693 remained active, and the mount and
`md0` stayed busy until the disposable VM was destroyed. Attribution remains
`UNKNOWN`. These facts neither prove a Pre8 regression nor select a Pre9 fix.
## Initial Implementation Status
| Item | Status |
|---|---|
| Pre9 planning | COMPLETE |
| Pre9 implementation baseline | RECORDED |
| tests-dev TC004 prerequisite corrections | NOT RUN |
| tests-dev remaining full-suite prerequisites | NOT RUN |
| Controlled Pre7 reproduction | NOT RUN |
| Controlled Pre8 reproduction | NOT RUN |
| Controlled unchanged Pre9 reproduction | NOT RUN |
| Manual SSH diagnosis | NOT RUN |
| Hypothesis decision gates | NOT RUN |
| Source decision | NOT RUN |
| Optional diagnostic instrumentation | NOT RUN |
| Pre9 source implementation | NOT RUN |
| Source static review | NOT RUN |
| Source direct-parent revert gate | NOT RUN |
| Source final-HEAD inverse gate | NOT RUN |
| `WITH_ZSTDIO=0` build | NOT RUN |
| `WITH_ZSTDIO=1` build | NOT RUN |
| TC004 | NOT RUN |
| Extended LZMA matrix | NOT RUN |
| Plain/LZ4 smoke | NOT RUN |
| Full regression | NOT RUN |
| QEMU cleanup and zero-residual-state checks | NOT RUN |
| Pre9 completion and evidence-honesty review | NOT RUN |
| Pre9 overall | NOT RUN |
No diagnostic command, tests-dev prerequisite, controlled comparison, source
change, build, QEMU run, or manual SSH investigation has been performed for
Pre9 at this baseline. Fresh evidence is required before any status above can
advance or any root-cause or repair claim can be made.