openethereum/test.sh

93 lines
1.7 KiB
Bash
Raw Normal View History

2016-02-16 11:12:29 +01:00
#!/bin/sh
2017-09-12 09:15:37 +02:00
# Running Parity Full Test Suite
2016-02-16 11:12:29 +01:00
FEATURES="json-tests,ci-skip-issue"
OPTIONS="--release"
VALIDATE=1
THREADS=8
2016-07-11 18:17:54 +02:00
case $1 in
--no-json)
FEATURES="ipc"
2016-07-11 18:17:54 +02:00
shift # past argument=value
;;
--no-release)
OPTIONS=""
shift
;;
--no-validate)
VALIDATE=0
shift
;;
--no-run)
OPTIONS="--no-run"
shift
;;
*)
# unknown option
2016-07-11 18:17:54 +02:00
;;
esac
set -e
validate () {
if [ "$VALIDATE" -eq "1" ]
then
echo "________Validate build________"
time cargo check $@ --no-default-features
time cargo check $@ --manifest-path util/io/Cargo.toml --no-default-features
time cargo check $@ --manifest-path util/io/Cargo.toml --features "mio"
# Validate chainspecs
echo "________Validate chainspecs________"
time ./scripts/validate_chainspecs.sh
else
echo "# not validating due to \$VALIDATE!=1"
fi
}
cpp_test () {
# Running the C++ example
echo "________Running the C++ example________"
cd parity-clib-examples/cpp && \
mkdir -p build && \
cd build && \
cmake .. && \
make -j $THREADS && \
./parity-example && \
cd .. && \
rm -rf build && \
cd ../..
}
cargo_test () {
echo "________Running Parity Full Test Suite________"
git submodule update --init --recursive
time cargo test $OPTIONS --features "$FEATURES" --all $@ -- --test-threads $THREADS
}
if [ "$CARGO_TARGET" ]
then
validate --target $CARGO_TARGET
else
validate
fi
test "${RUN_TESTS}" = "true" && cpp_test
if [ "$CARGO_TARGET" ]
then
if [ "${RUN_TESTS}" = "true" ]
then
cargo_test --target $CARGO_TARGET $@
else
cargo_test --no-run --target $CARGO_TARGET $@
fi
else
cargo_test $@
fi