mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #7255 from ethereum/circleci-soltest-merge
Merges soltest tests per EVM/flags into a single one.
This commit is contained in:
commit
fd7215dad0
@ -96,22 +96,35 @@ defaults:
|
|||||||
name: soltest
|
name: soltest
|
||||||
command: ./.circleci/soltest.sh
|
command: ./.circleci/soltest.sh
|
||||||
|
|
||||||
|
- run_soltest_all: &run_soltest_all
|
||||||
|
name: soltest_all
|
||||||
|
command: ./.circleci/soltest_all.sh
|
||||||
|
|
||||||
- run_cmdline_tests: &run_cmdline_tests
|
- run_cmdline_tests: &run_cmdline_tests
|
||||||
name: command line tests
|
name: command line tests
|
||||||
command: ./test/cmdlineTests.sh
|
command: ./test/cmdlineTests.sh
|
||||||
|
|
||||||
- test_steps: &test_steps
|
|
||||||
- checkout
|
|
||||||
- attach_workspace:
|
|
||||||
at: build
|
|
||||||
- run: *run_soltest
|
|
||||||
- store_test_results: *store_test_results
|
|
||||||
- store_artifacts: *artifacts_test_results
|
|
||||||
|
|
||||||
- test_ubuntu1904: &test_ubuntu1904
|
- test_ubuntu1904: &test_ubuntu1904
|
||||||
docker:
|
docker:
|
||||||
- image: ethereum/solidity-buildpack-deps:ubuntu1904
|
- image: ethereum/solidity-buildpack-deps:ubuntu1904
|
||||||
steps: *test_steps
|
steps:
|
||||||
|
- checkout
|
||||||
|
- attach_workspace:
|
||||||
|
at: build
|
||||||
|
- run: *run_soltest
|
||||||
|
- store_test_results: *store_test_results
|
||||||
|
- store_artifacts: *artifacts_test_results
|
||||||
|
|
||||||
|
- test_ubuntu1904_all: &test_ubuntu1904
|
||||||
|
docker:
|
||||||
|
- image: ethereum/solidity-buildpack-deps:ubuntu1904
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- attach_workspace:
|
||||||
|
at: build
|
||||||
|
- run: *run_soltest_all
|
||||||
|
- store_test_results: *store_test_results
|
||||||
|
- store_artifacts: *artifacts_test_results
|
||||||
|
|
||||||
- test_asan: &test_asan
|
- test_asan: &test_asan
|
||||||
<<: *test_ubuntu1904
|
<<: *test_ubuntu1904
|
||||||
@ -445,6 +458,9 @@ jobs:
|
|||||||
path: docs/_build/html/
|
path: docs/_build/html/
|
||||||
destination: docs-html
|
destination: docs-html
|
||||||
|
|
||||||
|
t_ubu_soltest: &t_ubu_soltest
|
||||||
|
<<: *test_ubuntu1904
|
||||||
|
|
||||||
t_ubu_cli: &t_ubu_cli
|
t_ubu_cli: &t_ubu_cli
|
||||||
docker:
|
docker:
|
||||||
- image: ethereum/solidity-buildpack-deps:ubuntu1904
|
- image: ethereum/solidity-buildpack-deps:ubuntu1904
|
||||||
@ -480,61 +496,6 @@ jobs:
|
|||||||
OPTIMIZE: 0
|
OPTIMIZE: 0
|
||||||
ASAN_OPTIONS: check_initialization_order=true:detect_stack_use_after_return=true:strict_init_order=true:strict_string_checks=true:detect_invalid_pointer_pairs=2
|
ASAN_OPTIONS: check_initialization_order=true:detect_stack_use_after_return=true:strict_init_order=true:strict_string_checks=true:detect_invalid_pointer_pairs=2
|
||||||
|
|
||||||
t_ubu_homestead:
|
|
||||||
<<: *test_ubuntu1904
|
|
||||||
environment:
|
|
||||||
EVM: homestead
|
|
||||||
OPTIMIZE: 0
|
|
||||||
|
|
||||||
t_ubu_homestead_opt:
|
|
||||||
<<: *test_ubuntu1904
|
|
||||||
environment:
|
|
||||||
EVM: homestead
|
|
||||||
OPTIMIZE: 1
|
|
||||||
|
|
||||||
t_ubu_byzantium:
|
|
||||||
<<: *test_ubuntu1904
|
|
||||||
environment:
|
|
||||||
EVM: byzantium
|
|
||||||
OPTIMIZE: 0
|
|
||||||
|
|
||||||
t_ubu_byzantium_opt:
|
|
||||||
<<: *test_ubuntu1904
|
|
||||||
environment:
|
|
||||||
EVM: byzantium
|
|
||||||
OPTIMIZE: 1
|
|
||||||
|
|
||||||
t_ubu_constantinople:
|
|
||||||
<<: *test_ubuntu1904
|
|
||||||
environment:
|
|
||||||
EVM: constantinople
|
|
||||||
OPTIMIZE: 0
|
|
||||||
|
|
||||||
t_ubu_constantinople_opt:
|
|
||||||
<<: *test_ubuntu1904
|
|
||||||
environment:
|
|
||||||
EVM: constantinople
|
|
||||||
OPTIMIZE: 1
|
|
||||||
|
|
||||||
t_ubu_constantinople_opt_abiv2:
|
|
||||||
<<: *test_ubuntu1904
|
|
||||||
environment:
|
|
||||||
EVM: constantinople
|
|
||||||
OPTIMIZE: 1
|
|
||||||
ABI_ENCODER_V2: 1
|
|
||||||
|
|
||||||
t_ubu_petersburg:
|
|
||||||
<<: *test_ubuntu1904
|
|
||||||
environment:
|
|
||||||
EVM: petersburg
|
|
||||||
OPTIMIZE: 0
|
|
||||||
|
|
||||||
t_ubu_petersburg_opt:
|
|
||||||
<<: *test_ubuntu1904
|
|
||||||
environment:
|
|
||||||
EVM: petersburg
|
|
||||||
OPTIMIZE: 1
|
|
||||||
|
|
||||||
t_ems_solcjs:
|
t_ems_solcjs:
|
||||||
docker:
|
docker:
|
||||||
- image: circleci/node:10
|
- image: circleci/node:10
|
||||||
@ -619,19 +580,11 @@ workflows:
|
|||||||
- b_osx: *workflow_trigger_on_tags
|
- b_osx: *workflow_trigger_on_tags
|
||||||
- t_osx_cli: *workflow_osx
|
- t_osx_cli: *workflow_osx
|
||||||
|
|
||||||
# Ubuntu 18.10 build and tests
|
# Ubuntu build and tests
|
||||||
- b_ubu: *workflow_trigger_on_tags
|
- b_ubu: *workflow_trigger_on_tags
|
||||||
- b_ubu18: *workflow_trigger_on_tags
|
- b_ubu18: *workflow_trigger_on_tags
|
||||||
- t_ubu_cli: *workflow_ubuntu1904
|
- t_ubu_cli: *workflow_ubuntu1904
|
||||||
- t_ubu_homestead: *workflow_ubuntu1904
|
- t_ubu_soltest: *workflow_ubuntu1904
|
||||||
- t_ubu_homestead_opt: *workflow_ubuntu1904
|
|
||||||
- t_ubu_byzantium: *workflow_ubuntu1904
|
|
||||||
- t_ubu_byzantium_opt: *workflow_ubuntu1904
|
|
||||||
- t_ubu_constantinople: *workflow_ubuntu1904
|
|
||||||
- t_ubu_constantinople_opt: *workflow_ubuntu1904
|
|
||||||
- t_ubu_constantinople_opt_abiv2: *workflow_ubuntu1904
|
|
||||||
- t_ubu_petersburg: *workflow_ubuntu1904
|
|
||||||
- t_ubu_petersburg_opt: *workflow_ubuntu1904
|
|
||||||
|
|
||||||
# ASan build and tests
|
# ASan build and tests
|
||||||
- b_ubu_asan: *workflow_trigger_on_tags
|
- b_ubu_asan: *workflow_trigger_on_tags
|
||||||
|
@ -45,7 +45,15 @@ mkdir -p test_results
|
|||||||
# in case we run with ASAN enabled, we must increase stck size.
|
# in case we run with ASAN enabled, we must increase stck size.
|
||||||
ulimit -s 16384
|
ulimit -s 16384
|
||||||
|
|
||||||
BOOST_TEST_ARGS="--color_output=no --show_progress=yes --logger=JUNIT,error,test_results/$EVM.xml"
|
get_logfile_basename() {
|
||||||
|
local filename="${EVM}"
|
||||||
|
test "${OPTIMIZE}" = "1" && filename="${filename}_opt"
|
||||||
|
test "${ABI_ENCODER_V2}" = "1" && filename="${filename}_abiv2"
|
||||||
|
|
||||||
|
echo -ne "${filename}"
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_TEST_ARGS="--color_output=no --show_progress=yes --logger=JUNIT,error,test_results/`get_logfile_basename`.xml"
|
||||||
SOLTEST_ARGS="--evm-version=$EVM --evmonepath /usr/lib/libevmone.so $flags"
|
SOLTEST_ARGS="--evm-version=$EVM --evmonepath /usr/lib/libevmone.so $flags"
|
||||||
test "${OPTIMIZE}" = "1" && SOLTEST_ARGS="${SOLTEST_ARGS} --optimize"
|
test "${OPTIMIZE}" = "1" && SOLTEST_ARGS="${SOLTEST_ARGS} --optimize"
|
||||||
test "${ABI_ENCODER_V2}" = "1" && SOLTEST_ARGS="${SOLTEST_ARGS} --abiencoderv2 --optimize-yul"
|
test "${ABI_ENCODER_V2}" = "1" && SOLTEST_ARGS="${SOLTEST_ARGS} --abiencoderv2 --optimize-yul"
|
||||||
|
37
.circleci/soltest_all.sh
Executable file
37
.circleci/soltest_all.sh
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# Bash script to execute the Solidity tests by CircleCI.
|
||||||
|
#
|
||||||
|
# The documentation for solidity is hosted at:
|
||||||
|
#
|
||||||
|
# https://solidity.readthedocs.org
|
||||||
|
#
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
# This file is part of solidity.
|
||||||
|
#
|
||||||
|
# solidity is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# solidity is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with solidity. If not, see <http://www.gnu.org/licenses/>
|
||||||
|
#
|
||||||
|
# (c) 2016-2019 solidity contributors.
|
||||||
|
# ------------------------------------------------------------------------------
|
||||||
|
set -e
|
||||||
|
|
||||||
|
REPODIR="$(realpath $(dirname $0)/..)"
|
||||||
|
|
||||||
|
for OPTIMIZE in 0 1; do
|
||||||
|
for EVM in homestead byzantium constantinople petersburg; do
|
||||||
|
EVM=$EVM OPTIMIZE=$OPTIMIZE ${REPODIR}/.circleci/soltest.sh
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
EVM=constantinople OPTIMIZE=1 ABI_ENCODER_V2=1 ${REPODIR}/.circleci/soltest.sh
|
Loading…
Reference in New Issue
Block a user