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
+39
View File
@@ -0,0 +1,39 @@
# Test Case: Dot-Omitted OFF_MAX Cookie Rejection
**Test ID**: TC160-dot-omitted-offmax-cookie
**Category**: Directory Corruption
**Priority**: Critical
**Regression**: Synthetic dot at `i_size + 1` overflowed signed directory offsets
## Objective
Verify that a `dot_omitted` directory with `i_size == OFF_MAX` is rejected before
the synthetic dot entry can create an unrepresentable cookie or negative offset.
## Fixture
`dot-omitted-offmax.erofs` contains an extended directory inode with a valid
backing block, flat-plain layout, the dot-omitted format bit, and
`i_size=9223372036854775807`. The structured helper records every mutated field
and the image hash.
## Procedure
1. Mount the fixture and require `stat` on `/offmax-dir` to report `OFF_MAX`.
2. Run:
```sh
truss -o tc160.truss \
final_review_probe readdir-offmax /mnt/repo22-final/offmax-dir 97
```
3. The helper first calls `getdirentries` at `OFF_MAX`, then at offset 0. Require
`EINTEGRITY` both times and require the descriptor offset to remain exactly
`OFF_MAX` and 0 respectively.
4. Require both syscalls to show `ERR#97`, compare dmesg, and clean all resources.
## Expected Results
- No synthetic dot dirent or cookie is returned.
- Both reads fail with positive errno 97.
- No file offset becomes negative or advances after the error.