externalTests: Add support for using a native binary

This commit is contained in:
Kamil Śliwak
2021-12-10 17:43:57 +01:00
parent 68ff073b3b
commit eb8e304b47
8 changed files with 97 additions and 51 deletions
+7 -5
View File
@@ -25,7 +25,8 @@ source scripts/common.sh
source test/externalTests/common.sh
verify_input "$@"
BINARY_PATH="$1"
BINARY_TYPE="$1"
BINARY_PATH="$2"
function compile_fn { npx truffle compile; }
function test_fn { npm run test; }
@@ -42,22 +43,23 @@ function ens_test
selected_optimizer_levels=$(circleci_select_steps "$(seq "$min_optimizer_level" "$max_optimizer_level")")
print_optimizer_levels_or_exit "$selected_optimizer_levels"
setup_solcjs "$DIR" "$BINARY_PATH"
setup_solc "$DIR" "$BINARY_TYPE" "$BINARY_PATH"
download_project "$repo" "$branch" "$DIR"
[[ $BINARY_TYPE == native ]] && replace_global_solc "$BINARY_PATH"
# Use latest Truffle. Older versions crash on the output from 0.8.0.
force_truffle_version ^5.1.55
neutralize_package_lock
neutralize_package_json_hooks
force_truffle_compiler_settings "$config_file" "${DIR}/solc" "$min_optimizer_level"
force_truffle_compiler_settings "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$min_optimizer_level"
npm install
replace_version_pragmas
force_solc_modules "${DIR}/solc"
[[ $BINARY_TYPE == solcjs ]] && force_solc_modules "${DIR}/solc"
for level in $selected_optimizer_levels; do
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
truffle_run_test "$config_file" "$BINARY_TYPE" "${DIR}/solc" "$level" compile_fn test_fn
done
}