216 Repositories
Rust testing-proc-macros Libraries
Helper macros: autoimpl, impl_scope
Impl-tools A set of helper macros Macros Autoimpl #[autoimpl] is a variant of #[derive], supporting: explicit generic parameter bounds ignored fields
Rust library to scan files and expand multi-file crates source code as a single tree
syn-file-expand This library allows you to load full source code of multi-file crates into a single syn::File. Features: Based on syn crate. Handling
Chaos Cat brings destruction and suffering to your software
Chaos Cat brings destruction and suffering to your software. When Chaos Cat is loaded it will randomly make predefined syscalls fail. This tests your software for the the things you might have forgotten to check because operating systems usually Just Work™ and syscalls usually never fail.
Dangerously fast dns/network/port scanner, all-in-one
Skanuvaty Dangerously fast dns/network/port scanner, all-in-one. Start with a domain, and we'll find everything about it. Features: Finds subdomains f
A simple program for C program IO testing. Written in Rust
A simple program for C program IO testing. Written in Rust, using concurrency to speed up valgrind testing. Make sure to update settings at your first run of the program!
insta: a snapshot testing library for Rust
insta: a snapshot testing library for Rust Introduction Snapshots tests (also sometimes called approval tests) are tests that assert values against a
Noir Pay - Fork of the Light Protocol Program for local testing / optimisation.
Noir Pay v0 Built on Light Protocol Noir Pay will be directly built ontop of the Light Protocol SDK and provide users with a beautifully simple privat
Nextest is a next-generation test runner for Rust.
nextest Nextest is a next-generation test runner for Rust. For more, check out the website. This repository contains the source code for: cargo-nextes
Example of using nom parsers from a proc macro
Example of using nom parsers from a proc macro This project is organised as 3 crates: nom_macro is the main project, exposing the proc macro and the g
hb is an endpoint focused HTTP load testing / benchmark tool.
hb hb is an endpoint focused HTTP load testing / benchmark tool. Description The goal of hb is to provide a simple, robust tool to apply load against
Testing interactions with other NFT projects locally is difficult
Terra NFT Stub contract Testing interactions with other NFT projects locally is difficult. Terra NFT Stub makes things a bit easier by providing a con
A series of utility macros for outputting testing results.
test-results A series of utility macros for outputting testing results. Getting Started Simply add the test-results crate to your project's Cargo.toml
xh is a friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance.
xh is a friendly and fast tool for sending HTTP requests. It reimplements as much as possible of HTTPie's excellent design, with a focus on improved performance
A Rust proc-macro crate which derives functions to compile and parse back enums and structs to and from a bytecode representation
Bytecode A simple way to derive bytecode for you Enums and Structs. What is this This is a crate that provides a proc macro which will derive bytecode
Attribute for defining `macro_rules!` macros with proper visibility and scoping
macro-vis This crate provides an attribute for defining macro_rules! macros that have proper visibility and scoping. The default scoping and publicity
Parses COVID-19 testing data from DC government ArcGIS APIs
covid-dc Parses COVID-19 testing data from DC government ArcGIS APIs Example debug output from cargo run RapidSite { attributes: RapidSiteAttribut
A library to generate syntax diagrams for Rust macros.
Live demo (code) A browser add-on for Firefox, Chrome and Edge A library to generate syntax ("railroad") diagrams for Rust's macro_rules!(). Diagrams
Learn to write Rust procedural macros [Rust Latam conference, Montevideo Uruguay, March 2019]
Rust Latam: procedural macros workshop This repo contains a selection of projects designed to learn to write Rust procedural macros — Rust code that g
Sled - the champagne of beta embedded databases
key value buy a coffee for us to convert into databases documentation chat about databases with us sled - it's all downhill from here!!! An embedded d
Rustress - stress testing library in Rust. For fun
rustress Simple network stress testing library. To get familiar with Rust Planned features (Subject to change) Multithreaded client/server Throughput
Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
foundry Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust. Foundry consists of: Forge: Ethe
HTTPie: human-friendly CLI HTTP client for the API era
HTTPie: human-friendly CLI HTTP client for the API era HTTPie (pronounced aitch-tee-tee-pie) is a command-line HTTP client. Its goal is to make CLI in
Valq - macros for querying and extracting value from structured data by JavaScript-like syntax
valq valq provides a macro for querying and extracting value from structured data in very concise manner, like the JavaScript syntax. Look & Feel: u
Js-macros - Quickly prototype Rust procedural macros using JavaScript or TypeScript!
js-macros Quickly prototype Rust procedural macros using JavaScript or TypeScript! Have you ever thought "this would be a great use case for a procedu
Organized, flexible testing framework for Rust
Stainless Stainless is a lightweight, flexible, unopinionated testing framework. Note that stainless currently requires the nightly version of the Rus
PEG parser combinators using operator overloading without macros.
pom PEG parser combinators created using operator overloading without macros. Document Tutorial API Reference Learning Parser Combinators With Rust -
proc macros for generating mut and non-mut methods without duplicating code
mwt Hey! You! Read this before using! mwt was thrown together pretty quickly for personal use, because I couldn't find an existing crate that does thi
Testing Framework for Rust
Polish Polish is Test-Driven Development done right Getting Started Installing the Package The crates.io package is kept up-to-date with all the major
Macros that allow for implicit await in your async code.
suspend fn Disclaimer: this was mostly made as a proof of concept for the proposal below. I haven't tested if there is a performance cost to this macr
Command line interface for BDSP RNG, primarily used as a reference implementation and as a tool for testing.
BDSP RNG Reference This is a command line interface for BDSP RNG, primarily used as a reference implementation and as a tool for testing. Building Bui
Struct mocking library for Rust
faux A library to create mocks out of structs. faux allows you to mock the methods of structs for testing without complicating or polluting your cod
Rust testing library
K9 - Rust Testing Library Snapshot testing + better assertions Available test macros snapshot assert_equal assert_greater_than assert_greater_than_or_
Fixture-based test framework for Rust
Fixture-based test framework for Rust Introduction rstest uses procedural macros to help you on writing fixtures and table-based tests. To use it, add
Breaking your Rust code for fun and profit
Breaking your Rust code for fun & profit this is an architecture-preview, not all components are there This is a mutation testing framework for Rust c
Hypothesis-like property testing for Rust
Proptest Introduction Proptest is a property testing framework (i.e., the QuickCheck family) inspired by the Hypothesis framework for Python. It allow
Automated property based testing for Rust (with shrinking).
quickcheck QuickCheck is a way to do property based testing using randomly generated input. This crate comes with the ability to randomly generate and
☢ Guerrilla (or Monkey) Patching in Rust for (unsafe) fun and profit.
Guerrilla Guerrilla (or Monkey) Patching in Rust for (unsafe) fun and profit. Provides aribtrary monkey patching in Rust. Please do not use this crate
Custom memory allocator that helps discover reads from uninitialized memory
libdiffuzz: security-oriented alternative to Memory Sanitizer This is a drop-in replacement for OS memory allocator that can be used to detect uses of
Modular, structure-aware, and feedback-driven fuzzing engine for Rust functions
Fuzzcheck Fuzzcheck is a modular, structure-aware, and feedback-driven fuzzing engine for Rust functions. Given a function test: (T) - bool, you can
Find the ideal fuzz targets in a Rust codebase
Siderophile Siderophile finds the "most unsafe" functions in your Rust codebase, so you can fuzz them or refactor them out entirely. It checks the cal
A proc-macro to get Vecu8 from struct and vise versa
byteme A proc-macro to convert a struct into Vec and back by implemeting From trait on the struct. The conversion is Big Endian by default. We have ma
This is a tiny (but delightful!) utility library for exhaustive testing.
Exhaustigen This is a tiny (but delightful!) utility library for exhaustive testing. It is based (directly) on the idea and code in the following blog
Example of structuring a proc macro crate for testability
testing-proc-macros Example of structuring a proc macro crate for testability. See accompanying blog post for details. License Licensed under either o
A stupid macro that compiles and executes Rust and spits the output directly into your Rust code
inline-rust This is a stupid macro inspired by inline-python that compiles and executes Rust and spits the output directly into your Rust code. There
A Rust attribute macro to limit a function's number of runs over a specified period of time
throttle_my_fn: A Rust attribute macro to throttle the execution of functions throttle_my_fn is a Rust attribute macro to limit a function's number of
🔥 Unit testing framework for Subgraph development on The Graph protocol. ⚙️
👋 Welcome to Matchstick - a unit testing framework for The Graph protocol. Try out your mapping logic in a sandboxed environment and ensure your hand
Code for comparing CDN speeds!
How to run speed test. the image to use The image you should probably use is: cf_219kb.png cf_219kb.png is an image that won't be compressed by Jetpac
Suite for automatically testing algorithm questions from the Polish Algorithm Olympiad.
oisuite Your number #1 tool to managing your algo questions! This software only works on UNIX-based operating systems (macOS, Linux, BSD, etc.) Projec
Simple console input macros with the goal of being implemented in the standard library.
Simple console input macros with the goal of being implemented in the standard library.
Mobile safari / webview remote debugging and e2e testing libraries
Canter (WIP) (WIP) Mobile safari / webview remote debugging and e2e testing libraries. Developed for safari/webview e2e testing on iPhone. Works only
A metamacro toolkit for writing complex macros.
Big Mac This crate contains the branching_parser! metamacro, which can be used to create complex macros with few lines of code. To use the macro, call
Common processing blocks used with your Runes.
Common Processing Blocks (API Docs) Processing blocks built by Hammer of the Gods that you can use with your Runes. License This project is licensed u
Procedural macros for Floccus
floccus-proc Procedural macros for floccus This crate contains procedural attribute macros (currently only one) used by the floccus. But potentially c
Snapshot testing for a herd of CLI tests
trycmd Snapshot testing for a herd of CLI tests trycmd aims to simplify the process for running a large collection of end-to-end CLI test cases, takin
secmem-proc is a crate designed to harden a process against low-privileged attackers running on the same system trying to obtain secret memory contents of the current process.
secmem-proc is a crate designed to harden a process against low-privileged attackers running on the same system trying to obtain secret memory contents of the current process. More specifically, the crate disables core dumps and tries to disable tracing on unix-like OSes.
assay - A super powered testing macro for Rust
assay - A super powered testing macro for Rust as·say /ˈaˌsā,aˈsā/ noun - the testing of a metal or ore to determine its ingredients and quality. Rust
A library for comparing data structures in Rust, oriented toward testing
The comparable crate defines the trait [Comparable], along with a derive macro for auto-generating instances of this trait for most data types. Primar
Drill is an HTTP load testing application written in Rust inspired by Ansible syntax
Drill is an HTTP load testing application written in Rust inspired by Ansible syntax
Testing a smart contract on the Solana blockchain
Environment Setup Install Rust from https://rustup.rs/ Install Solana from https://docs.solana.com/cli/install-solana-cli-tools#use-solanas-install-to
Keyscope is a key and secret workflow (validation, invalidation, etc.) tool built in Rust
✅ Automate your key and secret validation workflows 🤠 Over 30 different providers 🤖 Export to JSON, audit via CSV 🔑 Keyscope Keyscope is a key and
service_policy_kit is a Rust based toolkit for verifying HTTP services against policies.
Service Policy Kit service_policy_kit is a Rust based toolkit for verifying HTTP services against policies. You can: Build a complete testing framewor
A library for comparing data structures in Rust, oriented toward testing
Delta: Structural differencing in Rust The delta crate defines the trait Delta, along with a derive macro for auto-generating instances of this trait
Unwrap Macros to help Clean up code and improve production.
unwrap_helpers Unwrap Macros to help Clean up code and improve production. This does include a pub use of https://github.com/Mrp1Dev/loop_unwrap to ga
twilight-interactions is a set of macros and utilities to work with Discord Interactions using twilight.
Twilight interactions twilight-interactions is a set of macros and utilities to work with Discord Interactions using twilight. Note: This crate is not
Simple 2d pinball game for testing of bevy and rapier.
Pinball2D Using the Bevy game engine and Rapier physics engine for a simple 2D pinball game. pinball2d.mov Wrote a short piece about how the game was
A tiny crate mimicking Elixir's pipe operator for Rust without macros.
A small crate for using pipes in Rust.
Fluent test assertions for Rust.
This is a fork the unmaintained crate spectral. Spectral as not changed for five years and yet is still very usable, the goal of this fork is to add n
Rust derive macros for automating the boring stuff.
derived: Macros for automating the boring stuff The derived crate provides macros that can simplify all the boring stuff, like writing constructors fo
Loom is a concurrency permutation testing tool for Rust.
Loom is a testing tool for concurrent Rust code
Attribute macro that generates negated versions of`is_something` functions
negate negate is a simple attribute macro that negates a given function. Usage #[negate] Given a function of the form is_* that returns a boolean valu
Fluent assertion library for Rust with readable messages.
Assertor Assertor makes test assertions and failure messages more human-readable. Assertor is heavily affected by Java Truth in terms of API design an
A dead simple functional testing tool for command line applications
Pharaoh : build that test pyramid! What it is Pharaoh is a dead simple, no permission needed, functional test runner for command line applications, wr
Rust library for developing safe canisters.
IC Kit This library provides an alternative to ic-cdk that can help developers write canisters and unit test them in their Rust code. Install Add this
A fully-featured lexer generator, implement as a proc macro
lexgen: A fully-featured lexer generator, implemented as a proc macro lexer! { // First line specifies name of the lexer and the token type return
🧵 Generate self-describing strings of a given length to help aid software testing
rust-counter-strings Counter strings generator written in rust to help aid software testing What is a counterstring? "A counterstring is a graduated s
todo-or-die provides procedural macros that act as checked reminders.
todo-or-die provides procedural macros that act as checked reminders.
Cucumber testing framework for Rust. Fully native, no external test runners or dependencies.
An implementation of the Cucumber testing framework for Rust. Fully native, no external test runners or dependencies.
Declarative Testing Framework
Demonstrate allows tests to be written without as a much repetitive code within the demonstrate! macro, which will generate the corresponding full tests.
Simple goldenfile testing in Rust.
👑 Rust Goldenfile Simple goldenfile testing in Rust. Goldenfile tests generate one or more output files as they run. At the end of the test, the gene
Viceroy provides local testing for developers working with Compute@Edge.
Viceroy provides local testing for developers working with Compute@Edge. It allows you to run services written against the Compute@Edge APIs on your local development machine, and allows you to configure testing backends for your service to communicate with.
Simple assertion library for unit testing in python with a fluent API
Simple assertions library for unit testing in Python with a nice fluent API. Supports both Python 2 and 3.
Breaking your Rust code for fun and profit
Breaking your Rust code for fun & profit this is an architecture-preview, not all components are there This is a mutation testing framework for Rust c
Hypothesis-like property testing for Rust
Proptest Introduction Proptest is a property testing framework (i.e., the QuickCheck family) inspired by the Hypothesis framework for Python. It allow
Automated property based testing for Rust (with shrinking).
quickcheck QuickCheck is a way to do property based testing using randomly generated input. This crate comes with the ability to randomly generate and
☢ Guerrilla (or Monkey) Patching in Rust for (unsafe) fun and profit.
Guerrilla Guerrilla (or Monkey) Patching in Rust for (unsafe) fun and profit. Provides aribtrary monkey patching in Rust. Please do not use this crate
Custom memory allocator that helps discover reads from uninitialized memory
libdiffuzz: security-oriented alternative to Memory Sanitizer This is a drop-in replacement for OS memory allocator that can be used to detect uses of
Structure-aware, in-process, coverage-guided, evolutionary fuzzing engine for Rust functions.
fuzzcheck Fuzzcheck is a structure-aware, in-process, coverage-guided, evolutionary fuzzing engine for Rust functions. Given a function test: (T) - b
Find the ideal fuzz targets in a Rust codebase
Siderophile Siderophile finds the "most unsafe" functions in your Rust codebase, so you can fuzz them or refactor them out entirely. It checks the cal
Rnp - A simple cloud-friendly tool for testing network reachability.
Rnp - A simple cloud-friendly tool for testing network reachability. Release Status Crates.io Github release Nuget packages NOTE: This project is in e
Utility to run a regtest bitcoind process, useful in integration testing environment
Bitcoind Utility to run a regtest bitcoind process, useful in integration testing environment. use bitcoincore_rpc::RpcApi; let bitcoind = bitcoind::B
ArchTest is a rule based architecture testing tool for rust
ArchTest is a rule based architecture testing tool. It applies static analyses on the specified rust project to extract use relationships.
Provides Rust bindings for GTK libraries
The gtk-rs organization aims to provide safe Rust binding over GObject-based libraries
A copypastable guide to implementing simple derive macros in Rust.
A copypastable guide to implementing simple derive macros in Rust. The goal Let's say we have a trait with a getter trait MyTrait {
Competitive Programming Stress Test Tools
Competitive Programming Stress Test Tools 競技プログラミング用 ストレステストツール このプログラムの役割 のプログラムに対して,それより実行時間がかかるが確実に できる愚直プログラムと比較することで, となるテストケースを探し出す 最大コーナーケースに対し
Parsing and inspecting Rust literals (particularly useful for proc macros)
litrs: parsing and inspecting Rust literals litrs offers functionality to parse Rust literals, i.e. tokens in the Rust programming language that repre
An LR parser generator, implemented as a proc macro
parsegen parsegen is an LR parser generator, similar to happy, ocamlyacc, and lalrpop. It currently generates canonical LR(1) parsers, but LALR(1) and
Pretend is a macros-based declarative Rust HTTP client
pretend is a modular, Feign-inspired HTTP, client based on macros. It's goal is to decouple the definition of a REST API from it's implementation.
Safe Rust --- GraalVM Polyglot bindings using procedural macros
The class macro is the primary way to generate bindings to Java types; it will generate a struct (with generics if specified) that implements Pass and Receive and has all the methods you give stubs for. The methods generated can be used like normal rust methods, however mutability is not enforced. The fully-qualified type name should precede a block containing method and constructor stubs. Java primitives like char, int, and byte are aliased to corresponding Rust types.
FeignHttp is a declarative HTTP client. Based on rust macros.
FeignHttp is a declarative HTTP client. Based on rust macros. Features Easy to use Asynchronous request Configurable timeout settings Suppor
Shuttle is a library for testing concurrent Rust code
Shuttle Shuttle is a library for testing concurrent Rust code. It is an implementation of a number of randomized concurrency testing techniques, inclu