From 1ad66aeb6d7d94f8e4c8e2286569722ca41f9868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 16 Oct 2023 18:54:54 +0200 Subject: [PATCH] Build: Run pretest before test:* npm scripts Build was already happening in scripts like `test:browser` but those scripts were missing `pretest`, meaning that running `npm install && npm test:browser` may have failed if `pretest` wasn't run before or if its results were out of date. Even worse, with such stale data some tests may erroneously succeed. This also removes a separate `pretest` step from GitHub Actions as it's no longer needed. Closes gh-5338 --- .github/workflows/node.js.yml | 3 --- package.json | 16 ++++++++-------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 5be13bcdd..241cd36bb 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -74,9 +74,6 @@ jobs: run: npm run build:all && npm run lint if: matrix.NODE_VERSION == '18.x' - - name: Prepare tests - run: npm run pretest - - name: Run tests env: BROWSERS: ${{ matrix.BROWSERS }} diff --git a/package.json b/package.json index 4c3d4a9ec..84af77c52 100644 --- a/package.json +++ b/package.json @@ -52,14 +52,14 @@ "pretest": "npm run qunit-fixture && npm run babel:tests && npm run npmcopy", "qunit-fixture": "node build/tasks/qunit-fixture.js", "start": "node -e \"require('./build/tasks/build.js').buildDefaultFiles({ watch: true })\"", - "test:browserless": "npm run test:node_smoke_tests && npm run test:promises_aplus && npm run test:jsdom", - "test:browser": "npm run build:all && grunt karma:main", - "test:esmodules": "npm run build:main && grunt karma:esmodules", - "test:jsdom": "npm run build:main && grunt test:jsdom", - "test:no-deprecated": "npm run build -- -e deprecated && grunt karma:main", - "test:selector-native": "npm run build -- -e selector && grunt karma:main", - "test:slim": "npm run build -- --slim && grunt karma:main", - "test:node_smoke_tests": "npm run build:all && node build/tasks/node_smoke_tests.js", + "test:browserless": "npm run pretest && npm run test:node_smoke_tests && npm run test:promises_aplus && npm run test:jsdom", + "test:browser": "npm run pretest && npm run build:all && grunt karma:main", + "test:esmodules": "npm run pretest && npm run build:main && grunt karma:esmodules", + "test:jsdom": "npm run pretest && npm run build:main && grunt test:jsdom", + "test:no-deprecated": "npm run pretest && npm run build -- -e deprecated && grunt karma:main", + "test:selector-native": "npm run pretest && npm run build -- -e selector && grunt karma:main", + "test:slim": "npm run pretest && npm run build -- --slim && grunt karma:main", + "test:node_smoke_tests": "npm run pretest && npm run build:all && node build/tasks/node_smoke_tests.js", "test:promises_aplus": "npm run build:main && node build/tasks/promises_aplus_tests.js", "test": "npm run build:all && npm run lint && npm run test:browserless && npm run test:browser && npm run test:esmodules && npm run test:slim && npm run test:no-deprecated && npm run test:selector-native" },