# 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.