mirror of https://github.com/rwf2/Rocket.git
Check fuzzers and benchmarks in testing script.
This commit is contained in:
parent
0aa9a11ca4
commit
2d974ece78
|
@ -41,6 +41,7 @@ CORE_ROOT=$(relative "core") || exit $?
|
|||
CONTRIB_ROOT=$(relative "contrib") || exit $?
|
||||
SITE_ROOT=$(relative "site") || exit $?
|
||||
BENCHMARKS_ROOT=$(relative "benchmarks") || exit $?
|
||||
FUZZ_ROOT=$(relative "core/lib/fuzz") || exit $?
|
||||
|
||||
# Root of project-like directories.
|
||||
CORE_LIB_ROOT=$(relative "core/lib") || exit $?
|
||||
|
|
|
@ -58,6 +58,12 @@ function check_style() {
|
|||
fi
|
||||
}
|
||||
|
||||
function indir() {
|
||||
local dir="${1}"
|
||||
shift
|
||||
pushd "${dir}" > /dev/null 2>&1 ; $@ ; popd > /dev/null 2>&1
|
||||
}
|
||||
|
||||
function test_contrib() {
|
||||
SYNC_DB_POOLS_FEATURES=(
|
||||
diesel_postgres_pool
|
||||
|
@ -93,43 +99,39 @@ function test_core() {
|
|||
uuid
|
||||
)
|
||||
|
||||
pushd "${CORE_LIB_ROOT}" > /dev/null 2>&1
|
||||
echo ":: Building and testing core [no features]..."
|
||||
$CARGO test --no-default-features $@
|
||||
indir "${CORE_LIB_ROOT}" $CARGO test --no-default-features $@
|
||||
|
||||
for feature in "${FEATURES[@]}"; do
|
||||
echo ":: Building and testing core [${feature}]..."
|
||||
$CARGO test --no-default-features --features "${feature}" $@
|
||||
indir "${CORE_LIB_ROOT}" $CARGO test --no-default-features --features "${feature}" $@
|
||||
done
|
||||
popd > /dev/null 2>&1
|
||||
}
|
||||
|
||||
function test_examples() {
|
||||
# Cargo compiles Rocket once with the `secrets` feature enabled, so when run
|
||||
# in production, we need a secret key or tests will fail needlessly. We test
|
||||
# in core that secret key failing/not failing works as expected, but here we
|
||||
# provide a valid secret_key so tests don't fail.
|
||||
echo ":: Building and testing examples..."
|
||||
|
||||
pushd "${EXAMPLES_DIR}" > /dev/null 2>&1
|
||||
# Rust compiles Rocket once with the `secrets` feature enabled, so when run
|
||||
# in production, we need a secret key or tests will fail needlessly. We
|
||||
# test in core that secret key failing/not failing works as expected.
|
||||
ROCKET_SECRET_KEY="itlYmFR2vYKrOmFhupMIn/hyB6lYCCTXz4yaQX89XVg=" \
|
||||
$CARGO test --all $@
|
||||
popd > /dev/null 2>&1
|
||||
indir "${EXAMPLES_DIR}" $CARGO test --all $@
|
||||
}
|
||||
|
||||
function test_default() {
|
||||
echo ":: Building and testing core libraries..."
|
||||
indir "${PROJECT_ROOT}" $CARGO test --all --all-features $@
|
||||
|
||||
pushd "${PROJECT_ROOT}" > /dev/null 2>&1
|
||||
$CARGO test --all --all-features $@
|
||||
popd > /dev/null 2>&1
|
||||
echo ":: Checking benchmarks..."
|
||||
indir "${BENCHMARKS_ROOT}" $CARGO check --benches --all-features $@
|
||||
|
||||
echo ":: Checking fuzzers..."
|
||||
indir "${FUZZ_ROOT}" $CARGO check --all --all-features $@
|
||||
}
|
||||
|
||||
function run_benchmarks() {
|
||||
echo ":: Running benchmarks..."
|
||||
|
||||
pushd "${BENCHMARKS_ROOT}" > /dev/null 2>&1
|
||||
$CARGO bench $@
|
||||
popd > /dev/null 2>&1
|
||||
indir "${BENCHMARKS_ROOT}" $CARGO bench $@
|
||||
}
|
||||
|
||||
if [[ $1 == +* ]]; then
|
||||
|
|
Loading…
Reference in New Issue