# Pump Testing

> Multi-language test infrastructure for the Pump SDK — Rust unit/integration/security/performance tests, TypeScript Jest tests, Python fuzz tests, shell test orchestration, Criterion benchmarks, and CI quality gates. Use when this capability is needed.

- Skill: `tomevault-io/pump-testing` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/pump-testing`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/pump-testing/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/pump-testing

---


# Testing & Quality — Multi-Language Test Infrastructure

Comprehensive test infrastructure spanning Rust, TypeScript, Python, and Bash with CI quality gates.

## Test Matrix

| Language | Framework | Directory | Focus |
|----------|-----------|-----------|-------|
| Rust | `cargo test` | `rust/tests/` | Unit, integration, security |
| Rust | Criterion | `rust/benches/` | Performance benchmarks |
| TypeScript | Jest | `typescript/tests/` | Unit, integration |
| TypeScript | Jest | `tests/` | SDK tests |
| Python | Custom | `tests/fuzz/` | Fuzzing |
| Bash | Custom | `tests/cli/` | CLI integration |

## Running Tests

```bash
# Rust
cargo test                            # All tests
cargo test --test integration_tests   # Integration only
cargo test --test security_tests      # Security only
cargo test --test performance_tests   # Performance only
cargo bench                           # Criterion benchmarks

# TypeScript
npx jest                              # All Jest tests
npx jest --coverage                   # With coverage

# Shell
bash scripts/test-rust.sh             # Full Rust test orchestration
bash docs/run-all-tests.sh            # Run everything
```

## Test Orchestration (test-rust.sh — 10 Steps)

1. Check Rust toolchain
2. Run `cargo fmt --check`
3. Run `cargo clippy`
4. Run unit tests
5. Run integration tests
6. Run security tests
7. Run performance tests
8. Run benchmarks
9. Build release binary
10. Verify binary output

## Quality Gates

| Gate | Threshold |
|------|-----------|
| Rust tests | All pass |
| TypeScript tests | All pass |
| `cargo clippy` | No warnings |
| `cargo fmt` | Formatted |
| Coverage | >70% |

## Stress / Benchmark Tests

```bash
# Rust benchmarks
cargo bench --bench generation_bench

# Stress tests
tests/stress/       # Long-running stability tests
tests/benchmarks/   # SDK benchmark tests
```

## Patterns to Follow

- Write tests alongside implementation — not as an afterthought
- Test edge cases: zero amounts, null accounts, maximum values
- Test roundtrip consistency: buy→sell should approximate original (minus fees)
- Use transaction simulation for on-chain behavior verification
- Mock Anchor programs for offline SDK tests

## Common Pitfalls

- Devnet RPC may be rate-limited — use retries in integration tests
- `cargo bench` requires release profile — debug builds give misleading numbers
- Jest `ts-jest` may need explicit `tsconfig.test.json`
- Python fuzz tests may run indefinitely — set timeouts

---
> Source: [nirholas/pump-fun-sdk](https://github.com/nirholas/pump-fun-sdk) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-05-22 -->

