forked from input-output-hk/mantis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest-ets.sh
executable file
·32 lines (27 loc) · 1.18 KB
/
test-ets.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
# this script is meant to run the Ethereum Test Suite (https://github.com/ethereum/tests) on CircleCI
# to skip these tests, set SKIP_ETS_TEST variable CircleCI UI
# to differentiate by branch, use CIRCLE_BRANCH variable in the conditional below
echo "current branch: $BUILDKITE_BRANCH"
echo "memory:"
free -m
if [ -z "$IN_NIX_SHELL" ]; then
export SBT_NIX="-Dnix=true"
fi
# at least 1.5G of heap space and 10M of stack size is required for ETS.
export JAVA_OPTS="-Xmx2g -Xss16m -XX:MaxMetaspaceSize=512m"
export SBT = "sbt -v -mem 2048 $SBT_NIX";
if [ -z $SKIP_ETS_TESTS ]; then
git submodule init;
git submodule update;
if [ "$BUILDKITE_BRANCH" == "master" -o -n "$RUN_FULL_ETS" ]; then
export JAVA_OPTS="-Xmx3g -Xss16m -XX:MaxMetaspaceSize=512m"
echo "running full ETS"
$SBT "ets:testOnly * -- -DuseLocalVM=true -Dexg=vmPerf*";
else
echo "running a subset of ETS"
$SBT "ets:testOnly *VMSuite -- -Dexg=vmPerf*" &&
$SBT "ets:testOnly *BlockchainSuite -- -DuseLocalVM=true -Ding=bcForkStress*,bcMulti*,bcState*,bcTotalDiff*,bcValidBlock*,Transition*";
fi
else
echo "SKIP_ETS_TESTS variable is set - skipping the tests";
fi