From 56232c5f8df8f9b3f0988fbdf6dac692e2d896ca Mon Sep 17 00:00:00 2001 From: amusingaxl <112016538+amusingaxl@users.noreply.github.com> Date: Wed, 26 Jul 2023 18:56:44 +0200 Subject: [PATCH] feat: add `no-match` option to `make test-forge` --- Makefile | 2 +- scripts/test-dssspell-forge.sh | 23 ++++++++++++++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 5aecf10cc..f468246d5 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ all :; DAPP_LIBRARIES=' lib/dss-exec-lib/src/DssExecLib.sol:Dss clean :; forge clean # Usage example: make test match=SpellIsCast test :; ./scripts/test-dssspell-forge.sh match="$(match)" block="$(block)" -test-forge :; ./scripts/test-dssspell-forge.sh match="$(match)" block="$(block)" +test-forge :; ./scripts/test-dssspell-forge.sh match="$(match)" no-match="$(no-match)" block="$(block)" estimate :; ./scripts/estimate-deploy-gas.sh deploy :; ./scripts/deploy.sh deploy-info :; ./scripts/get-deploy-info.sh tx=$(tx) diff --git a/scripts/test-dssspell-forge.sh b/scripts/test-dssspell-forge.sh index 36bff4242..f64a2ff4e 100755 --- a/scripts/test-dssspell-forge.sh +++ b/scripts/test-dssspell-forge.sh @@ -10,6 +10,7 @@ do case "$KEY" in match) MATCH="$VALUE" ;; + no-match) NO_MATCH="$VALUE" ;; block) BLOCK="$VALUE" ;; *) esac @@ -18,16 +19,20 @@ done DSS_EXEC_LIB=$(< DssExecLib.address) echo "Using DssExecLib at: $DSS_EXEC_LIB" export FOUNDRY_LIBRARIES="lib/dss-exec-lib/src/DssExecLib.sol:DssExecLib:$DSS_EXEC_LIB" -export FOUNDRY_OPTIMIZER=true +export FOUNDRY_OPTIMIZER=false export FOUNDRY_OPTIMIZER_RUNS=200 export FOUNDRY_ROOT_CHAINID=1 -if [[ -z "$MATCH" && -z "$BLOCK" ]]; then - forge test --fork-url "$ETH_RPC_URL" -elif [[ -z "$BLOCK" ]]; then - forge test --fork-url "$ETH_RPC_URL" --match-test "$MATCH" -vvv -elif [[ -z "$MATCH" ]]; then - forge test --fork-url "$ETH_RPC_URL" --fork-block-number "$BLOCK" -else - forge test --fork-url "$ETH_RPC_URL" --match-test "$MATCH" --fork-block-number "$BLOCK" -vvv +EXTRA_ARGS='' + +if [[ -n "$MATCH" ]]; then + EXTRA_ARGS="${EXTRA_ARGS} -vvv --match-test ${MATCH}" +elif [[ -n "$NO_MATCH" ]]; then + EXTRA_ARGS="${EXTRA_ARGS} -vvv --no-match-test ${NO_MATCH}" +fi + +if [[ -n "$BLOCK" ]]; then + EXTRA_ARGS="${EXTRA_ARGS} --fork-block-number ${BLOCK}" fi + +forge test --fork-url "$ETH_RPC_URL" $EXTRA_ARGS