mirror of
https://github.com/microsoft/regorus.git
synced 2026-08-05 02:16:11 +00:00
- Disable default features in dependencies - Use anyhow::Error::msg to map errors. Note: anyhow will itself be removed later. - lazy_static/spin_no_std used in no_std environments - ensure_no_std binary is built to target thumbv7m-none-eabi to ensure that there are no std dependencies. thumbv7m-none-eabi target has no std support. - The opa-no-std feature enables only those Regorus features that work with no_std. - Enable tests with no_std - Update sizes of regorus binary in README.md - Ensure that regorus example can be built with only std - Ensure that regorus example can be built with no_std Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
36 lines
1.0 KiB
Bash
Executable File
36 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT License.
|
|
|
|
set -eo pipefail
|
|
|
|
if [ -f Cargo.toml ]; then
|
|
# Run precommit checks.
|
|
dir=$(dirname "${BASH_SOURCE[0]}")
|
|
"$dir/pre-commit"
|
|
|
|
# Ensure that the public API works.
|
|
cargo test -r --doc
|
|
|
|
# Ensure that no_std build succeeds.
|
|
# Build for a target that has no std available.
|
|
if command -v rustup > /dev/null; then
|
|
rustup target add thumbv7m-none-eabi
|
|
(cd tests/ensure_no_std; cargo build -r --target thumbv7m-none-eabi)
|
|
fi
|
|
|
|
# Ensure that we can build with only std.
|
|
cargo build -r --example regorus --no-default-features --features std
|
|
|
|
# Ensure that we can build with all features.
|
|
cargo build -r --all-features
|
|
|
|
# Ensure that all tests pass.
|
|
cargo test -r
|
|
cargo test -r --test aci
|
|
cargo test -r --test kata
|
|
|
|
# Ensure that OPA conformance tests don't regress.
|
|
cargo test -r --features opa-testutil,serde_json/arbitrary_precision --test opa -- $(tr '\n' ' ' < tests/opa.passing)
|
|
fi
|