Files
erofs-freebsd-out-tree/tests/results/manual/2026-08-08T1037Z/manual-test-report.md
T
2026-08-18 09:20:44 +02:00

189 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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。
## 环境版本
实际命令:
```sh
date -u '+%Y-%m-%dT%H:%M:%SZ'
uname -a
cat /etc/os-release
```
实际输出:
```text
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 容器,不是 FreeBSD`kldload``kldstat``mdconfig` 等用例命令不能在此环境代替执行。
## FreeBSD VM 可访问性
实际命令:
```sh
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
```
实际输出摘要:
```text
/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 文件检查:
```sh
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 文件分别记录 `5274``23736`,但 `ps` 对两者都没有返回进程;均为残留 PID 文件。
## QEMU 与磁盘基线
实际命令:
```sh
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
```
实际输出:
```text
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 盘点
实际命令:
```sh
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
```
实际输出摘要:
```text
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 测试对象。
## 测试镜像盘点
实际命令:
```sh
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 包括:
```text
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.erofs``test-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.erofs``test-truncated.erofs``test-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^32``test-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.erofs``test-valid.erofs``test-bad-crc.erofs``test-bad-magic.erofs``test-truncated.erofs``test-empty.erofs``test-large.erofs`
4. TC001/TC007 的基本镜像需包含 `/testfile.txt`TC009 的镜像需为约 10MB、2560 blocksTC010 的镜像需具有可验证的 48-bit block count。