TUI for running interacting with Foundry's Forge Tests.
Project description
Crucible is a terminal UI application wrapper for forge test built with Textual (💖). It provides an interactive environment to navigate your test tree and the trace output of running a test with full verbosity.
Installation
I recommend using pipx, which installes applications distributed via pypi into their own virtual environment.
$ pipx install forge-curcible
This will install the crucible executable.
Running
To run it just navigate to the root of a foundry project and run:
$ crucible
The app should run the full test suite and output a tree representation:
You can navigate the tree via the arrows or vim-style (recommended 🤓). You can also press CTRL+P to bring up the command pallet where you can fuzzy-find tests to run:
Once you pick a test you will see the trace view:
Disclaimer
This is very alpha software so it might not work. It employs a grammer to parse the forge output.
I've tried it on a variety of tests but it could still fail when opening a test. If it happens it will create
a /tmp/<test-name>.txt file with the output. Please open an issue and attach the output.
Upcoming features
- Trace filtering: Have a list of customizable filters that can be toggled to hide trace lines from the output. The current filtering feature just filters
console.log,VM.labelandVM.addr. - Trace search: Jump to trace line by fuzzy searching on the function call or event name.
- Profile switch: Switch the foundry profile that you're using to run the tests, should automatically detect existing profiles.
- Custom labling: Ability to do in-app labeling of addresses or bytes32 identifiers.
- External decoding: Use public resources to decode function calls and events which could come up in fork-tests.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file forge_crucible-0.1.22.tar.gz.
File metadata
- Download URL: forge_crucible-0.1.22.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/23.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0180a105f59c4c93bbcdb4b40d9eec96b33ae879f8f3036de926201e5a52ee40
|
|
| MD5 |
30d4a034c0c9ee1e3fb15fc883a1a844
|
|
| BLAKE2b-256 |
5c6abedd4fbd1a69400ee25c4a55cf98b5e8bf6459c83d8d3469f45d22c59213
|
File details
Details for the file forge_crucible-0.1.22-py3-none-any.whl.
File metadata
- Download URL: forge_crucible-0.1.22-py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/23.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35f2ff0ddb8db18fe03af015314e8ac38fb7c82e5772e585d9f934e8cce26b9f
|
|
| MD5 |
137256db4856d66d03cab414f955908c
|
|
| BLAKE2b-256 |
cfef375f0413661614a3bf82de3c80ec8e438edd6d9431eeeddeda054d213810
|