Skip to content

Commit 8527998

Browse files
committed
basic readme
1 parent d207964 commit 8527998

File tree

5 files changed

+542
-29
lines changed

5 files changed

+542
-29
lines changed

README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<h1 align="center">
2+
TestSVM
3+
</h1>
4+
5+
<p align="center">
6+
Robust testing framework for Solana programs, written in Rust.
7+
</p>
8+
9+
TestSVM is a testing framework for Solana programs, written in Rust. Built on top of [LiteSVM](https://github.com/LiteSVM/litesvm), it is an order of magnitude faster than traditional `solana-test-validator` + JavaScript tests.
10+
11+
Features include:
12+
13+
- Account labeling and logging, so you can easily track what `Pubkey` maps to what account.
14+
- Assertions for transaction results: assert that a transaction fails with a specific error, or that it succeeds.
15+
- Nicely formatted transaction logs with account labeling, so you know what accounts have issues in a transaction.
16+
- Type-safe utilities for validating state and loading it from the SVM.
17+
18+
**Note: this is a work in progress and is subject to change.**
19+
20+
## Examples
21+
22+
The `testsvm-quarry` crate contains a number of tests that demonstrate all TestSVM features in [tests/](crates/testsvm-quarry/src/tests/).
23+
24+
I plan to add more examples in the future.
25+
26+
## Crates
27+
28+
There are two main crates that compose TestSVM:
29+
30+
- `testsvm` - Core testing framework
31+
- `testsvm-quarry` - Helpers for testing programs that integrate with Quarry
32+
33+
### Internal crates
34+
35+
The following crates are used internally by TestSVM, but are not documented or intended for public use.
36+
37+
- `address-book` - Keeps track of all the addresses used in the tests
38+
- `anchor-utils` - Lightweight utilities for interacting with programs that use Anchor.
39+
40+
## License
41+
42+
Copyright (c) 2025 Ian Macalinao. Licensed under the Apache License, Version 2.0.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
pub mod common;
2+
pub mod test_mint_wrapper;
23
pub mod test_quarry_setup;
34
pub mod test_rewarder_management;

0 commit comments

Comments
 (0)