Files
erofs-freebsd-out-tree/tests/TC041-dirent-decode-normal.md
T
2026-08-18 09:20:44 +02:00

1.0 KiB

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.