MCUboot Simulator ################# This is a small simulator designed to exercise the mcuboot upgrade code, specifically testing untimely reset scenarios to make sure the code is robust. Prerequisites ============= The simulator is written in Rust_, and you will need to install it to build it. The installation_ page describes this process. The simulator can be built with the stable release of Rust. .. _Rust: https://www.rust-lang.org/ .. _installation: https://www.rust-lang.org/en-US/install.html Dependent code -------------- The simulator depends on some external modules. These are stored as submodules within git. To fetch these dependencies the first time:: $ git submodule update --init will clone and check out these trees in the appropriate place. Testing ======= The tests are written as unit tests in Rust, and can be built and run automatically:: $ cargo test this should download and compile the necessary dependencies, compile the relevant modules from mcuboot, build the simulator, and run the tests. Debugging ========= If the simulator indicates a failure, you can turn on additional logging by setting ``RUST_LOG=warn`` or ``RUST_LOG=error`` in the environment:: $ RUST_LOG=warn ./target/release/bootsim run ... It is also possible to run specific tests, for example:: $ cargo test -- basic_revert which will run only the `basic_revert` test.