test code v1
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# Test Case: VFS Vget Normal Operation
|
||||
|
||||
**Test ID**: TC012-vget-normal
|
||||
|
||||
## Objective
|
||||
|
||||
Exercise `VFS_VGET` through a real FreeBSD file handle and verify the returned
|
||||
vnode identifies and reads the same EROFS inode as pathname lookup.
|
||||
|
||||
## Fixture
|
||||
|
||||
Use `images/compact.erofs`, `source/compact/testfile.txt`, and
|
||||
`tests/nfs_fh_tool.c`. Compile the helper as described in
|
||||
`tests/G1-MANUAL-SETUP.md`; run as root.
|
||||
|
||||
## Procedure
|
||||
|
||||
After mounting on `$mnt`:
|
||||
|
||||
```sh
|
||||
stat -f 'path_ino=%i gen=%v size=%z' "$mnt/testfile.txt"
|
||||
./nfs_fh_tool capture "$mnt/testfile.txt" /tmp/tc012-a.fh
|
||||
./nfs_fh_tool capture "$mnt/testfile.txt" /tmp/tc012-b.fh
|
||||
./nfs_fh_tool compare /tmp/tc012-a.fh /tmp/tc012-b.fh
|
||||
./nfs_fh_tool describe /tmp/tc012-a.fh
|
||||
./nfs_fh_tool stat /tmp/tc012-a.fh
|
||||
./nfs_fh_tool cat /tmp/tc012-a.fh /tmp/tc012-fh.out
|
||||
cmp /tmp/repo22-g1/source/compact/testfile.txt /tmp/tc012-fh.out
|
||||
sha256 /tmp/repo22-g1/source/compact/testfile.txt /tmp/tc012-fh.out
|
||||
```
|
||||
|
||||
Remove the handles/output, then unmount and detach.
|
||||
|
||||
## Expected Results
|
||||
|
||||
- Both captures produce the same handle.
|
||||
- Handle NID, `fhstat` inode, and pathname inode agree.
|
||||
- `fhopen` output matches the deterministic source exactly.
|
||||
- No stale/duplicate vnode error or cleanup failure occurs.
|
||||
Reference in New Issue
Block a user