我sometimes see Rust crate有一个名为systest
的文件夹。我想这个名字代表“系统测试”,但我找不到任何关于此的文档。
我的问题是:
systest
的目的是什么?只测试一个crate编译得很好,或者测试另一个crate中的某些代码运行正常吗?systest
时应遵循哪些规则?它只是一个名为systest
lib.rs
中的systest/src
似乎始终包含all.rs
生成的文件build.rs
?答案 0 :(得分:6)
systest
不是Rust或Cargo中使用的标准名称。但是,它是ctest文档建议的名称,它执行FFI绑定的自动测试。 build.rs使用ctest
生成包含测试的all.rs文件,这包含在主文件中。
根据文档,测试生成包括确保所有函数签名,常量值,结构布局/对齐,类型大小/对齐等都与其C等效项匹配。