4个版本 (破坏性更新)
新 0.3.0 | 2024年8月23日 |
---|---|
0.2.0 | 2024年8月21日 |
0.1.0 | 2024年7月8日 |
0.0.0-release | 2024年7月8日 |
#264 in 开发工具
116 每月下载量
73KB
1.5K SLoC
Pint编程语言
Pint是一种用于意图表达的声明式约束领域特定语言(DSL)。有关Pint语言的介绍,请参阅Pint之书。
依赖
Rust
Pint是用Rust构建的。要开始,请根据https://rust-lang.net.cn/tools/install上的说明安装Rust工具链。然后配置您的Rust工具链以使用Rust stable
rustup default stable
如果尚未完成,请将Cargo bin目录添加到您的PATH
中,通过在~/.profile
中添加以下行并重新启动shell会话。
export PATH="${HOME}/.cargo/bin:${PATH}"
构建
克隆仓库并构建Pint编译器和工具
git clone [email protected]:essential-contributions/pint.git
cd pint
cargo build
确认pint
已成功构建
cargo run --bin pint -- --help
测试
运行单元测试
单元测试可以使用在pint
目录中的cargo test
运行。然而,建议使用cargo-nextest
包来运行测试。要安装cargo-nextest
cargo install cargo-nextest
要使用cargo-nextest
运行所有单元测试
cargo nextest run
更新单元测试
大多数单元测试都是使用expect_test
crate辅助编写的。以下命令可以用于自动更新所有使用expect_test::expect!
宏的单元测试,以确保它们都通过。
env UPDATE_EXPECT=1 cargo nextest run
对于影响许多单元测试的编译器更改,上面的命令允许一次性更新所有受影响的测试。该命令还有助于编写新测试:只需通过传递空字符串参数给 expect!
宏(即 expect![""]
)并运行上面的命令来编写测试。
依赖
~12–22MB
~291K SLoC