-
Notifications
You must be signed in to change notification settings - Fork 454
/
Copy pathscript.sh
executable file
·57 lines (46 loc) · 1.73 KB
/
script.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh
# This is the main CI script for testing the regex crate and its sub-crates.
set -ex
MSRV="1.24.1"
# Builds the regex crate and runs tests.
cargo build --verbose
cargo doc --verbose
# If we're testing on an older version of Rust, then only check that we
# can build the crate. This is because the dev dependencies might be updated
# more frequently, and therefore might require a newer version of Rust.
#
# This isn't ideal. It's a compromise.
if [ "$TRAVIS_RUST_VERSION" = "$MSRV" ]; then
exit
fi
# Run tests. If we have nightly, then enable our nightly features.
# Right now there are no nightly features, but that may change in the
# future.
CARGO_TEST_EXTRA_FLAGS=""
if [ "$TRAVIS_RUST_VERSION" = "nightly" ]; then
CARGO_TEST_EXTRA_FLAGS=""
fi
cargo test --verbose ${CARGO_TEST_EXTRA_FLAGS}
# Run the random tests in release mode, as this is faster.
RUST_REGEX_RANDOM_TEST=1 \
cargo test --release --verbose \
${CARGO_TEST_EXTRA_FLAGS} --test crates-regex
# Run a test that confirms the shootout benchmarks are correct.
ci/run-shootout-test
# Run tests on regex-syntax crate.
cargo test --verbose --manifest-path regex-syntax/Cargo.toml
cargo doc --verbose --manifest-path regex-syntax/Cargo.toml
# Run tests on regex-capi crate.
ci/test-regex-capi
# Make sure benchmarks compile. Don't run them though because they take a
# very long time. Also, check that we can build the regex-debug tool.
if [ "$TRAVIS_RUST_VERSION" = "nightly" ]; then
cargo build --verbose --manifest-path regex-debug/Cargo.toml
for x in rust rust-bytes pcre1 onig; do
(cd bench && ./run $x --no-run --verbose)
done
# Test minimal versions.
cargo +nightly generate-lockfile -Z minimal-versions
cargo build --verbose
cargo test --verbose
fi