test code v1
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# Test Case: Compact Inode Link-Count Rules
|
||||
|
||||
**Test ID**: TC025-nlink1-handling
|
||||
|
||||
## Objective
|
||||
|
||||
Compare explicit compact link counts, bit-4 single-link encoding, hard links,
|
||||
and directory link counts without conflating directory dot omission.
|
||||
|
||||
## Fixture
|
||||
|
||||
Use `images/compact.erofs` and `images/compact-nlink1.erofs`. Evidence asserts
|
||||
explicit `single.txt i_nb=1`, patched bit 4 plus `i_nb=0x1234`, identical
|
||||
hard-link NID with `i_nb=2`, and explicit directory nlink.
|
||||
|
||||
## Procedure
|
||||
|
||||
Mount each image separately and record:
|
||||
|
||||
```sh
|
||||
stat -f '%N ino=%i nlink=%l mode=%p' \
|
||||
"$mnt/single.txt" "$mnt/hard-a.txt" "$mnt/hard-b.txt" "$mnt/dotdir"
|
||||
cmp /tmp/repo22-g1/source/compact/single.txt "$mnt/single.txt"
|
||||
cmp /tmp/repo22-g1/source/compact/hard-a.txt "$mnt/hard-a.txt"
|
||||
cmp "$mnt/hard-a.txt" "$mnt/hard-b.txt"
|
||||
```
|
||||
|
||||
Unmount and detach before attaching the second image.
|
||||
|
||||
## Expected Results
|
||||
|
||||
- Baseline and patched `single.txt` both report nlink 1 for different valid
|
||||
encodings.
|
||||
- `hard-a.txt` and `hard-b.txt` share one inode and report nlink 2.
|
||||
- `dotdir` uses its explicit directory link count; all data compares pass.
|
||||
Reference in New Issue
Block a user