From dc8c00f55b70dbb98f58056e03e340c7091b427e Mon Sep 17 00:00:00 2001 From: Silas Rech Date: Tue, 30 Apr 2024 12:27:25 +0200 Subject: [PATCH 1/4] Enable node 22 support --- .github/workflows/ci.yml | 2 +- package-lock.json | 2 +- package.json | 2 +- test/external-assertions/snapshots/test.js.md | 97 ++++++++++++++++++ .../snapshots/test.js.snap | Bin 481 -> 499 bytes test/external-assertions/test.js | 1 + 6 files changed, 101 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eef81519f..4c667e91c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - node-version: [^18.18, ^20.8, ^21] + node-version: [^18.18, ^20.8, ^21, ^22] os: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v4 diff --git a/package-lock.json b/package-lock.json index a8427df3e..d87a60cf0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -71,7 +71,7 @@ "zen-observable": "^0.10.0" }, "engines": { - "node": "^18.18 || ^20.8 || ^21" + "node": "^18.18 || ^20.8 || ^21 || ^22" }, "peerDependencies": { "@ava/typescript": "*" diff --git a/package.json b/package.json index 4a058c817..70463b958 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ }, "type": "module", "engines": { - "node": "^18.18 || ^20.8 || ^21" + "node": "^18.18 || ^20.8 || ^21 || ^22" }, "scripts": { "test": "./scripts/test.sh" diff --git a/test/external-assertions/snapshots/test.js.md b/test/external-assertions/snapshots/test.js.md index d189b4fbc..0007d1b51 100644 --- a/test/external-assertions/snapshots/test.js.md +++ b/test/external-assertions/snapshots/test.js.md @@ -381,3 +381,100 @@ Generated by [AVA](https://avajs.dev). ─␊ ␊ 2 tests failed` + +## node assertion (node.js v^22) + +> Snapshot 1 + + `␊ + ✘ [fail]: test Assertion failed␊ + ✘ [fail]: test async Assertion failed␊ + ─␊ + ␊ + test␊ + ␊ + Assertion failed: ␊ + ␊ + The expression evaluated to a falsy value:␊ + ␊ + assert(false)␊ + ␊ + AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:␊ + ␊ + assert(false)␊ + ␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + ␊ + ␊ + ␊ + test async␊ + ␊ + Assertion failed: ␊ + ␊ + false == true␊ + ␊ + AssertionError [ERR_ASSERTION]: false == true␊ + at ---␊ + at ---␊ + ␊ + ─␊ + ␊ + 2 tests failed` + +## expect error (node.js v^22) + +> Snapshot 1 + + `␊ + ✘ [fail]: test Assertion failed␊ + ✘ [fail]: test async Assertion failed␊ + ─␊ + ␊ + test␊ + ␊ + Assertion failed: ␊ + ␊ + expect(received).toBeTruthy()␊ + ␊ + Received: false␊ + ␊ + Error: expect(received).toBeTruthy()␊ + ␊ + Received: false␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + at ---␊ + ␊ + ␊ + ␊ + test async␊ + ␊ + Assertion failed: ␊ + ␊ + expect(received).toBeTruthy()␊ + ␊ + Received: false␊ + ␊ + Error: expect(received).toBeTruthy()␊ + ␊ + Received: false␊ + at ---␊ + at ---␊ + ␊ + ─␊ + ␊ + 2 tests failed` diff --git a/test/external-assertions/snapshots/test.js.snap b/test/external-assertions/snapshots/test.js.snap index ceb534c96d669d68907c5847dde81f030b592da9..6b05ebfe0001b3c1453e9f97ae89c1bab32ffabf 100644 GIT binary patch literal 499 zcmV=S-Y(xz7+zM744;OiPkRxg4`a_Gj9ld3w{kl<{^YlFyM?#B2JrFn z4DBxQgN_XhDTDgg=XfuANi~FyLN~GU>0Z-76!G_Bg$=y7O9F~es{xA#I9Jw)<0yu9 z!*QTyh&5bp**|8>P&){(1=~`kVbh_*ehCRINqssurGOJK1 zm~$u;3)!GB*|Q#_i~bNjqs*ccY{diC8|elwaHb>EoOqYW(f<8Zxw(-eiB*u5(v4$P z;25k*xms1``CsNaNHfn;B$R<9<42ApR>20#43t9J;T&nDj7V$skOvhbrF;m7Bp48e z9{8l-QKm{!DC3E_0T$nzGu4Zi~sR pDW%E9jT}j=qclq?O(|_dN=sx-DNQbJEK)HMu008f_>?QyJ literal 481 zcmV<70UrKARzVyI3O#sHNOO@=Wlg3u z8nR_~TiTo6d;kv~ywqp$4SWNiM0VRMElsN^O~C9W?Ck8$&d--0cHFrRsdvjCUQh%g z#NmEKeFVZeG7-=SbU82Ia2Q-xkBopvq{q8d@cXgv6G1NWZ(F&YoE-V>+-~7DuK~P2 zKS8TQg0O9aKrW#Ed7O-*zbuFFQRFSne7w^%P)YK;m|=sAc1Xw(YBdn7k8^1a#wdeU z!*Q2*4Cu=1e*I&*HRbZ)3P%d_HfukPXMYi>rg0| zb0`!G$)GT~v(C`NV1T|+7W4#N))(E8ZpZ{@x-!*ChLn!>&$p(Vn{+6#4zg0b<5(3q z2CGu8Rx{`MU(Rz7=R7Ns$Q&qT{G>yPb+ExI2Z|x>aE`Q6LZrD}ltMA&TrS~&gnc5= z2SI@-T}B{dXlqK6Nsqb`%=pg#{ObZ~rZX{jE5^H9W^9?U{h6_?c+6Rut7WdXq1WPa X)-p>=7dPopA`Y?-*MIK*sS*GHd9vYC diff --git a/test/external-assertions/test.js b/test/external-assertions/test.js index 924a1f3bc..46e3aeb07 100644 --- a/test/external-assertions/test.js +++ b/test/external-assertions/test.js @@ -18,6 +18,7 @@ for (const [label, selector] of Object.entries({ '^20 < 20.11': /^20\.(\d\.|10\.)/, '^20.11': /^20\.(1[1-9]\.|[2-9]\d\.)/, '^21': /^21\./, + '^22': /^22\./, })) { // Tests need to be declared for all versions, so that snapshots can be // updated by running `npx test-ava -u test/external-assertions/test.js` for From cd3fb466252875463db97c23b3182db43ce50c57 Mon Sep 17 00:00:00 2001 From: Silas Rech Date: Wed, 1 May 2024 11:03:04 +0200 Subject: [PATCH 2/4] Fix npm on windows with node 22 --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4c667e91c..9c102f5f4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,6 +28,10 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: npm + - if: runner.os == 'Windows' && matrix.node-version == '^22' + shell: bash + run: | + npm install -g npm - run: npm install --no-audit - run: ./scripts/ci.sh shell: bash From 48714668409e48cf02a3f8fc110cc19881b30a92 Mon Sep 17 00:00:00 2001 From: Mark Wubben Date: Sun, 5 May 2024 21:48:45 +0200 Subject: [PATCH 3/4] Add Node.js 22 reporter logs --- test-tap/reporters/default.edgecases.v22.log | 77 ++++ test-tap/reporters/default.failfast.v22.log | 27 ++ test-tap/reporters/default.failfast2.v22.log | 27 ++ test-tap/reporters/default.only.v22.log | 16 + test-tap/reporters/default.regular.v22.log | 380 ++++++++++++++++++ .../default.timeoutcontextlogs.v22.log | 44 ++ .../default.timeoutinmultiplefiles.v22.log | 40 ++ .../default.timeoutinsinglefile.v22.log | 23 ++ .../default.timeoutwithmatch.v22.log | 21 + test-tap/reporters/default.watch.v22.log | 41 ++ test-tap/reporters/tap.edgecases.v22.log | 60 +++ test-tap/reporters/tap.failfast.v22.log | 20 + test-tap/reporters/tap.failfast2.v22.log | 22 + test-tap/reporters/tap.only.v22.log | 19 + test-tap/reporters/tap.regular.v22.log | 279 +++++++++++++ 15 files changed, 1096 insertions(+) create mode 100644 test-tap/reporters/default.edgecases.v22.log create mode 100644 test-tap/reporters/default.failfast.v22.log create mode 100644 test-tap/reporters/default.failfast2.v22.log create mode 100644 test-tap/reporters/default.only.v22.log create mode 100644 test-tap/reporters/default.regular.v22.log create mode 100644 test-tap/reporters/default.timeoutcontextlogs.v22.log create mode 100644 test-tap/reporters/default.timeoutinmultiplefiles.v22.log create mode 100644 test-tap/reporters/default.timeoutinsinglefile.v22.log create mode 100644 test-tap/reporters/default.timeoutwithmatch.v22.log create mode 100644 test-tap/reporters/default.watch.v22.log create mode 100644 test-tap/reporters/tap.edgecases.v22.log create mode 100644 test-tap/reporters/tap.failfast.v22.log create mode 100644 test-tap/reporters/tap.failfast2.v22.log create mode 100644 test-tap/reporters/tap.only.v22.log create mode 100644 test-tap/reporters/tap.regular.v22.log diff --git a/test-tap/reporters/default.edgecases.v22.log b/test-tap/reporters/default.edgecases.v22.log new file mode 100644 index 000000000..fc7d0ad4f --- /dev/null +++ b/test-tap/reporters/default.edgecases.v22.log @@ -0,0 +1,77 @@ + +---tty-stream-chunk-separator +(node:14147) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ⚠ Could not parse ast-syntax-error.cjs for line number selection + + SyntaxError: Unexpected token (3:11) + +---tty-stream-chunk-separator + Uncaught exception in ast-syntax-error.cjs + + ~/test-tap/fixture/report/edgecases/ast-syntax-error.cjs:3 + const fn = do { + ^^ + + SyntaxError: Unexpected token 'do' + +---tty-stream-chunk-separator + ✘ ast-syntax-error.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator +(node:14149) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✘ No tests found in ava-import-no-test-declaration.cjs +---tty-stream-chunk-separator +(node:14151) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + + Uncaught exception in import-and-use-test-member.cjs + + import-and-use-test-member.cjs:3 + + 2: +  3: test('pass', t => t.pass()); + 4: + + TypeError: test is not a function + + › Object. (test-tap/fixture/report/edgecases/import-and-use-test-member.cjs:3:1) + +---tty-stream-chunk-separator + ✘ import-and-use-test-member.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator +(node:14153) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✘ No tests found in no-ava-import.cjs, make sure to import "ava" at the top of your test file +---tty-stream-chunk-separator +(node:14154) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✘ Line numbers for test.cjs did not match any tests +---tty-stream-chunk-separator +(node:14155) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + + Uncaught exception in throws.cjs + + throws.cjs:1 + +  1: throw new Error('throws'); + 2: + + Error: throws + + › Object. (test-tap/fixture/report/edgecases/throws.cjs:1:7) + +---tty-stream-chunk-separator + ✘ throws.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator + ─ + + 3 uncaught exceptions +---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.failfast.v22.log b/test-tap/reporters/default.failfast.v22.log new file mode 100644 index 000000000..e1af2d783 --- /dev/null +++ b/test-tap/reporters/default.failfast.v22.log @@ -0,0 +1,27 @@ + +---tty-stream-chunk-separator +(node:14129) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✘ [fail]: a › fails Test failed via `t.fail()` +---tty-stream-chunk-separator + ─ + + a › fails + + a.cjs:3 + + 2: +  3: test('fails', t => t.fail()); + 4: + + Test failed via `t.fail()` + + › test-tap/fixture/report/failfast/a.cjs:3:22 + + ─ + + `--fail-fast` is on. 1 test file was skipped. + + 1 test failed +---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.failfast2.v22.log b/test-tap/reporters/default.failfast2.v22.log new file mode 100644 index 000000000..6bcca3c93 --- /dev/null +++ b/test-tap/reporters/default.failfast2.v22.log @@ -0,0 +1,27 @@ + +---tty-stream-chunk-separator +(node:14130) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✘ [fail]: a › fails Test failed via `t.fail()` +---tty-stream-chunk-separator + ─ + + a › fails + + a.cjs:3 + + 2: +  3: test('fails', t => t.fail());  + 4: test('passes', t => t.pass()); + + Test failed via `t.fail()` + + › test-tap/fixture/report/failfast2/a.cjs:3:22 + + ─ + + `--fail-fast` is on. At least 1 test was skipped, as well as 1 test file. + + 1 test failed +---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.only.v22.log b/test-tap/reporters/default.only.v22.log new file mode 100644 index 000000000..4eb36e6b6 --- /dev/null +++ b/test-tap/reporters/default.only.v22.log @@ -0,0 +1,16 @@ + +---tty-stream-chunk-separator +(node:14133) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ a › only +---tty-stream-chunk-separator +(node:14136) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ b › passes +---tty-stream-chunk-separator + ─ + + 2 tests passed +---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.regular.v22.log b/test-tap/reporters/default.regular.v22.log new file mode 100644 index 000000000..676b8f09f --- /dev/null +++ b/test-tap/reporters/default.regular.v22.log @@ -0,0 +1,380 @@ + +---tty-stream-chunk-separator +(node:14114) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + Uncaught exception in bad-test-chain.cjs + + bad-test-chain.cjs:3 + + 2: +  3: test.serial.test('passes', t => t.pass()); + 4: + + TypeError: test.serial.test is not a function + + › Object. (test-tap/fixture/report/regular/bad-test-chain.cjs:3:13) + +---tty-stream-chunk-separator + ✘ bad-test-chain.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator +(node:14115) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✘ [fail]: nested-objects › format with max depth 4 +---tty-stream-chunk-separator + ✘ [fail]: nested-objects › format like with max depth 4 +---tty-stream-chunk-separator +(node:14119) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + output-in-hook › before hook + ℹ before +---tty-stream-chunk-separator + output-in-hook › beforeEach hook for passing test + ℹ beforeEach +---tty-stream-chunk-separator + output-in-hook › beforeEach hook for failing test + ℹ beforeEach +---tty-stream-chunk-separator + ✔ output-in-hook › passing test +---tty-stream-chunk-separator + ✘ [fail]: output-in-hook › failing test Test failed via `t.fail()` +---tty-stream-chunk-separator + output-in-hook › afterEach hook for passing test + ℹ afterEach +---tty-stream-chunk-separator + output-in-hook › afterEach.always hook for failing test + ℹ afterEachAlways +---tty-stream-chunk-separator + output-in-hook › afterEach.always hook for passing test + ℹ afterEachAlways +---tty-stream-chunk-separator + output-in-hook › cleanup + ℹ afterAlways +---tty-stream-chunk-separator +(node:14121) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + - [skip] test › skip +---tty-stream-chunk-separator + - [todo] test › todo +---tty-stream-chunk-separator + ✔ test › passes +---tty-stream-chunk-separator + ✘ [fail]: test › fails Test failed via `t.fail()` +---tty-stream-chunk-separator + ✔ [expected fail] test › known failure +---tty-stream-chunk-separator + ✘ [unexpected pass]: test › no longer failing Test was expected to fail, but succeeded, you should stop marking the test as failing +---tty-stream-chunk-separator + ✘ [fail]: test › logs Test failed via `t.fail()` + ℹ hello + ℹ world +---tty-stream-chunk-separator + ✘ [fail]: test › formatted +---tty-stream-chunk-separator + ✘ [fail]: test › implementation throws non-error Error thrown in test +---tty-stream-chunk-separator +(node:14122) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✘ [fail]: traces-in-t-throws › throws +---tty-stream-chunk-separator + ✘ [fail]: traces-in-t-throws › notThrows +---tty-stream-chunk-separator + ✘ [fail]: traces-in-t-throws › notThrowsAsync +---tty-stream-chunk-separator + ✘ [fail]: traces-in-t-throws › throwsAsync +---tty-stream-chunk-separator + ✘ [fail]: traces-in-t-throws › throwsAsync different error +---tty-stream-chunk-separator +(node:14124) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ uncaught-exception › passes +---tty-stream-chunk-separator + + Uncaught exception in uncaught-exception.cjs + + uncaught-exception.cjs:5 + + 4: setImmediate(() => { +  5: throw new Error('Can’t catch me'); + 6: }); + + Error: Can’t catch me + + › Immediate. (test-tap/fixture/report/regular/uncaught-exception.cjs:5:9) + +---tty-stream-chunk-separator + ✘ uncaught-exception.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator +(node:14126) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ unhandled-rejection › passes +---tty-stream-chunk-separator + ✔ unhandled-rejection › unhandled non-error rejection +---tty-stream-chunk-separator + + Unhandled rejection in unhandled-rejection.cjs + + unhandled-rejection.cjs:4 + + 3: const passes = t => { +  4: Promise.reject(new Error('Can’t catch me')); + 5: t.pass(); + + Error: Can’t catch me + + › passes (test-tap/fixture/report/regular/unhandled-rejection.cjs:4:17) + +---tty-stream-chunk-separator + Unhandled rejection in unhandled-rejection.cjs + + null + +---tty-stream-chunk-separator + ✘ unhandled-rejection.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator + ─ + + nested-objects › format with max depth 4 + + nested-objects.cjs:29 + + 28: }; +  29: t.deepEqual(exp, act); + 30: }); + + Difference (- actual, + expected): + + { + a: { + b: { + foo: 'bar', + }, + }, + + c: { + + d: { + + e: { + + foo: 'bar', + + }, + + }, + + }, + } + + › test-tap/fixture/report/regular/nested-objects.cjs:29:4 + + + + nested-objects › format like with max depth 4 + + nested-objects.cjs:55 + + 54: }; +  55: t.like(actual, pattern); + 56: }); + + Difference (- actual, + expected): + + { + a: { + b: { + - foo: 'bar', + + foo: 'qux', + }, + }, + } + + › test-tap/fixture/report/regular/nested-objects.cjs:55:4 + + + + output-in-hook › failing test + + output-in-hook.cjs:34 + + 33: test('failing test', t => { +  34: t.fail();  + 35: }); + + Test failed via `t.fail()` + + › test-tap/fixture/report/regular/output-in-hook.cjs:34:4 + + + + test › fails + + test.cjs:9 + + 8: +  9: test('fails', t => t.fail()); + 10: + + Test failed via `t.fail()` + + › test-tap/fixture/report/regular/test.cjs:9:22 + + + + test › no longer failing + + Test was expected to fail, but succeeded, you should stop marking the test as failing + + + + test › logs + test.cjs:18 + + 17: t.log('world'); +  18: t.fail();  + 19: }); + + Test failed via `t.fail()` + + › test-tap/fixture/report/regular/test.cjs:18:4 + + + + test › formatted + + test.cjs:22 + + 21: test('formatted', t => { +  22: t.deepEqual('foo', 'bar'); + 23: }); + + Difference (- actual, + expected): + + - 'foo' + + 'bar' + + › test-tap/fixture/report/regular/test.cjs:22:4 + + + + test › implementation throws non-error + + Error thrown in test: + + null + + + + traces-in-t-throws › throws + + traces-in-t-throws.cjs:12 + + 11: test('throws', t => { +  12: t.throws(() => throwError(), {instanceOf: TypeError}); + 13: }); + + Function threw unexpected exception: + + Error { + message: 'uh-oh', + } + + Expected instance of: + + Function TypeError {} + + › throwError (test-tap/fixture/report/regular/traces-in-t-throws.cjs:4:8) + › t.throws.instanceOf (test-tap/fixture/report/regular/traces-in-t-throws.cjs:12:17) + › test-tap/fixture/report/regular/traces-in-t-throws.cjs:12:4 + + + + traces-in-t-throws › notThrows + + traces-in-t-throws.cjs:16 + + 15: test('notThrows', t => { +  16: t.notThrows(() => throwError()); + 17: }); + + Function threw: + + Error { + message: 'uh-oh', + } + + › throwError (test-tap/fixture/report/regular/traces-in-t-throws.cjs:4:8) + › test-tap/fixture/report/regular/traces-in-t-throws.cjs:16:20 + › test-tap/fixture/report/regular/traces-in-t-throws.cjs:16:4 + + + + traces-in-t-throws › notThrowsAsync + + traces-in-t-throws.cjs:20 + + 19: test('notThrowsAsync', async t => { +  20: await t.notThrowsAsync(() => throwError()); + 21: }); + + Function threw: + + Error { + message: 'uh-oh', + } + + › throwError (test-tap/fixture/report/regular/traces-in-t-throws.cjs:4:8) + › test-tap/fixture/report/regular/traces-in-t-throws.cjs:20:31 + › test-tap/fixture/report/regular/traces-in-t-throws.cjs:20:10 + + + + traces-in-t-throws › throwsAsync + + traces-in-t-throws.cjs:24 + + 23: test('throwsAsync', async t => { +  24: await t.throwsAsync(() => throwError(), {instanceOf: TypeError}); + 25: }); + + Function threw synchronously. Use `t.throws()` instead: + + Error { + message: 'uh-oh', + } + + › throwError (test-tap/fixture/report/regular/traces-in-t-throws.cjs:4:8) + › t.throwsAsync.instanceOf (test-tap/fixture/report/regular/traces-in-t-throws.cjs:24:28) + › test-tap/fixture/report/regular/traces-in-t-throws.cjs:24:10 + + + + traces-in-t-throws › throwsAsync different error + + traces-in-t-throws.cjs:28 + + 27: test('throwsAsync different error', async t => { +  28: await t.throwsAsync(returnRejectedPromise, {instanceOf: TypeError}); + 29: }); + + Returned promise rejected with unexpected exception: + + Error { + message: 'uh-oh', + } + + Expected instance of: + + Function TypeError {} + + › returnRejectedPromise (test-tap/fixture/report/regular/traces-in-t-throws.cjs:8:24) + › test-tap/fixture/report/regular/traces-in-t-throws.cjs:28:10 + + ─ + + 13 tests failed + 1 known failure + 1 test skipped + 1 test todo + 2 unhandled rejections + 2 uncaught exceptions +---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutcontextlogs.v22.log b/test-tap/reporters/default.timeoutcontextlogs.v22.log new file mode 100644 index 000000000..05f1f7eb0 --- /dev/null +++ b/test-tap/reporters/default.timeoutcontextlogs.v22.log @@ -0,0 +1,44 @@ + +---tty-stream-chunk-separator +(node:14164) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ a › a passes +---tty-stream-chunk-separator + ✔ a › a passes two +---tty-stream-chunk-separator +  + ✘ Timed out while running tests + + 2 tests were pending in a.cjs + + ◌ a › a slow + ℹ this slow test prints useful debug message just text + ◌ a › a slow two + ℹ another useful debug message { +  x: 5, + } + +---tty-stream-chunk-separator +(node:14165) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ b › a passes +---tty-stream-chunk-separator + ✔ b › a passes two +---tty-stream-chunk-separator +  + ✘ Timed out while running tests + + 2 tests were pending in b.cjs + + ◌ b › a slow + ℹ hello world + ◌ b › a slow two + +---tty-stream-chunk-separator + ─ + + 4 tests passed + 4 tests remained pending after a timeout +---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutinmultiplefiles.v22.log b/test-tap/reporters/default.timeoutinmultiplefiles.v22.log new file mode 100644 index 000000000..db7fb27df --- /dev/null +++ b/test-tap/reporters/default.timeoutinmultiplefiles.v22.log @@ -0,0 +1,40 @@ + +---tty-stream-chunk-separator +(node:14159) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ a › a passes +---tty-stream-chunk-separator + ✔ a › a passes two +---tty-stream-chunk-separator +  + ✘ Timed out while running tests + + 2 tests were pending in a.cjs + + ◌ a › a slow + ◌ a › a slow two + +---tty-stream-chunk-separator +(node:14160) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ b › b passes +---tty-stream-chunk-separator + ✔ b › b passes two +---tty-stream-chunk-separator +  + ✘ Timed out while running tests + + 3 tests were pending in b.cjs + + ◌ b › b slow + ◌ b › b slow two + ◌ b › b slow three + +---tty-stream-chunk-separator + ─ + + 4 tests passed + 5 tests remained pending after a timeout +---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutinsinglefile.v22.log b/test-tap/reporters/default.timeoutinsinglefile.v22.log new file mode 100644 index 000000000..13380abcd --- /dev/null +++ b/test-tap/reporters/default.timeoutinsinglefile.v22.log @@ -0,0 +1,23 @@ + +---tty-stream-chunk-separator +(node:14156) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ passes +---tty-stream-chunk-separator + ✔ passes two +---tty-stream-chunk-separator +  + ✘ Timed out while running tests + + 2 tests were pending in a.cjs + + ◌ slow + ◌ slow two + +---tty-stream-chunk-separator + ─ + + 2 tests passed + 2 tests remained pending after a timeout +---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutwithmatch.v22.log b/test-tap/reporters/default.timeoutwithmatch.v22.log new file mode 100644 index 000000000..83de36a19 --- /dev/null +++ b/test-tap/reporters/default.timeoutwithmatch.v22.log @@ -0,0 +1,21 @@ + +---tty-stream-chunk-separator +(node:14162) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ passes needle +---tty-stream-chunk-separator +  + ✘ Timed out while running tests + + 2 tests were pending in a.cjs + + ◌ slow needle + ◌ slow three needle + +---tty-stream-chunk-separator + ─ + + 1 test passed + 2 tests remained pending after a timeout +---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.watch.v22.log b/test-tap/reporters/default.watch.v22.log new file mode 100644 index 000000000..1ffd6cbfd --- /dev/null +++ b/test-tap/reporters/default.watch.v22.log @@ -0,0 +1,41 @@ + +---tty-stream-chunk-separator +(node:14138) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ test › passes +---tty-stream-chunk-separator + ─ + + 1 test passed [17:19:12] + +---tty-stream-chunk-separator +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── +---tty-stream-chunk-separator + +---tty-stream-chunk-separator +(node:14143) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ test › passes +---tty-stream-chunk-separator + ─ + + 1 test passed [17:19:12] + 2 previous failures in test files that were not rerun + +---tty-stream-chunk-separator +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── +---tty-stream-chunk-separator + +---tty-stream-chunk-separator +(node:14145) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator + ✔ test › passes +---tty-stream-chunk-separator + ─ + + 1 test passed [17:19:12] + +---tty-stream-chunk-separator diff --git a/test-tap/reporters/tap.edgecases.v22.log b/test-tap/reporters/tap.edgecases.v22.log new file mode 100644 index 000000000..0586795b4 --- /dev/null +++ b/test-tap/reporters/tap.edgecases.v22.log @@ -0,0 +1,60 @@ +TAP version 13 +---tty-stream-chunk-separator +(node:14139) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 1 - ~/test-tap/fixture/report/edgecases/ast-syntax-error.cjs:3 + --- + name: SyntaxError + message: Unexpected token 'do' + at: 'const fn = do {' + ... +---tty-stream-chunk-separator +not ok 2 - ast-syntax-error.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator +(node:14142) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 3 - No tests found in ava-import-no-test-declaration.cjs +---tty-stream-chunk-separator +(node:14144) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 4 - TypeError: test is not a function + --- + name: TypeError + message: test is not a function + at: >- + Object. + (~/test-tap/fixture/report/edgecases/import-and-use-test-member.cjs:3:1) + ... +---tty-stream-chunk-separator +not ok 5 - import-and-use-test-member.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator +(node:14146) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 6 - No tests found in no-ava-import.cjs, make sure to import "ava" at the top of your test file +---tty-stream-chunk-separator +(node:14148) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +(node:14152) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 7 - Error: throws + --- + name: Error + message: throws + at: 'Object. (~/test-tap/fixture/report/edgecases/throws.cjs:1:7)' + ... +---tty-stream-chunk-separator +not ok 8 - throws.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator + +1..0 +# tests 0 +# pass 0 +# fail 8 + +---tty-stream-chunk-separator diff --git a/test-tap/reporters/tap.failfast.v22.log b/test-tap/reporters/tap.failfast.v22.log new file mode 100644 index 000000000..209407669 --- /dev/null +++ b/test-tap/reporters/tap.failfast.v22.log @@ -0,0 +1,20 @@ +TAP version 13 +---tty-stream-chunk-separator +(node:14128) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 1 - a › fails + --- + name: AssertionError + assertion: t.fail() + message: Test failed via `t.fail()` + at: 'ExecutionContext.fail (/lib/assert.js:287:15)' + ... +---tty-stream-chunk-separator + +1..1 +# tests 1 +# pass 0 +# fail 1 + +---tty-stream-chunk-separator diff --git a/test-tap/reporters/tap.failfast2.v22.log b/test-tap/reporters/tap.failfast2.v22.log new file mode 100644 index 000000000..4a1f5249e --- /dev/null +++ b/test-tap/reporters/tap.failfast2.v22.log @@ -0,0 +1,22 @@ +TAP version 13 +---tty-stream-chunk-separator +(node:14131) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 1 - a › fails + --- + name: AssertionError + assertion: t.fail() + message: Test failed via `t.fail()` + at: 'ExecutionContext.fail (/lib/assert.js:287:15)' + ... +---tty-stream-chunk-separator +# 1 test remaining in a.cjs +---tty-stream-chunk-separator + +1..2 +# tests 2 +# pass 0 +# fail 2 + +---tty-stream-chunk-separator diff --git a/test-tap/reporters/tap.only.v22.log b/test-tap/reporters/tap.only.v22.log new file mode 100644 index 000000000..2b10dd704 --- /dev/null +++ b/test-tap/reporters/tap.only.v22.log @@ -0,0 +1,19 @@ +TAP version 13 +---tty-stream-chunk-separator +(node:14132) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +ok 1 - a › only +---tty-stream-chunk-separator +(node:14135) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +ok 2 - b › passes +---tty-stream-chunk-separator + +1..2 +# tests 2 +# pass 2 +# fail 0 + +---tty-stream-chunk-separator diff --git a/test-tap/reporters/tap.regular.v22.log b/test-tap/reporters/tap.regular.v22.log new file mode 100644 index 000000000..e6a927cb2 --- /dev/null +++ b/test-tap/reporters/tap.regular.v22.log @@ -0,0 +1,279 @@ +TAP version 13 +---tty-stream-chunk-separator +(node:14113) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 1 - TypeError: test.serial.test is not a function + --- + name: TypeError + message: test.serial.test is not a function + at: 'Object. (~/test-tap/fixture/report/regular/bad-test-chain.cjs:3:13)' + ... +---tty-stream-chunk-separator +not ok 2 - bad-test-chain.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator +(node:14116) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 3 - nested-objects › format with max depth 4 + --- + name: AssertionError + assertion: t.deepEqual() + details: + 'Difference (- actual, + expected):': |2- + { + a: { + b: { + foo: 'bar', + }, + }, + + c: { + + d: { + + e: { + + foo: 'bar', + + }, + + }, + + }, + } + message: '' + at: 'ExecutionContext.deepEqual (/lib/assert.js:339:15)' + ... +---tty-stream-chunk-separator +not ok 4 - nested-objects › format like with max depth 4 + --- + name: AssertionError + assertion: t.like() + details: + 'Difference (- actual, + expected):': |2- + { + a: { + b: { + - foo: 'bar', + + foo: 'qux', + }, + }, + } + message: '' + at: 'ExecutionContext.like (/lib/assert.js:391:15)' + ... +---tty-stream-chunk-separator +(node:14118) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +# output-in-hook › before hook +---tty-stream-chunk-separator +# output-in-hook › before hook +---tty-stream-chunk-separator +# before +---tty-stream-chunk-separator +# output-in-hook › beforeEach hook for passing test +---tty-stream-chunk-separator +# beforeEach +---tty-stream-chunk-separator +# output-in-hook › beforeEach hook for failing test +---tty-stream-chunk-separator +# beforeEach +---tty-stream-chunk-separator +ok 5 - output-in-hook › passing test +---tty-stream-chunk-separator +not ok 6 - output-in-hook › failing test + --- + name: AssertionError + assertion: t.fail() + message: Test failed via `t.fail()` + at: 'ExecutionContext.fail (/lib/assert.js:287:15)' + ... +---tty-stream-chunk-separator +# output-in-hook › afterEach hook for passing test +---tty-stream-chunk-separator +# afterEach +---tty-stream-chunk-separator +# output-in-hook › afterEach.always hook for failing test +---tty-stream-chunk-separator +# afterEachAlways +---tty-stream-chunk-separator +# output-in-hook › afterEach.always hook for passing test +---tty-stream-chunk-separator +# afterEachAlways +---tty-stream-chunk-separator +# output-in-hook › cleanup +---tty-stream-chunk-separator +# afterAlways +---tty-stream-chunk-separator +(node:14120) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +ok 7 - test › skip # SKIP +---tty-stream-chunk-separator +not ok 8 - test › todo # TODO +---tty-stream-chunk-separator +ok 9 - test › passes +---tty-stream-chunk-separator +not ok 10 - test › fails + --- + name: AssertionError + assertion: t.fail() + message: Test failed via `t.fail()` + at: 'ExecutionContext.fail (/lib/assert.js:287:15)' + ... +---tty-stream-chunk-separator +ok 11 - test › known failure +---tty-stream-chunk-separator +not ok 12 - test › no longer failing + --- + name: AssertionError + message: >- + Test was expected to fail, but succeeded, you should stop marking the test as + failing + at: 'Test.finish (/lib/test.js:633:28)' + ... +---tty-stream-chunk-separator +not ok 13 - test › logs +# hello +# world + --- + name: AssertionError + assertion: t.fail() + message: Test failed via `t.fail()` + at: 'ExecutionContext.fail (/lib/assert.js:287:15)' + ... +---tty-stream-chunk-separator +not ok 14 - test › formatted + --- + name: AssertionError + assertion: t.deepEqual() + details: + 'Difference (- actual, + expected):': |- + - 'foo' + + 'bar' + message: '' + at: 'ExecutionContext.deepEqual (/lib/assert.js:339:15)' + ... +---tty-stream-chunk-separator +not ok 15 - test › implementation throws non-error + --- + name: AssertionError + details: + 'Error thrown in test:': 'null' + message: Error thrown in test + at: 'Test.run (/lib/test.js:546:25)' + ... +---tty-stream-chunk-separator +(node:14123) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +not ok 16 - traces-in-t-throws › throws + --- + name: AssertionError + assertion: t.throws() + details: + 'Function threw unexpected exception:': |- + Error { + message: 'uh-oh', + } + 'Expected instance of:': 'Function TypeError {}' + message: '' + at: 'throwError (~/test-tap/fixture/report/regular/traces-in-t-throws.cjs:4:8)' + ... +---tty-stream-chunk-separator +not ok 17 - traces-in-t-throws › notThrows + --- + name: AssertionError + assertion: t.notThrows() + details: + 'Function threw:': |- + Error { + message: 'uh-oh', + } + message: '' + at: 'throwError (~/test-tap/fixture/report/regular/traces-in-t-throws.cjs:4:8)' + ... +---tty-stream-chunk-separator +not ok 18 - traces-in-t-throws › notThrowsAsync + --- + name: AssertionError + assertion: t.notThrowsAsync() + details: + 'Function threw:': |- + Error { + message: 'uh-oh', + } + message: '' + at: 'throwError (~/test-tap/fixture/report/regular/traces-in-t-throws.cjs:4:8)' + ... +---tty-stream-chunk-separator +not ok 19 - traces-in-t-throws › throwsAsync + --- + name: AssertionError + assertion: t.throwsAsync() + details: + 'Function threw synchronously. Use `t.throws()` instead:': |- + Error { + message: 'uh-oh', + } + message: '' + at: 'throwError (~/test-tap/fixture/report/regular/traces-in-t-throws.cjs:4:8)' + ... +---tty-stream-chunk-separator +not ok 20 - traces-in-t-throws › throwsAsync different error + --- + name: AssertionError + assertion: t.throwsAsync() + details: + 'Returned promise rejected with unexpected exception:': |- + Error { + message: 'uh-oh', + } + 'Expected instance of:': 'Function TypeError {}' + message: '' + at: >- + returnRejectedPromise + (~/test-tap/fixture/report/regular/traces-in-t-throws.cjs:8:24) + ... +---tty-stream-chunk-separator +(node:14125) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +ok 21 - uncaught-exception › passes +---tty-stream-chunk-separator +not ok 22 - Error: Can’t catch me + --- + name: Error + message: Can’t catch me + at: >- + Immediate. + (~/test-tap/fixture/report/regular/uncaught-exception.cjs:5:9) + ... +---tty-stream-chunk-separator +not ok 23 - uncaught-exception.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator +(node:14127) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. +(Use `node --trace-deprecation ...` to show where the warning was created) +---tty-stream-chunk-separator +ok 24 - unhandled-rejection › passes +---tty-stream-chunk-separator +ok 25 - unhandled-rejection › unhandled non-error rejection +---tty-stream-chunk-separator +not ok 26 - Error: Can’t catch me + --- + name: Error + message: Can’t catch me + at: 'passes (~/test-tap/fixture/report/regular/unhandled-rejection.cjs:4:17)' + ... +---tty-stream-chunk-separator +not ok 27 - unhandled-rejection + --- + message: Non-native error + formatted: 'null' + ... +---tty-stream-chunk-separator +not ok 28 - unhandled-rejection.cjs exited with a non-zero exit code: 1 +---tty-stream-chunk-separator + +1..21 +# tests 20 +# pass 6 +# skip 1 +# fail 21 + +---tty-stream-chunk-separator From 8c146c8d85ef99ad84806de972d220768a80b7bc Mon Sep 17 00:00:00 2001 From: Mark Wubben Date: Sun, 5 May 2024 21:49:27 +0200 Subject: [PATCH 4/4] Revert "Fix npm on windows with node 22" This reverts commit cd3fb466252875463db97c23b3182db43ce50c57. The issue is possibly solved in 22.1. --- .github/workflows/ci.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9c102f5f4..4c667e91c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,10 +28,6 @@ jobs: with: node-version: ${{ matrix.node-version }} cache: npm - - if: runner.os == 'Windows' && matrix.node-version == '^22' - shell: bash - run: | - npm install -g npm - run: npm install --no-audit - run: ./scripts/ci.sh shell: bash