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
.
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
.
The ic-test-state-machine
binary requires openssl 3
. On MacOs it can be installed using homebrew by running brew install openssl@3
.
While testing with the ic-test-state-machine
might help the development process, it is not a replacement for testing with the actual replica.