Files
erofs-freebsd-out-tree/tests/results/manual/2026-08-08T1037Z/manual-test-report.md
T
2026-08-13 10:44:59 +02:00

6.4 KiB
Raw Blame History

repo22 手工测试执行记录

  • 执行时间:2026-08-08 10:36-10:38 UTC
  • 工作区:/work
  • 仓库:/work/repo-community/repo22
  • 执行方式:严格按 Markdown 用例进行前置条件检查;未生成 wrapper 或 CI;未修改代码;未 commit/push
  • 总结:TC001、TC002、TC007、TC008、TC009、TC010 均为 BLOCKED。没有用例进入 FreeBSD 客体内的正式测试步骤,因此没有伪造 PASS/FAIL。

环境版本

实际命令:

date -u '+%Y-%m-%dT%H:%M:%SZ'
uname -a
cat /etc/os-release

实际输出:

2026-08-08T10:37:36Z
Linux da8f2da26d77 6.12.74+deb13+1-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.74-2 (2026-03-08) x86_64 GNU/Linux
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
VERSION_ID="13"
DEBIAN_VERSION_FULL=13.5

结论:当前 shell 位于 Linux 容器,不是 FreeBSDkldloadkldstatmdconfig 等用例命令不能在此环境代替执行。

FreeBSD VM 可访问性

实际命令:

timeout 3 bash -c '</dev/tcp/127.0.0.1/9222'
ssh -vv -o BatchMode=yes -o StrictHostKeyChecking=no \
  -o UserKnownHostsFile=/dev/null -o ConnectTimeout=3 \
  -p 9222 [email protected] 'uname -a'
ps auxww | grep -E '[q]emu|[b]hyve|[v]mrun|[s]sh.*9222'
tmux ls
screen -ls

实际输出摘要:

/dev/tcp/127.0.0.1/9222: Connection refused
CLOSED
ssh: connect to host 127.0.0.1 port 9222: Connection refused
未发现 qemu/bhyve/vmrun 进程
tmux: command not found
screen: command not found

PID 文件检查:

cat /work/debug-qemu/local/vm/freebsd-build-runtime.pid
ps -p 5274 -o pid,stat,lstart,args
cat /work/debug-qemu/local/vm/qemu.pid
ps -p 23736 -o pid,stat,lstart,args

实际输出:PID 文件分别记录 527423736,但 ps 对两者都没有返回进程;均为残留 PID 文件。

QEMU 与磁盘基线

实际命令:

command -v qemu-system-x86_64
dpkg-query -W -f='${Status} ${Version}\n' qemu-system-x86 qemu-system-x86_64
find /work -type f -name qemu-system-x86_64 -perm /111 -print
ls -lh --full-time \
  /work/debug-qemu/local/vm-freebsd-build.qcow2.bp \
  /work/debug-qemu/local/vm/freebsd-build-runtime.qcow2

实际输出:

command -v: 无输出
dpkg-query: no packages found matching qemu-system-x86
dpkg-query: no packages found matching qemu-system-x86_64
find: 未找到工作区内可执行的 qemu-system-x86_64
-r--r--r-- ... 13G ... /work/debug-qemu/local/vm-freebsd-build.qcow2.bp
-r--r--r-- ... 15G ... /work/debug-qemu/local/vm/freebsd-build-runtime.qcow2

结论:现成 FreeBSD 磁盘基线存在,但宿主机没有 QEMU 可执行文件,无法启动 /work/debug-qemu/run-freebsd-build-vm.sh

erofs.ko 盘点

实际命令:

find /work -type f \( -name erofs.ko -o -name '*erofs*.ko' \) -printf '%s %p\n' | sort
ls -l /work/repo-community/repo22/build/erofs.ko
sha256sum /work/debug-qemu/local/erofs.ko /work/build/erofs.ko

实际输出摘要:

