#!/bin/bash

set -e

# 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

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"
)
for f in "${features[@]}"; do
    echo "===== FEATURE: $f (default) ==="
    cargo test --test default --no-default-features --features "$f"
    echo "===== FEATURE: $f (default-bytes) ==="
    cargo test --test default-bytes --no-default-features --features "$f"
done
