Skip to content

rcore-os/tg-rcore-tutorial-checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tg-rcore-tutorial-checker

rCore-Tutorial 测试输出检测工具。

设计目标

  • 将章节运行输出自动化比对,减少人工逐行核对成本。
  • 为教学实验提供统一、可复现的通过/失败判断标准。
  • 支持基础题与 exercise 模式的分离校验。

总体架构

  • src/checker.rs:核心匹配逻辑(期望/非期望模式校验)。
  • src/cases/:按章节组织测试规则(tg-rcore-tutorial-ch2tg-rcore-tutorial-ch8)。
  • src/main.rs:CLI 参数解析与结果输出。

主要特征

  • 支持基础模式与 exercise 模式。
  • 支持列出可用测试集。
  • 输出包含失败项细节,便于快速定位问题。
  • 以正则规则驱动测试匹配。

功能实现要点

  • 先选择章节测试用例,再对运行输出做规则匹配。
  • 同时处理“必须出现”和“禁止出现”两类规则。
  • 提供详细失败信息,便于对照章节实验手册修复。

对外接口

  • 命令行:
    • --ch <N>:章节号(2-8)
    • --exercise:exercise 测试
    • --list:列出可用测试
  • 作为库(可选):
    • check(output, test_case)
    • print_result(result, verbose)
    • cases::get_test_case(...)

使用示例

安装:

cargo install tg-rcore-tutorial-checker

基础测试(ch2-ch8):

cargo run 2>&1 | tg-rcore-tutorial-checker --ch 2

Exercise 测试(ch3/ch4/ch5/ch6/ch8):

cargo run --features exercise 2>&1 | tg-rcore-tutorial-checker --ch 3 --exercise

与 ch1~ch8 的关系

  • 直接依赖章节:无(不是章节内核的 Cargo 运行依赖)。
  • 关键职责:作为测试链路工具校验 tg-rcore-tutorial-ch2~tg-rcore-tutorial-ch8 的运行输出。
  • 关键引用文件:
    • tg-rcore-tutorial-ch2/test.sh
    • tg-rcore-tutorial-ch3/test.sh
    • tg-rcore-tutorial-ch8/test.sh
    • tg-rcore-tutorial-checker/src/cases/ch2.rstg-rcore-tutorial-checker/src/cases/ch8.rs

License

MIT OR Apache-2.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors