Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Commit

Permalink
test.sh: use cargo --target for platforms other than linux, win or mac (
Browse files Browse the repository at this point in the history
#9650)

* test.sh: use cargo --target for platforms other than linux, win or mac

* drying test.sh script

* run tests only when not cross-compiling

* quote variable value
  • Loading branch information
gabreal authored and 5chdn committed Oct 1, 2018
1 parent 6496405 commit f3b806b
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 25 deletions.
8 changes: 8 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,17 @@ cache:

test-linux-rust-stable: &test
stage: test
variables:
RUN_TESTS: "true"
script:
- scripts/gitlab/test.sh stable
tags:
- rust-stable

test-linux-rust-beta:
stage: test
variables:
RUN_TESTS: "true"
script:
- scripts/gitlab/test.sh beta
tags:
Expand All @@ -68,6 +72,8 @@ test-linux-rust-beta:

test-linux-rust-nightly:
stage: test
variables:
RUN_TESTS: "true"
script:
- scripts/gitlab/test.sh nightly
tags:
Expand All @@ -80,6 +86,7 @@ test-darwin-rust-stable:
CARGO_TARGET: x86_64-apple-darwin
CC: gcc
CXX: g++
RUN_TESTS: "true"
script:
- scripts/gitlab/test.sh stable
tags:
Expand Down Expand Up @@ -107,6 +114,7 @@ test-windows-rust-stable:
# No cargo caching, since fetch-locking on Windows gets stuck
variables:
CARGO_TARGET: x86_64-pc-windows-msvc
RUN_TESTS: "true"
script:
- sh scripts/gitlab/test.sh stable
tags:
Expand Down
83 changes: 58 additions & 25 deletions test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
FEATURES="json-tests,ci-skip-issue"
OPTIONS="--release"
VALIDATE=1
THREADS=8

case $1 in
--no-json)
Expand All @@ -29,31 +30,63 @@ esac

set -e

if [ "$VALIDATE" -eq "1" ]; then
# Validate --no-default-features build
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
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

# Running the C++ example
echo "________Running the C++ example________"
cd parity-clib-examples/cpp && \
mkdir -p build && \
cd build && \
cmake .. && \
make -j 8 && \
./parity-example && \
cd .. && \
rm -rf build && \
cd ../..

# Running tests
echo "________Running Parity Full Test Suite________"
git submodule update --init --recursive
time cargo test $OPTIONS --features "$FEATURES" --all $1 -- --test-threads 8

0 comments on commit f3b806b

Please sign in to comment.