From 822ce5b8b02a50b22a80d06a515a58972f0a60e4 Mon Sep 17 00:00:00 2001 From: Erik Marks <25517051+rekmarks@users.noreply.github.com> Date: Wed, 6 Oct 2021 07:35:23 -0700 Subject: [PATCH] Fix unit test package scripts (#12278) This PR fixes our local unit test package scripts. When the state migration unit tests were migrated to Jest in #12106, it left the `test:unit` script in a broken state, because it didn't tell `mocha` to ignore the state migration tests. Arguably, that script was already broken, since the most reasonably expectation from its name is that it runs _all_ unit tests. The PR makes it so that it does just that, by means of `concurrently`. Unfortunately, `concurrently` only outputs errors from child processes once (at the time when they exit, https://github.com/open-cli-tools/concurrently/issues/134). This means that we have to search/navigate the output for this combined script to identify the failure. That said, it's better than the status quo. --- package.json | 5 +++-- test/test-unit-combined.sh | 11 +++++++++++ test/{run-jest.sh => test-unit-jest.sh} | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100755 test/test-unit-combined.sh rename test/{run-jest.sh => test-unit-jest.sh} (78%) diff --git a/package.json b/package.json index 162649c8308b..887b99329067 100644 --- a/package.json +++ b/package.json @@ -24,9 +24,10 @@ "dapp-chain": "GANACHE_ARGS='-b 2' concurrently -k -n ganache,dapp -p '[{time}][{name}]' 'yarn ganache:start' 'sleep 5 && yarn dapp'", "forwarder": "node ./development/static-server.js ./node_modules/@metamask/forwarder/dist/ --port 9010", "dapp-forwarder": "concurrently -k -n forwarder,dapp -p '[{time}][{name}]' 'yarn forwarder' 'yarn dapp'", - "test:unit": "mocha --exit --require test/env.js --require test/setup.js --recursive './app/**/*.test.js'", + "test:unit": "./test/test-unit-combined.sh", + "test:unit:jest": "./test/test-unit-jest.sh", "test:unit:global": "mocha --exit --require test/env.js --require test/setup.js --recursive test/unit-global/*.test.js", - "test:unit:jest": "./test/run-jest.sh", + "test:unit:mocha": "mocha --exit --require test/env.js --require test/setup.js --ignore './app/scripts/migrations/*.test.js' --recursive './app/**/*.test.js'", "test:unit:lax": "mocha --exit --require test/env.js --require test/setup.js --ignore './app/scripts/controllers/permissions/*.test.js' --ignore './app/scripts/migrations/*.test.js' --recursive './app/**/*.test.js'", "test:unit:strict": "mocha --exit --require test/env.js --require test/setup.js --recursive './app/scripts/controllers/permissions/*.test.js'", "test:unit:path": "mocha --exit --require test/env.js --require test/setup.js --recursive", diff --git a/test/test-unit-combined.sh b/test/test-unit-combined.sh new file mode 100755 index 000000000000..d793ba752f14 --- /dev/null +++ b/test/test-unit-combined.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +set -x +set -e +set -u +set -o pipefail + +concurrently --raw -n mocha,jest,global \ + "yarn test:unit:mocha" \ + "yarn test:unit:jest" \ + "yarn test:unit:global" diff --git a/test/run-jest.sh b/test/test-unit-jest.sh similarity index 78% rename from test/run-jest.sh rename to test/test-unit-jest.sh index 40b2087325b2..384124920352 100755 --- a/test/run-jest.sh +++ b/test/test-unit-jest.sh @@ -5,6 +5,6 @@ set -e set -u set -o pipefail -concurrently \ +concurrently -n production,development \ "jest --config=./jest.config.js $*" \ "jest --config=./development/jest.config.js $*"