mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Run SMTChecker tests on all EVM versions
This commit is contained in:
parent
21e365321d
commit
145a03bdd6
@ -30,22 +30,11 @@ REPODIR="$(realpath "$(dirname "$0")"/..)"
|
||||
|
||||
EVM_VALUES=(homestead byzantium constantinople petersburg istanbul)
|
||||
OPTIMIZE_VALUES=(0 1)
|
||||
STEPS=$(( 2 + ${#EVM_VALUES[@]} * ${#OPTIMIZE_VALUES[@]} ))
|
||||
STEPS=$(( 1 + ${#EVM_VALUES[@]} * ${#OPTIMIZE_VALUES[@]} ))
|
||||
|
||||
if (( CIRCLE_NODE_TOTAL )) && (( CIRCLE_NODE_TOTAL > 1 ))
|
||||
then
|
||||
# Run step 1 as the only step on the first executor
|
||||
# and evenly distribute the other steps among
|
||||
# the other executors.
|
||||
# The first step takes much longer than the other steps.
|
||||
if (( CIRCLE_NODE_INDEX == 0 ))
|
||||
then
|
||||
RUN_STEPS="1"
|
||||
else
|
||||
export CIRCLE_NODE_INDEX=$((CIRCLE_NODE_INDEX - 1))
|
||||
export CIRCLE_NODE_TOTAL=$((CIRCLE_NODE_TOTAL - 1))
|
||||
RUN_STEPS=$(seq 2 "$STEPS" | circleci tests split | xargs)
|
||||
fi
|
||||
RUN_STEPS=$(seq "$STEPS" | circleci tests split | xargs)
|
||||
else
|
||||
RUN_STEPS=$(seq "$STEPS" | xargs)
|
||||
fi
|
||||
@ -54,11 +43,8 @@ echo "Running steps $RUN_STEPS..."
|
||||
|
||||
STEP=1
|
||||
|
||||
# Run SMTChecker tests separately, as the heaviest expected run.
|
||||
[[ " $RUN_STEPS " == *" $STEP "* ]] && EVM=istanbul OPTIMIZE=1 ABI_ENCODER_V1=1 BOOST_TEST_ARGS="-t smtCheckerTests/*" "${REPODIR}/.circleci/soltest.sh"
|
||||
STEP=$((STEP + 1))
|
||||
|
||||
# Run without SMTChecker tests.
|
||||
# Run for ABI encoder v1, without SMTChecker tests.
|
||||
[[ " $RUN_STEPS " == *" $STEP "* ]] && EVM=istanbul OPTIMIZE=1 ABI_ENCODER_V1=1 BOOST_TEST_ARGS="-t !smtCheckerTests" "${REPODIR}/.circleci/soltest.sh"
|
||||
STEP=$((STEP + 1))
|
||||
|
||||
@ -71,8 +57,11 @@ do
|
||||
[ "${EVM}" = "byzantium" ] && [ "${OPTIMIZE}" = "0" ] && EWASM_ARGS="--ewasm"
|
||||
ENFORCE_GAS_ARGS=""
|
||||
[ "${EVM}" = "istanbul" ] && ENFORCE_GAS_ARGS="--enforce-gas-cost"
|
||||
# Run SMTChecker tests only when OPTIMIZE == 0
|
||||
DISABLE_SMTCHECKER=""
|
||||
[ "${OPTIMIZE}" != "0" ] && DISABLE_SMTCHECKER="-t !smtCheckerTests"
|
||||
|
||||
[[ " $RUN_STEPS " == *" $STEP "* ]] && EVM="$EVM" OPTIMIZE="$OPTIMIZE" SOLTEST_FLAGS="$SOLTEST_FLAGS $ENFORCE_GAS_ARGS $EWASM_ARGS" BOOST_TEST_ARGS="-t !@nooptions" "${REPODIR}/.circleci/soltest.sh"
|
||||
[[ " $RUN_STEPS " == *" $STEP "* ]] && EVM="$EVM" OPTIMIZE="$OPTIMIZE" SOLTEST_FLAGS="$SOLTEST_FLAGS $ENFORCE_GAS_ARGS $EWASM_ARGS" BOOST_TEST_ARGS="-t !@nooptions $DISABLE_SMTCHECKER" "${REPODIR}/.circleci/soltest.sh"
|
||||
STEP=$((STEP + 1))
|
||||
done
|
||||
done
|
||||
|
@ -67,7 +67,7 @@ Testsuite const g_interactiveTestsuites[] = {
|
||||
{"Semantic", "libsolidity", "semanticTests", false, true, &SemanticTest::create},
|
||||
{"JSON AST", "libsolidity", "ASTJSON", false, false, &ASTJSONTest::create},
|
||||
{"JSON ABI", "libsolidity", "ABIJson", false, false, &ABIJsonTest::create},
|
||||
{"SMT Checker", "libsolidity", "smtCheckerTests", true, false, &SMTCheckerTest::create, {"nooptions"}},
|
||||
{"SMT Checker", "libsolidity", "smtCheckerTests", true, false, &SMTCheckerTest::create},
|
||||
{"Gas Estimates", "libsolidity", "gasTests", false, false, &GasTest::create}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user