47 lines
1.4 KiB
Bash
Executable File
47 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# cd to the directory containing this crate's Cargo.toml so that we don't need
|
|
# to pass --manifest-path to every `cargo` command.
|
|
cd "$(dirname "$0")"
|
|
|
|
# This is a convenience script for running a broad swath of tests across
|
|
# features. We don't test the complete space, since the complete space is quite
|
|
# large. Hopefully once we migrate the test suite to better infrastructure
|
|
# (like regex-automata), we'll be able to test more of the space.
|
|
echo "===== DEFAULT FEATURES ====="
|
|
cargo test
|
|
|
|
# no-std mode is annoyingly difficult to test. Currently, the integration tests
|
|
# don't run. So for now, we just test that library tests run. (There aren't
|
|
# many because `regex` is just a wrapper crate.)
|
|
cargo test --no-default-features --lib
|
|
|
|
echo "===== DOC TESTS ====="
|
|
cargo test --doc
|
|
|
|
features=(
|
|
"std"
|
|
"std unicode"
|
|
"std unicode-perl"
|
|
"std perf"
|
|
"std perf-cache"
|
|
"std perf-dfa"
|
|
"std perf-inline"
|
|
"std perf-literal"
|
|
"std perf-dfa-full"
|
|
"std perf-onepass"
|
|
"std perf-backtrack"
|
|
)
|
|
for f in "${features[@]}"; do
|
|
echo "===== FEATURE: $f ====="
|
|
cargo test --test integration --no-default-features --features "$f"
|
|
done
|
|
|
|
# And test the probably-forever-nightly-only 'pattern' feature...
|
|
if rustc --version | grep -q nightly; then
|
|
echo "===== FEATURE: std,pattern,unicode-perl ====="
|
|
cargo test --test integration --no-default-features --features std,pattern,unicode-perl
|
|
fi
|