22784 /work/build/dev-src-check/erofs-kmod-obj/erofs.ko
23088 /work/build/dev-src-recheck-obj/erofs-dev-src.ko
30480 /work/build/repo11-kmod-obj/erofs.ko
30480 /work/build/repo12-erofs.ko
30480 /work/build/repo12-kmod-obj/erofs.ko
33800 /work/build/erofs-kmod-obj/erofs.ko
33800 /work/build/erofs.ko
37056 /work/debug-qemu/local/erofs.ko
ls: cannot access '/work/repo-community/repo22/build/erofs.ko': No such file or directory
246a1ab6cc4e77d88b8ee689339e6565085cd0913f769c91ad1a1ef13d3a3cd9  /work/debug-qemu/local/erofs.ko
1fb12045c1fce653cb9f2e75dc76ae3339db6b84def06b92d828357726215f8b  /work/build/erofs.ko

结论:存在其他历史构建模块,但没有 repo22 的预期产物 repo22/build/erofs.ko,不能把来源不明或旧仓库模块当作 repo22 测试对象。

测试镜像盘点

实际命令:

for n in test.erofs test-valid.erofs test-bad-crc.erofs \
  test-bad-magic.erofs test-truncated.erofs test-empty.erofs \
  test-large.erofs; do
  find /work -type f -name "$n"
done

实际输出:七个指定名称均为 0 个文件。

发现的非指定通用 fixture 包括:

24576 /work/debug-qemu/local/erofs-fixtures/erofs-test.img
36864 /work/debug-qemu/local/erofs-fixtures/erofs-plain.img

它们不满足 TC009 声明的 10MB/2560 blocks 镜像,也没有证据满足 TC001/TC007 的 testfile.txt、TC002 的有效 CRC/损坏 CRC 配对或 TC010 的 48-bit block count,因此未擅自替代。

用例结果

TC001-mount-basic — BLOCKED

  • 未执行 kldload erofs:当前没有可访问的 FreeBSD 客体。
  • 未执行后续 mount/umount:缺少已加载 repo22 erofs.ko 的 FreeBSD 环境,且缺少 test.erofs 与已附加的 /dev/md0
  • PASS/FAIL:不适用;状态为 BLOCKED。

TC002-superblock-crc32c — BLOCKED

  • TC001 前置环境未满足。
  • 缺少 test-valid.erofstest-bad-crc.erofs,不能执行有效 CRC 与损坏 CRC 两部分。
  • PASS/FAIL:不适用;状态为 BLOCKED。

TC007-concurrent-mount — BLOCKED

  • TC001 前置环境未满足。
  • 缺少 test.erofs;现有 fixture 未证明包含 /testfile.txt,不能按步骤比较两个挂载点的 SHA-256。
  • PASS/FAIL:不适用;状态为 BLOCKED。

TC008-mount-errors — BLOCKED

  • TC001 前置环境未满足。
  • 缺少 test-bad-magic.erofstest-truncated.erofstest-empty.erofs,三个错误分支均无法执行。
  • PASS/FAIL:不适用;状态为 BLOCKED。

TC009-statfs-basic — BLOCKED

  • TC001 前置环境未满足。
  • 缺少用例声明的 10MB、2560 blocks test.erofs,不能验证 df/statfs 数值。
  • PASS/FAIL:不适用;状态为 BLOCKED。

TC010-statfs-48bit — BLOCKED

  • TC001 前置环境未满足。
  • 缺少带 48-bit block count、块数大于 2^32test-large.erofs
  • PASS/FAIL:不适用;状态为 BLOCKED。

精确解阻条件

  1. 提供可访问的 FreeBSD 13.0+ VM;最直接方式是恢复 127.0.0.1:9222 SSH,或在宿主机安装可用的 qemu-system-x86_64 后启动现有基线。
  2. 提供由当前 repo22 源码构建、与客体 FreeBSD ABI 匹配的 erofs.ko
  3. 提供并确认以下镜像及内容/元数据:test.erofstest-valid.erofstest-bad-crc.erofstest-bad-magic.erofstest-truncated.erofstest-empty.erofstest-large.erofs
  4. TC001/TC007 的基本镜像需包含 /testfile.txtTC009 的镜像需为约 10MB、2560 blocksTC010 的镜像需具有可验证的 48-bit block count。