mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	externalTests: With COMPILE_ONLY=1 still do compilation on all levels if only JS tests fail
This commit is contained in:
		
							parent
							
								
									113ecbdeb3
								
							
						
					
					
						commit
						1124e28628
					
				| @ -36,12 +36,16 @@ function colony_test | ||||
|     local repo="https://github.com/solidity-external-tests/colonyNetwork.git" | ||||
|     local branch=develop_080 | ||||
|     local config_file="truffle.js" | ||||
| 
 | ||||
|     local compile_only_presets=( | ||||
|         ir-no-optimize            # Compiles but tests run out of gas | ||||
|         ir-optimize-evm-only      # Compiles but tests run out of gas | ||||
|         legacy-no-optimize        # Compiles but tests run out of gas | ||||
|         legacy-optimize-evm-only  # Compiles but tests run out of gas | ||||
|     ) | ||||
|     local settings_presets=( | ||||
|         #ir-no-optimize            # Compiles but tests run out of gas | ||||
|         #ir-optimize-evm-only      # Compiles but tests run out of gas | ||||
|         "${compile_only_presets[@]}" | ||||
|         ir-optimize-evm+yul | ||||
|         #legacy-no-optimize        # Compiles but tests run out of gas | ||||
|         #legacy-optimize-evm-only  # Compiles but tests run out of gas | ||||
|         legacy-optimize-evm+yul | ||||
|     ) | ||||
| 
 | ||||
| @ -67,7 +71,7 @@ function colony_test | ||||
|     [[ $BINARY_TYPE == solcjs ]] && force_solc_modules "${DIR}/solc" | ||||
| 
 | ||||
|     for preset in $selected_optimizer_presets; do | ||||
|         truffle_run_test "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$preset" compile_fn test_fn | ||||
|         truffle_run_test "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$preset" "${compile_only_presets[*]}" compile_fn test_fn | ||||
|     done | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -328,12 +328,16 @@ function compile_and_run_test | ||||
|     local compile_fn="$1" | ||||
|     local test_fn="$2" | ||||
|     local verify_fn="$3" | ||||
|     local preset="$4" | ||||
|     local compile_only_presets="$5" | ||||
| 
 | ||||
|     [[ $preset != *" "* ]] || assertFail "Preset names must not contain spaces." | ||||
| 
 | ||||
|     printLog "Running compile function..." | ||||
|     time $compile_fn | ||||
|     $verify_fn "$SOLCVERSION_SHORT" "$SOLCVERSION" | ||||
| 
 | ||||
|     if [[ "$COMPILE_ONLY" == 1 ]]; then | ||||
|     if [[ "$COMPILE_ONLY" == 1 || " $compile_only_presets " == *" $preset "* ]]; then | ||||
|         printLog "Skipping test function..." | ||||
|     else | ||||
|         printLog "Running test function..." | ||||
| @ -347,24 +351,26 @@ function truffle_run_test | ||||
|     local binary_type="$2" | ||||
|     local solc_path="$3" | ||||
|     local preset="$4" | ||||
|     local compile_fn="$5" | ||||
|     local test_fn="$6" | ||||
|     local compile_only_presets="$5" | ||||
|     local compile_fn="$6" | ||||
|     local test_fn="$7" | ||||
| 
 | ||||
|     truffle_clean | ||||
|     force_truffle_compiler_settings "$config_file" "$binary_type" "$solc_path" "$preset" | ||||
|     compile_and_run_test compile_fn test_fn truffle_verify_compiler_version | ||||
|     compile_and_run_test compile_fn test_fn truffle_verify_compiler_version "$preset" "$compile_only_presets" | ||||
| } | ||||
| 
 | ||||
| function hardhat_run_test | ||||
| { | ||||
|     local config_file="$1" | ||||
|     local preset="$2" | ||||
|     local compile_fn="$3" | ||||
|     local test_fn="$4" | ||||
|     local compile_only_presets="$3" | ||||
|     local compile_fn="$4" | ||||
|     local test_fn="$5" | ||||
| 
 | ||||
|     hardhat_clean | ||||
|     force_hardhat_compiler_settings "$config_file" "$preset" | ||||
|     compile_and_run_test compile_fn test_fn hardhat_verify_compiler_version | ||||
|     compile_and_run_test compile_fn test_fn hardhat_verify_compiler_version "$preset" "$compile_only_presets" | ||||
| } | ||||
| 
 | ||||
| function external_test | ||||
|  | ||||
| @ -36,7 +36,10 @@ function ens_test | ||||
|     local repo="https://github.com/ensdomains/ens.git" | ||||
|     local branch=master | ||||
|     local config_file="truffle.js" | ||||
| 
 | ||||
