bulloak-foundry 0.8.0

A Solidity test generator based on the Branching Tree Technique.
docs.rs failed to build bulloak-foundry-0.8.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

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 from bulloak-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: