34 lines
1002 B
Markdown
34 lines
1002 B
Markdown
# Test Case: Directory with dot_omitted
|
|
|
|
**Test ID**: TC026-dot-omitted-with
|
|
|
|
## Objective
|
|
|
|
Verify a bit-4 directory omits only `.` on disk, retains explicit `..`, and
|
|
receives a synthetic `.` from FreeBSD readdir.
|
|
|
|
## Fixture
|
|
|
|
Use `images/compact-dot-omitted.erofs`. Structured evidence records bit 4,
|
|
on-disk names `..,child.txt`, 48-bit incompat selection with nonzero
|
|
`rootnid_8b`, `blocks_hi=0`, and valid CRC. Production fsck.erofs 1.8.6 cannot
|
|
qualify this newer format.
|
|
|
|
## Procedure
|
|
|
|
After mounting in FreeBSD:
|
|
|
|
```sh
|
|
stat -f 'ino=%i nlink=%l mode=%p' "$mnt/dotdir"
|
|
ls -lai "$mnt/dotdir"
|
|
(cd "$mnt/dotdir" && test "$(pwd)" = "$mnt/dotdir")
|
|
cmp /tmp/repo22-g1/source/compact/dotdir/child.txt "$mnt/dotdir/child.txt"
|
|
```
|
|
|
|
## Expected Results
|
|
|
|
- User-visible listing contains both `.` and `..`; `.` has the directory NID.
|
|
- Structured evidence, not the listing, proves `.` is absent on disk and bit 4
|
|
is set; `..` remains an on-disk entry.
|
|
- Child data, navigation, mount, and cleanup succeed.
|