gbc:Rust 编写的 Gameboy 编译器
gbc 是一个基于 Rust 的 Gameboy z80 汇编代码编译器。
主要目标:
- 无需额外的外部程序来构建ROM
- 友好的错误信息
- 高测试覆盖率
- 好用的语法糖
ReadMore: https://gitlab.com/BonsaiDen/gbc-rs
expect-test 编写测试的有力助手
expect_test
是对普通 assert_eq!
测试方法的小改进,它可以自动更新测试结果。
这个库的核心是 expect!
宏。
让我们来看一个例子:
代码语言:javascript复制use expect_test::expect;
let actual = 2 2;
let expected = expect!["5"]; // or expect![["5"]]
expected.assert_eq(&actual.to_string())
运行此代码将产生一个测试失败,因为 "5" 确实不等于 "4" 。然而,使用 UPDATE_EXPECT=1
环境变量运行测试会神奇地更新代码为:
let actual = 2 2;
let expected = expect!["4"];
expected.assert_eq(&actual.to_string())
这在你有很多测试并且输出冗长时非常有用。
ReadMore: https://docs.rs/expect-test/latest/expect_test/
2023 年 10 月 Rust OSDev 月报
ReadMore: https://rust-osdev.com/this-month/2023-10/
From 日报小组 Koalr
社区学习交流平台订阅:
- Rustcc论坛: 支持rss
- 微信公众号:Rust语言中文社区