https://github.com/dfinity/test-state-machine-client
Rust library to interact with the ic-test-state-machine
https://github.com/dfinity/test-state-machine-client
Last synced: 6 months ago
JSON representation
Rust library to interact with the ic-test-state-machine
- Host: GitHub
- URL: https://github.com/dfinity/test-state-machine-client
- Owner: dfinity
- License: apache-2.0
- Created: 2022-12-20T13:14:59.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-11-23T11:59:01.000Z (over 2 years ago)
- Last Synced: 2025-10-03T03:53:26.641Z (7 months ago)
- Language: Rust
- Size: 29.3 KB
- Stars: 7
- Watchers: 9
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Test State Machine Client
This is a client library for the `test-state-machine` binary from the IC repository: https://github.com/dfinity/ic/tree/master/rs/state_machine_tests
Whenever a new `StateMachine` is created, the library spawns a child process, which it will communicate with using `stdio`. If the `debug` flag is passed in, the binary will print debug information to `stderr` (as to not interfere with the protocol going over `stdin/stdout`).
The `ic-test-state-machine` is an _incomplete_ wrapper around the `ic-state-machine-tests` library (in the same crate). It was created to decouple the lengthy build process and the many dependencies of the IC repo from clients of the `ic-test-state-machine`.
## Download
The prebuilt binary can be downloaded from https://download.dfinity.systems/ic/$sha/binaries/x86_64-$platform/ic-test-state-machine.gz, where `sha` is the commit sha of a commit on the master branch of the IC repository and `platform` is either `linux` or `darwin`.
## Dependencies
The `ic-test-state-machine` binary requires `openssl 3`. On MacOs it can be installed using homebrew by running `brew install openssl@3`.
## Disclaimer
While testing with the `ic-test-state-machine` might help the development process, it is not a replacement for testing with the actual replica.