test code v1
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# Test Case: Compact Inode I_NLINK_1
|
||||
|
||||
**Test ID**: TC021-compact-inode-nlink1
|
||||
|
||||
## Objective
|
||||
|
||||
Verify bit 4 on a non-directory compact inode forces `st_nlink=1` while the
|
||||
`i_nb` union remains available for address high bits.
|
||||
|
||||
## Fixture
|
||||
|
||||
Use `images/compact-nlink1.erofs` and `source/compact/single.txt`.
|
||||
`fixture-evidence.txt` asserts a 32-byte regular inode, bit 4 set,
|
||||
`i_nb=0x1234`, and valid recomputed CRC32C.
|
||||
|
||||
## Procedure
|
||||
|
||||
```sh
|
||||
stat -f 'ino=%i nlink=%l size=%z mode=%p' "$mnt/single.txt"
|
||||
cmp /tmp/repo22-g1/source/compact/single.txt "$mnt/single.txt"
|
||||
sha256 /tmp/repo22-g1/source/compact/single.txt "$mnt/single.txt"
|
||||
```
|
||||
|
||||
## Expected Results
|
||||
|
||||
- `st_nlink=1` despite on-disk `i_nb=0x1234`.
|
||||
- Inline file data remains source-exact; mount and cleanup succeed.
|
||||
- An `i_nb` value of zero is not used as a substitute for the bit-4 encoding.
|
||||
Reference in New Issue
Block a user