mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Merges soltest tests per EVM/flags into a single one.
Because of EVMONE, speeds up test runs we can do that now.
This commit is contained in:
		
							parent
							
								
									a075588618
								
							
						
					
					
						commit
						b94bdfcec0
					
				| @ -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 | ||||||
|  | |||||||
							
								
								
									
										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