1 unstable release
0.8.0 | Jul 27, 2024 |
---|
#545 in Programming languages
38 downloads per month
Used in bulloak
250KB
5.5K
SLoC
bulloak-foundry
bulloak-foundry
is a Rust crate that serves as a backend for generating Foundry tests from bulloak-syntax
Abstract Syntax Trees (ASTs). It provides functionality to scaffold Solidity test files and check existing tests against specifications.
Features
- Generate
.t.sol
files with scaffolded Foundry tests frombulloak-syntax
ASTs. - Check existing Solidity test files against
.tree
specifications. - Implement and enforce custom rules for test structure and content.
- Automatic fixing of certain rule violations.
Usage
To use bulloak-foundry in your project, add it to your Cargo.toml
:
[dependencies]
bulloak-foundry = "0.1.0" # Replace with the actual version
Scaffolding Tests
use bulloak_foundry::scaffold;
fn main() -> anyhow::Result<()> {
let tree_spec = "Your .tree specification here";
let foundry_test = scaffold::scaffold(tree_spec)?;
// Write foundry_test to a .t.sol file
Ok(())
}
Violation Checking
bulloak-foundry
includes a system for defining and checking rules against Solidity test files. Violations can be of different kinds, as defined in the ViolationKind
enum.
License
This project is licensed under either of:
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0).
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT).
Dependencies
~27–45MB
~741K SLoC