Currently we only get `std::io::Write` impls when the `bitcoin-io` dependency is used. This is overly restrictive, it would be nice to have `std::io::Write` imlps even without the `bitcoin-io` dependency. Copy the logic out of the `bitcoin_io::impl_write` macro into `hashes` but feature gate it differently. Call the new macro inside `hash_type` (and in `hmac`), remove the `impls` module, and move the tests to the integration test directory. Remove the `io` feature from `hashes`, now if users enable `std` they get `std::io::Write` impls and if they enable `bitcoin-io` they get `bitcoin_io::Write` impls as well. |
||
---|---|---|
.. | ||
scripts | ||
src | ||
Cargo.toml | ||
README.md | ||
memory.x |
README.md
Running
To run the embedded test, first prepare your environment:
sudo ./scripts/install-deps
rustup +nightly target add thumbv7m-none-eabi
Then:
source ./scripts/env.sh && cargo +nightly run --target thumbv7m-none-eabi
Output should be something like:
hash:ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad hash_check:ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
hash:ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad hash_check:ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
Cleanup
After sourcing scripts/env.sh
and before building again using another target
you'll want to unset RUSTFLAGS
otherwise you'll get linker errors.
unset RUSTFLAGS