Vendor things
This commit is contained in:
parent
5deceec006
commit
977e3c17e5
19434 changed files with 10682014 additions and 0 deletions
95
third-party/vendor/regex-automata/test
vendored
Executable file
95
third-party/vendor/regex-automata/test
vendored
Executable file
|
|
@ -0,0 +1,95 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This is a script that attempts to *approximately* exhaustively run the test
|
||||
# suite for regex-automata. The main reason for why 'cargo test' isn't enough
|
||||
# is because of crate features. regex-automata has a ton of them. This script
|
||||
# tests many of those feature combinations (although not all) to try to get
|
||||
# decent coverage in a finite amount of time.
|
||||
|
||||
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")"
|
||||
|
||||
echo "===== ALL FEATURES TEST ==="
|
||||
cargo test --all-features
|
||||
|
||||
# Man I don't *want* to have this many crate features, but... I really want
|
||||
# folks to be able to slim the crate down to just the things they want. But
|
||||
# the main downside is that I just can't feasibly test every combination of
|
||||
# features because there are too many of them. Sad, but I'm not sure if there
|
||||
# is a better alternative.
|
||||
features=(
|
||||
""
|
||||
"unicode-word-boundary"
|
||||
"unicode-word-boundary,syntax,unicode-perl"
|
||||
"unicode-word-boundary,syntax,dfa-build"
|
||||
"nfa"
|
||||
"dfa"
|
||||
"hybrid"
|
||||
"nfa,dfa"
|
||||
"nfa,hybrid"
|
||||
"dfa,hybrid"
|
||||
"dfa-onepass"
|
||||
"nfa-pikevm"
|
||||
"nfa-backtrack"
|
||||
"std"
|
||||
"alloc"
|
||||
"syntax"
|
||||
"syntax,nfa-pikevm"
|
||||
"syntax,hybrid"
|
||||
"perf-literal-substring"
|
||||
"perf-literal-multisubstring"
|
||||
"meta"
|
||||
"meta,nfa-backtrack"
|
||||
"meta,hybrid"
|
||||
"meta,dfa-build"
|
||||
"meta,dfa-onepass"
|
||||
"meta,nfa,dfa,hybrid,nfa-backtrack"
|
||||
"meta,nfa,dfa,hybrid,nfa-backtrack,perf-literal-substring"
|
||||
"meta,nfa,dfa,hybrid,nfa-backtrack,perf-literal-multisubstring"
|
||||
)
|
||||
for f in "${features[@]}"; do
|
||||
echo "===== LIB FEATURES: $f ==="
|
||||
# It's actually important to do a standard 'cargo build' in addition to a
|
||||
# 'cargo test'. In particular, in the latter case, the dev-dependencies may
|
||||
# wind up enabling features in dependencies (like memchr) that make it look
|
||||
# like everything is well, but actually isn't. For example, the 'regex-test'
|
||||
# dev-dependency uses 'bstr' and enables its 'std' feature, which in turn
|
||||
# unconditionally enables 'memchr's 'std' feature. Since we're specifically
|
||||
# looking to test that certain feature combinations work as expected, this
|
||||
# can lead to things testing okay, but would actually fail to build. Yikes.
|
||||
cargo build --no-default-features --lib --features "$f"
|
||||
cargo test --no-default-features --lib --features "$f"
|
||||
done
|
||||
|
||||
# We can also run the integration test suite on stripped down features too.
|
||||
# But the test suite doesn't do well with things like 'std' and 'unicode'
|
||||
# disabled, so we always enable them.
|
||||
features=(
|
||||
"std,unicode,syntax,nfa-pikevm"
|
||||
"std,unicode,syntax,nfa-backtrack"
|
||||
"std,unicode,syntax,hybrid"
|
||||
"std,unicode,syntax,dfa-onepass"
|
||||
"std,unicode,syntax,dfa-search"
|
||||
"std,unicode,syntax,dfa-build"
|
||||
"std,unicode,meta"
|
||||
# This one is a little tricky because it causes the backtracker to get used
|
||||
# in more instances and results in failing tests for the 'earliest' tests.
|
||||
# The actual results are semantically consistent with the API guarantee
|
||||
# (the backtracker tends to report greater offsets because it isn't an FSM),
|
||||
# but our tests are less flexible than the API guarantee and demand offsets
|
||||
# reported by FSM regex engines. (Which is... all of them except for the
|
||||
# backtracker.)
|
||||
# "std,unicode,meta,nfa-backtrack"
|
||||
"std,unicode,meta,hybrid"
|
||||
"std,unicode,meta,dfa-onepass"
|
||||
"std,unicode,meta,dfa-build"
|
||||
"std,unicode,meta,nfa,dfa-onepass,hybrid"
|
||||
)
|
||||
for f in "${features[@]}"; do
|
||||
echo "===== INTEGRATION FEATURES: $f ==="
|
||||
cargo build --no-default-features --lib --features "$f"
|
||||
cargo test --no-default-features --test integration --features "$f"
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue