Files
Deshab-OS/RE/test-cases/userapps-matrix.md
T
2026-07-28 21:11:10 +08:00

77 lines
3.7 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.
# 用户态程序功能矩阵
> 对应计划 Phase C4:FirstInit/login/desktop/shell/cmd + 5 个工具应用
## 状态: ⬜ PENDING
## 程序矩阵
| # | 程序 | ELF 路径 | 入口 | 关键命令/功能 | 验证点 | 状态 | Bug# |
|---|---|---|---|---|---|---|---|
| 1 | FirstInit | `system/user/use/FirstInit.elf` | 首启触发 | 计算机名/用户名/密码输入、空字段红字、网络配置 | SHA256 密码、user.conf 写入缓冲 | ⬜ | |
| 2 | login | `system/user/use/login.elf` | 次启触发 | 用户选择、密码输入、错误重试 | USER.CONF 解密、密码匹配 | ⬜ | |
| 3 | desktop | `system/deshab64/desktop.elf` | login 后 | 双击图标、窗口拖动、任务栏、内建 bash | 6 个工具启动、鼠标光标 | ⬜ | |
| 4 | shell | `system/deshab64/shell.elf` | desktop Terminal | ls/cat/cp/mv/rm/echo>/ping/curl/run/linux | dev_mode 自动测试全绿 | ⬜ | |
| 5 | cmd | `system/deshab64/cmd.elf` | desktop CMD | dir/type/copy/del + `pe <NAME.EXE>` | PE 兼容层调用 | ⬜ | |
| 6 | netman | `system/deshab64/network/netman.elf` | DSK 调度 | 读 conf.conf、应用网络配置 | DHCP/静态 IP | ⬜ | |
| 7 | mouseInit | `system/deshab64/mouse/mouseInit.elf` | DSK 调度 | 安全 stub | 不阻塞启动 | ⬜ | |
| 8 | editor | `system/deshab64/tools/editor.elf` | desktop 双击 | 文件打开/编辑/保存 | FAT32 写盘 | ⬜ | |
| 9 | fileman | `system/deshab64/tools/fileman.elf` | desktop 双击 | 浏览/打开/复制 | 目录遍历 | ⬜ | |
| 10 | browser | `system/deshab64/tools/browser.elf` | desktop 双击 | URL 输入/HTTP GET | net_stack 协议栈 | ⬜ | |
| 11 | curl | `system/deshab64/tools/curl.elf` | desktop 双击 | `curl http://...` | HTTP GET | ⬜ | |
| 12 | ping | `system/deshab64/tools/ping.elf` | desktop 双击 | `ping <ip>` | ICMP echo | ⬜ | |
## 启动链路
```
首启: utsm → DSK → mouseInit → netman → FirstInit → desktop
次启: utsm → DSK → login → desktop
dev_mode: utsm → DSK → shell(dev_tests) → Esc → login → desktop
desktop → 双击 Terminal → shell.elf
desktop → 双击 CMD → cmd.elf
shell → run FILEMAN.ELF → fileman.elf → Esc 返回 shell
shell → run BROWSER.ELF → browser.elf
shell → run EDITOR.ELF → editor.elf
shell → run PING.ELF → ping.elf
shell → run CURL.ELF → curl.elf
```
## 详细测试用例
### shell 命令测试
| 命令 | 参数 | 预期 | 状态 |
|---|---|---|---|
| `ls` | (无) | 列出根目录文件(DESHAB.ELF, SHELL.ELF 等) | ⬜ |
| `pwd` | (无) | `/` | ⬜ |
| `cat` | `README.TXT` | 显示文件内容 | ⬜ |
| `cp` | `a b` | 复制成功 | ⬜ |
| `mv` | `a b` | 移动成功 | ⬜ |
| `rm` | `a` | 删除成功 | ⬜ |
| `echo>` | `text > file` | 写入文件 | ⬜ |
| `ping` | `10.0.2.2` | 4/4 reply | ⬜ |
| `curl` | `http://10.0.2.2:8000/` | HTTP 200 + body | ⬜ |
| `run` | `PING.ELF` | 加载并执行 ping | ⬜ |
| `linux` | (无) | 显示兼容层状态 | ⬜ |
| `linux` | `ls` | 输出 initramfs 内容 | ⬜ |
| `help` | (无) | 显示命令列表 | ⬜ |
| `ver`/`version` | (无) | 显示版本 | ⬜ |
### desktop UI 测试
| 操作 | 预期 | 状态 |
|---|---|---|
| 双击 Terminal 图标 | 打开 shell 窗口 | ⬜ |
| 双击 CMD 图标 | 打开 cmd 窗口 | ⬜ |
| 双击 Editor 图标 | 打开 editor | ⬜ |
| 双击 File Manager 图标 | 打开 fileman | ⬜ |
| 双击 Browser 图标 | 打开 browser | ⬜ |
| 鼠标移动 | 光标跟随,无闪烁 | ⬜ |
| 窗口拖动 | 流畅,无撕裂 | ⬜ |
| 任务栏点击 | 窗口切换 | ⬜ |
## 已知问题
- fileman.elf 之前触发过 QEMU 退出(访问未支持 boot context 字段),需观察是否复现
- 真实 TTF 字体未运行时光栅化,使用预渲染位图(已知设计选择,非 bug)