30 lines
1.0 KiB
Markdown
30 lines
1.0 KiB
Markdown
# Test Case: Directory Entry Decoding - Normal
|
|
|
|
**Test ID**: TC041-dirent-decode-normal
|
|
**Category**: Directory Operations
|
|
**Priority**: High
|
|
|
|
## Objective
|
|
|
|
Decode every entry type and the 255-byte filename from the deterministic VFS
|
|
fixture through FreeBSD getdirentries(2), not inferred ls formatting.
|
|
|
|
## Procedure
|
|
|
|
Mount vfs/vfs-plain.erofs using G3-MANUAL-SETUP.md, then run:
|
|
|
|
./readdir_probe /tmp/repo22-g3/mnt/testdir 512
|
|
find /tmp/repo22-g3/mnt/testdir -maxdepth 1 -print |
|
|
sed 's#.*/##' | sort > actual-testdir.txt
|
|
cmp fixtures/vfs/expected-testdir.txt actual-testdir.txt
|
|
name=$(find /tmp/repo22-g3/mnt/testdir -maxdepth 1 -type f \
|
|
-name 'long-*')
|
|
test "$(basename "$name" | tr -d '\n' | wc -c)" -eq 255
|
|
|
|
## Expected Results
|
|
|
|
The probe reports 36 unique entries, correct DT_DIR/DT_REG/DT_LNK counts,
|
|
strictly increasing restartable cookies, and one deterministic name/type hash.
|
|
The 34 real names match the manifest exactly and the longest name is 255 bytes.
|
|
Record probe output, manifest/image hashes, and mount/md cleanup.
|