#state-machine #dfinity #canister #internet-computer #testing

ic-test-state-machine-client

Rust library to interact with the ic-test-state-machine

9 stable releases

3.0.1 Nov 23, 2023
3.0.0 Jul 24, 2023
2.2.1 Jun 2, 2023
2.2.0 May 25, 2023
1.0.0 Jan 12, 2023

#7 in #canister

Download history 4797/week @ 2024-06-13 4466/week @ 2024-06-20 4447/week @ 2024-06-27 5838/week @ 2024-07-04 4785/week @ 2024-07-11 3324/week @ 2024-07-18 4122/week @ 2024-07-25 3683/week @ 2024-08-01 3871/week @ 2024-08-08 4376/week @ 2024-08-15 4128/week @ 2024-08-22 3523/week @ 2024-08-29 2909/week @ 2024-09-05 3257/week @ 2024-09-12 2684/week @ 2024-09-19 2653/week @ 2024-09-26

12,225 downloads per month
Used in icrc1-test-env-state-mach…

Apache-2.0

24KB
538 lines

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.

Dependencies

~2.3–9MB
~100K SLoC