mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
externalTests: Generalize force_truffle_solc_modules and make it use symlinks instead of redownloading solc-js
This commit is contained in:
parent
c090ff9d83
commit
0745279f15
@ -52,7 +52,7 @@ function colony_test
|
|||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
replace_version_pragmas
|
replace_version_pragmas
|
||||||
force_truffle_solc_modules "$SOLJSON"
|
force_solc_modules "${DIR}/solc"
|
||||||
|
|
||||||
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
||||||
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
||||||
|
@ -112,25 +112,22 @@ function neutralize_package_json_hooks
|
|||||||
sed -i 's|"prepare": *".*"|"prepare": ""|g' package.json
|
sed -i 's|"prepare": *".*"|"prepare": ""|g' package.json
|
||||||
}
|
}
|
||||||
|
|
||||||
function force_truffle_solc_modules
|
function force_solc_modules
|
||||||
{
|
{
|
||||||
local soljson="$1"
|
local custom_solcjs_path="${1:-solc/}"
|
||||||
|
|
||||||
# Replace solc package by v0.5.0 and then overwrite with current version.
|
[[ -d node_modules/ ]] || assertFail
|
||||||
printLog "Forcing solc version for all Truffle modules..."
|
|
||||||
for d in node_modules node_modules/truffle/node_modules
|
printLog "Replacing all installed solc-js with a link to the latest version..."
|
||||||
|
soljson_binaries=$(find node_modules -type f -path "*/solc/soljson.js")
|
||||||
|
for soljson_binary in $soljson_binaries
|
||||||
do
|
do
|
||||||
(
|
local solc_module_path
|
||||||
if [ -d "$d" ]; then
|
solc_module_path=$(dirname "$soljson_binary")
|
||||||
cd $d
|
|
||||||
rm -rf solc
|
|
||||||
git clone --depth 1 -b master https://github.com/ethereum/solc-js.git solc
|
|
||||||
cp "$soljson" solc/soljson.js
|
|
||||||
|
|
||||||
cd solc
|
printLog "Found and replaced solc-js in $solc_module_path"
|
||||||
npm install
|
rm -r "$solc_module_path"
|
||||||
fi
|
ln -s "$custom_solcjs_path" "$solc_module_path"
|
||||||
)
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ function ens_test
|
|||||||
npm install
|
npm install
|
||||||
|
|
||||||
replace_version_pragmas
|
replace_version_pragmas
|
||||||
force_truffle_solc_modules "$SOLJSON"
|
force_solc_modules "${DIR}/solc"
|
||||||
|
|
||||||
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
||||||
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
||||||
|
@ -51,7 +51,7 @@ function gnosis_safe_test
|
|||||||
npm install --package-lock
|
npm install --package-lock
|
||||||
|
|
||||||
replace_version_pragmas
|
replace_version_pragmas
|
||||||
force_truffle_solc_modules "$SOLJSON"
|
force_solc_modules "${DIR}/solc"
|
||||||
|
|
||||||
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
||||||
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
||||||
|
@ -49,7 +49,7 @@ function gnosis_safe_test
|
|||||||
npm install --package-lock
|
npm install --package-lock
|
||||||
|
|
||||||
replace_version_pragmas
|
replace_version_pragmas
|
||||||
force_truffle_solc_modules "$SOLJSON"
|
force_solc_modules "${DIR}/solc"
|
||||||
|
|
||||||
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
||||||
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
||||||
|
@ -46,7 +46,7 @@ function zeppelin_test
|
|||||||
npm install
|
npm install
|
||||||
|
|
||||||
replace_version_pragmas
|
replace_version_pragmas
|
||||||
force_truffle_solc_modules "$SOLJSON"
|
force_solc_modules "${DIR}/solc"
|
||||||
|
|
||||||
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
for level in $(seq "$min_optimizer_level" "$max_optimizer_level"); do
|
||||||
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
truffle_run_test "$config_file" "${DIR}/solc" "$level" compile_fn test_fn
|
||||||
|
Loading…
Reference in New Issue
Block a user