mirror of
https://github.com/microsoft/regorus.git
synced 2026-08-05 02:16:11 +00:00
41 lines
1.2 KiB
Bash
Executable File
41 lines
1.2 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 all tests pass with extensions
|
|
cargo test -r --features rego-extensions
|
|
cargo test -r --test aci --features rego-extensions
|
|
cargo test -r --test kata --features rego-extensions
|
|
|
|
# Ensure that OPA conformance tests don't regress.
|
|
cargo test -r --features opa-testutil,serde_json/arbitrary_precision,rego-extensions --test opa -- $(tr '\n' ' ' < tests/opa.passing)
|
|
fi
|