|     local compile_only_presets=() | ||||
|     local settings_presets=( | ||||
|         "${compile_only_presets[@]}" | ||||
|         #ir-no-optimize           # "YulException: Variable var_ttl_236 is 1 slot(s) too deep inside the stack." | ||||
|         #ir-optimize-evm-only     # "YulException: Variable var_ttl_236 is 1 slot(s) too deep inside the stack." | ||||
|         ir-optimize-evm+yul | ||||
| @ -65,7 +68,7 @@ function ens_test | ||||
|     [[ $BINARY_TYPE == solcjs ]] && force_solc_modules "${DIR}/solc" | ||||
| 
 | ||||
|     for preset in $selected_optimizer_presets; do | ||||
|         truffle_run_test "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$preset" compile_fn test_fn | ||||
|         truffle_run_test "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$preset" "${compile_only_presets[*]}" compile_fn test_fn | ||||
|     done | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -36,11 +36,15 @@ function gnosis_safe_test | ||||
|     local repo="https://github.com/solidity-external-tests/safe-contracts.git" | ||||
|     local branch=v2_080 | ||||
|     local config_file="truffle-config.js" | ||||
| 
 | ||||
|     local compile_only_presets=( | ||||
|         legacy-no-optimize        # "Error: while migrating GnosisSafe: Returned error: base fee exceeds gas limit" | ||||
|     ) | ||||
|     local settings_presets=( | ||||
|         "${compile_only_presets[@]}" | ||||
|         #ir-no-optimize           # "YulException: Variable var_call_430_mpos is 1 slot(s) too deep inside the stack." | ||||
|         #ir-optimize-evm-only     # "YulException: Variable var_call_430_mpos is 1 slot(s) too deep inside the stack." | ||||
|         ir-optimize-evm+yul | ||||
|         #legacy-no-optimize       # "Error: while migrating GnosisSafe: Returned error: base fee exceeds gas limit" | ||||
|         legacy-optimize-evm-only | ||||
|         legacy-optimize-evm+yul | ||||
|     ) | ||||
| @ -65,7 +69,7 @@ function gnosis_safe_test | ||||
|     [[ $BINARY_TYPE == solcjs ]] && force_solc_modules "${DIR}/solc" | ||||
| 
 | ||||
|     for preset in $selected_optimizer_presets; do | ||||
|         truffle_run_test "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$preset" compile_fn test_fn | ||||
|         truffle_run_test "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$preset" "${compile_only_presets[*]}" compile_fn test_fn | ||||
|     done | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -36,7 +36,10 @@ function gnosis_safe_test | ||||
|     local repo="https://github.com/solidity-external-tests/safe-contracts.git" | ||||
|     local branch=development_080 | ||||
|     local config_file="truffle-config.js" | ||||
| 
 | ||||
|     local compile_only_presets=() | ||||
|     local settings_presets=( | ||||
|         "${compile_only_presets[@]}" | ||||
|         #ir-no-optimize            # "YulException: Variable var_call_430_mpos is 1 slot(s) too deep inside the stack." | ||||
|         #ir-optimize-evm-only      # "YulException: Variable var_call_430_mpos is 1 slot(s) too deep inside the stack." | ||||
|         ir-optimize-evm+yul | ||||
| @ -64,7 +67,7 @@ function gnosis_safe_test | ||||
|     [[ $BINARY_TYPE == solcjs ]] && force_solc_modules "${DIR}/solc" | ||||
| 
 | ||||
|     for preset in $selected_optimizer_presets; do | ||||
|         truffle_run_test "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$preset" compile_fn test_fn | ||||
|         truffle_run_test "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$preset" "${compile_only_presets[*]}" compile_fn test_fn | ||||
|     done | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -36,10 +36,14 @@ function zeppelin_test | ||||
|     local repo="https://github.com/OpenZeppelin/openzeppelin-contracts.git" | ||||
|     local branch=master | ||||
|     local config_file="hardhat.config.js" | ||||
| 
 | ||||
|     local compile_only_presets=( | ||||
|         ir-optimize-evm+yul       # Compiles but tests fail. See https://github.com/nomiclabs/hardhat/issues/2115 | ||||
|     ) | ||||
|     local settings_presets=( | ||||
|         "${compile_only_presets[@]}" | ||||
|         #ir-no-optimize           # "YulException: Variable var_account_852 is 4 slot(s) too deep inside the stack." | ||||
|         #ir-optimize-evm-only     # "YulException: Variable var_account_852 is 4 slot(s) too deep inside the stack." | ||||
|         #ir-optimize-evm+yul      # Compiles but tests fail. See https://github.com/nomiclabs/hardhat/issues/2115 | ||||
|         legacy-no-optimize | ||||
|         legacy-optimize-evm-only | ||||
|         legacy-optimize-evm+yul | ||||
| @ -60,7 +64,7 @@ function zeppelin_test | ||||
|     replace_version_pragmas | ||||
| 
 | ||||
|     for preset in $selected_optimizer_presets; do | ||||
|         hardhat_run_test "$config_file" "$preset" compile_fn test_fn | ||||
|         hardhat_run_test "$config_file" "$preset" "${compile_only_presets[*]}" compile_fn test_fn | ||||
|     done | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user