Skip to content

CI failure with Node.js 26.5.0 (testing PROXY) #868

Description

@MikeMcC399

Situation

corepack yarn test fails 4 tests running under Node.js 26.5.0 related to custom registry with auth PROXY

This is also observable in a dependabot workflow https://github.com/nodejs/corepack/actions/runs/28962925923 for ubuntu-latest and macos-latest

Under the previous Node.js 26.x release 26.4.0 yarn test is successful.
Tests are also successful under Node.js 26.5.0 on windows-latest

Steps to reproduce

On Ubuntu 24.04.4 LTS, Node.js 26.5.0, Corepack 0.35.0

npm install corepack@0.35.0 -g
git clone https://github.com/nodejs/corepack
cd corepack
git clean -xfd # if repeating
corepack yarn install
corepack yarn build
corepack yarn test

Logs

$ corepack yarn run vitest run -t "should download"

 RUN  v4.1.6 /home/mike/github/NODEJS/corepack

 ❯ tests/main.test.ts (114 tests | 4 failed | 95 skipped) 6791ms
     ↓ the one defined in "devEngines.packageManager" field
     ↓ the one defined in "packageManager" field
   ↓ should refuse to download a known package manager from a URL
   ↓ should refuse to download a known package manager from a URL in package.json
   ↓ should require a version to be specified
   ↓ should use the right package manager version for a given project (yarn@1.22.4)
   ↓ should use the right package manager version for a given project (yarn@1.22.4+sha1.01c1197ca5b27f21edc8bc472cd4c8ce0e5a470e)
   ↓ should use the right package manager version for a given project (yarn@1.22.4+sha224.0d6eecaf4d82ec12566fdd97143794d0f0c317e0d652bd4d1b305430)
   ↓ should use the right package manager version for a given project (yarn@https://registry.npmjs.com/yarn/-/yarn-1.22.21.tgz)
   ↓ should use the right package manager version for a given project (yarn@https://registry.npmjs.com/yarn/-/yarn-1.22.21.tgz#sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72)
   ↓ should use the right package manager version for a given project (yarn@2.0.0-rc.30)
   ↓ should use the right package manager version for a given project (yarn@2.0.0-rc.30+sha1.4f0423b01bcb57f8e390b4e0f1990831f92dd1da)
   ↓ should use the right package manager version for a given project (yarn@2.0.0-rc.30+sha224.0e7a64468c358596db21c401ffeb11b6534fce7367afd3ae640eadf1)
   ↓ should use the right package manager version for a given project (yarn@3.0.0-rc.2)
   ↓ should use the right package manager version for a given project (yarn@3.0.0-rc.2+sha1.694bdad81703169e203febd57f9dc97d3be867bd)
   ↓ should use the right package manager version for a given project (yarn@3.0.0-rc.2+sha224.f83f6d1cbfac10ba6b516a62ccd2a72ccd857aa6c514d1cd7185ec60)
   ↓ should use the right package manager version for a given project (pnpm@4.11.6)
   ↓ should use the right package manager version for a given project (pnpm@4.11.6+sha1.7cffc04295f4db4740225c6c37cc345eb923c06a)
   ↓ should use the right package manager version for a given project (pnpm@4.11.6+sha224.7783c4b01916b7a69e6ff05d328df6f83cb7f127e9c96be88739386d)
   ↓ should use the right package manager version for a given project (pnpm@6.6.2)
   ↓ should use the right package manager version for a given project (pnpm@6.6.2+sha1.7b4d6b176c1b93b5670ed94c24babb7d80c13854)
   ↓ should use the right package manager version for a given project (pnpm@6.6.2+sha224.eb5c0acad3b0f40ecdaa2db9aa5a73134ad256e17e22d1419a2ab073)
   ↓ should use the right package manager version for a given project (pnpm@11.0.0-dev.1005)
   ↓ should use the right package manager version for a given project (pnpm@11.0.0-dev.1005+sha1.17cdd7ae1baf19f24440422f946130fccbb4257a)
   ↓ should use the right package manager version for a given project (npm@6.14.2)
   ↓ should use the right package manager version for a given project (npm@6.14.2+sha1.f057d35cd4792c4c511bb1fa332edb43143d07b0)
   ↓ should use the right package manager version for a given project (npm@6.14.2+sha224.50512c1eb404900ee78586faa6d756b8d867ff46a328e6fb4cdf3a87)
   ↓ should update the Known Good Release only when the major matches
   ↓ should ignore the packageManager field when found within a node_modules vendor
     ↓ throw on missing version
     ↓ throw on invalid version
     ↓ warn on array values
     ↓ warn on string values
     ↓ warn on number values
   ↓ should use hash from "packageManager" even when "devEngines" defines a different one
     ↓ either in package.json#packageManager field
     ↓ should ignore if devEngines.packageManager.onFail is set to "ignore"
     ↓ should warn if devEngines.packageManager.onFail is set to "warn"
     ↓ should throw if devEngines.packageManager.onFail is set to "error"
     ↓ should throw by default
     ↓ unless onFail is set to "ignore"
     ↓ unless onFail is set to "warn"
     ↓ in package.json#packageManager field
   ↓ should use the closest matching packageManager field
   ↓ should expose its root to spawned processes
   ↓ shouldn't allow using regular Yarn commands on npm-configured projects
   ↓ should allow using transparent commands on npm-configured projects
   ↓ should transparently use the preconfigured version when there is no local project
   ↓ should use the pinned version when local projects don't list any spec (npm)
   ↓ should use the pinned version when local projects don't list any spec (pnpm)
   ↓ should use the pinned version when local projects don't list any spec (yarn)
     ↓ should not modify package.json by default
     ↓ should modify package.json if enabled by env
     ↓ should modify package.json if enabled by .corepack.env
     ↓ should not modify package.json if .corepack.env is disabled
   ↓ should allow updating the pinned version using the "corepack install -g" command
   ↓ should allow to call "corepack install -g" with a tag
   ↓ should allow to call "corepack install -g" without any range
   ↓ should allow to call "corepack install" without arguments within a configured project
   ↓ should refuse to run a different package manager within a configured project
   ↓ should always use fallback version when project spec env is disabled
   ↓ should support disabling the network accesses from the environment
     ↓ should support running in project scope
     ↓ should support running globally
   ↓ should support hydrating package managers from cached archives
   ↓ should support hydrating package managers if cache folder was removed
   ↓ should support hydrating multiple package managers from cached archives
   ↓ should support running package managers with bin array
   ↓ should handle parallel installs
   ↓ should not override the package manager exit code
   ↓ should not preserve the process.exitCode when a package manager throws
   ↓ should not set the exit code after successfully launching the package manager
   ↓ should support package managers in ESM format
     ↓ when enabled by the environment
     ↓ should ignore setting in .corepack.env
   ↓ should be able to show the latest version
   ✓ should download yarn classic from custom registry  2432ms
   ✓ should download yarn berry from custom registry  1400ms
   ✓ should download latest pnpm from custom registry 225ms
     ↓ from env variable
     ↓ from .corepack.env file
     ↓ from env file defined by COREPACK_ENV_FILE
     ↓ from env even if there's a .corepack.env file
     ↓ should ignore .corepack.env file if COREPACK_ENV_FILE is set to 0
     ↓ from env file defined by COREPACK_ENV_FILE
     ✓ should download yarn classic 129ms
     ✓ should download yarn berry 136ms
     ✓ should download pnpm 139ms
     ✓ should download custom package manager 102ms
     ✓ should download yarn classic 126ms
     ✓ should download yarn berry 129ms
     ✓ should download pnpm 134ms
     ✓ should download custom package manager 110ms
     ✓ should download yarn classic 132ms
     ✓ should download yarn berry 131ms
     ✓ should download pnpm 134ms
     ✓ should download custom package manager 99ms
     × should download yarn classic 325ms (retry x2)
     × should download yarn berry 289ms (retry x2)
     × should download pnpm 321ms (retry x2)
     × should download custom package manager 291ms (retry x2)
       ↓ should return no error when calling 'corepack use'
       ↓ should return no error when fetching latest version
     ↓ should return an error when signature does not match with a range
     ↓ should return an error when signature does not match with a tag
     ↓ should return an error when hash does not match without a tag
     ↓ should return an error when signature does not match without a tag
     ↓ should return an error when signature does not match when version is provided
     ↓ should return an error when hash does not match
     ↓ should return no error when signature does not match when hash is provided
     ↓ should work with npm
     ↓ should work with yarn
     ↓ should work with pnpm
   ↓ should still validate devEngines.packageManager.version format when no user version specified
 ↓ tests/Use.test.ts (8 tests | 8 skipped)
 ↓ tests/Enable.test.ts (7 tests | 7 skipped)
 ↓ tests/Disable.test.ts (4 tests | 4 skipped)
 ↓ tests/Up.test.ts (4 tests | 4 skipped)
 ↓ tests/npmRegistryUtils.test.ts (7 tests | 7 skipped)
 ↓ tests/corepackUtils.test.ts (4 tests | 4 skipped)
 ↓ tests/config.test.ts (1 test | 1 skipped)

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 4 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download yarn classic
 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download yarn classic
 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download yarn classic
AssertionError: expected { exitCode: 1, stdout: '', …(1) } to match object { exitCode: +0, …(2) }

- Expected
+ Received

  {
-   "exitCode": 0,
-   "stderr": "",
-   "stdout": "yarn: Hello from custom registry
+   "exitCode": 1,
+   "stderr": "<anonymous_script>:1
+ okay
+ ^
+
+ SyntaxError: Unexpected token 'o', \"okay\" is not valid JSON
+     at JSON.parse (<anonymous>)
+     at parseJSONFromBytes (node:internal/deps/undici/undici:4349:19)
+     at successSteps (node:internal/deps/undici/undici:6987:27)
+     at readAllBytes (node:internal/deps/undici/undici:5811:13)
+     at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
+
+ Node.js v26.5.0
  ",
+   "stdout": "",
  }

 ❯ tests/main.test.ts:1475:66
    1473|     it(`should download yarn classic`, async () => {
    1474|       await xfs.mktempPromise(async cwd => {
    1475|         await expect(runCli(cwd, [`yarn@1.x`, `--version`], true)).resolves.toMatchObject({
       |                                                                  ^
    1476|           exitCode: 0,
    1477|           stdout: `yarn: Hello from custom registry\n`,
 ❯ NodeFS.mktempPromise node_modules/@yarnpkg/fslib/lib/xfs.js:86:30
 ❯ tests/main.test.ts:1474:7

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/12]⎯

 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download yarn berry
 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download yarn berry
 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download yarn berry
AssertionError: expected { exitCode: 1, stdout: '', …(1) } to match object { exitCode: +0, …(2) }

- Expected
+ Received

  {
-   "exitCode": 0,
-   "stderr": "",
-   "stdout": "yarn: Hello from custom registry
+   "exitCode": 1,
+   "stderr": "<anonymous_script>:1
+ okay
+ ^
+
+ SyntaxError: Unexpected token 'o', \"okay\" is not valid JSON
+     at JSON.parse (<anonymous>)
+     at parseJSONFromBytes (node:internal/deps/undici/undici:4349:19)
+     at successSteps (node:internal/deps/undici/undici:6987:27)
+     at readAllBytes (node:internal/deps/undici/undici:5811:13)
+     at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
+
+ Node.js v26.5.0
  ",
+   "stdout": "",
  }

 ❯ tests/main.test.ts:1489:66
    1487|         });
    1488|
    1489|         await expect(runCli(cwd, [`yarn@5.x`, `--version`], true)).resolves.toMatchObject({
       |                                                                  ^
    1490|           exitCode: 0,
    1491|           stdout: `yarn: Hello from custom registry\n`,
 ❯ NodeFS.mktempPromise node_modules/@yarnpkg/fslib/lib/xfs.js:86:24
 ❯ tests/main.test.ts:1484:7

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/12]⎯

 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download pnpm
 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download pnpm
 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download pnpm
AssertionError: expected { exitCode: 1, stdout: '', …(1) } to match object { exitCode: +0, …(2) }

- Expected
+ Received

  {
-   "exitCode": 0,
-   "stderr": "",
-   "stdout": "pnpm: Hello from custom registry
+   "exitCode": 1,
+   "stderr": "<anonymous_script>:1
+ okay
+ ^
+
+ SyntaxError: Unexpected token 'o', \"okay\" is not valid JSON
+     at JSON.parse (<anonymous>)
+     at parseJSONFromBytes (node:internal/deps/undici/undici:4349:19)
+     at successSteps (node:internal/deps/undici/undici:6987:27)
+     at readAllBytes (node:internal/deps/undici/undici:5811:13)
+     at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
+
+ Node.js v26.5.0
  ",
+   "stdout": "",
  }

 ❯ tests/main.test.ts:1499:66
    1497|     it(`should download pnpm`, async () => {
    1498|       await xfs.mktempPromise(async cwd => {
    1499|         await expect(runCli(cwd, [`pnpm@1.x`, `--version`], true)).resolves.toMatchObject({
       |                                                                  ^
    1500|           exitCode: 0,
    1501|           stdout: `pnpm: Hello from custom registry\n`,
 ❯ NodeFS.mktempPromise node_modules/@yarnpkg/fslib/lib/xfs.js:86:30
 ❯ tests/main.test.ts:1498:7

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/12]⎯

 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download custom package manager
AssertionError: expected { exitCode: 1, stdout: '', …(1) } to match object { exitCode: +0, …(2) }

- Expected
+ Received

  {
-   "exitCode": 0,
-   "stderr": "",
-   "stdout": "customPkgManager: Hello from custom registry
+   "exitCode": 1,
+   "stderr": "/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7418
+         self2.emit(\"error\", Object.assign(new Error(`${code2}: ${message}`), data));
+                                           ^
+
+ Error: TAR_BAD_ARCHIVE: Unrecognized archive format
+     at warnMethod (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7418:43)
+     at Unpack.warn (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7528:9)
+     at Unpack.warn (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:8689:22)
+     at Unpack.<anonymous> (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7500:18)
+     at Unpack.emit (node:events:521:24)
+     at [emit] (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7679:16)
+     at [maybeEnd] (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7826:21)
+     at [consumeChunk] (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7852:25)
+     at Unpack.write (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7799:29)
+     at Unpack.end (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7906:20) {
+   recoverable: false,
+   cwd: '/tmp/xfs-47e38a1a/v1/corepack-32278-90b10fe6.a5091',
+   code: 'TAR_BAD_ARCHIVE',
+   tarCode: 'TAR_BAD_ARCHIVE'
+ }
+
+ Node.js v26.5.0
  ",
+   "stdout": "",
  }

 ❯ tests/main.test.ts:1509:147
    1507|     it(`should download custom package manager`, async () => {
    1508|       await xfs.mktempPromise(async cwd => {
    1509|         await expect(runCli(cwd, [`customPkgManager@https://registry.npmjs.org/customPkgManager/-/customPkgManager-1.0.0.t…
       |                                                                                                                                                   ^
    1510|           exitCode: 0,
    1511|           stdout: `customPkgManager: Hello from custom registry\n`,
 ❯ NodeFS.mktempPromise node_modules/@yarnpkg/fslib/lib/xfs.js:86:30
 ❯ tests/main.test.ts:1508:7

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/12]⎯

 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download custom package manager
AssertionError: expected { exitCode: 1, stdout: '', …(1) } to match object { exitCode: +0, …(2) }

- Expected
+ Received

  {
-   "exitCode": 0,
-   "stderr": "",
-   "stdout": "customPkgManager: Hello from custom registry
+   "exitCode": 1,
+   "stderr": "/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7418
+         self2.emit(\"error\", Object.assign(new Error(`${code2}: ${message}`), data));
+                                           ^
+
+ Error: TAR_BAD_ARCHIVE: Unrecognized archive format
+     at warnMethod (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7418:43)
+     at Unpack.warn (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7528:9)
+     at Unpack.warn (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:8689:22)
+     at Unpack.<anonymous> (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7500:18)
+     at Unpack.emit (node:events:521:24)
+     at [emit] (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7679:16)
+     at [maybeEnd] (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7826:21)
+     at [consumeChunk] (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7852:25)
+     at Unpack.write (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7799:29)
+     at Unpack.end (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7906:20) {
+   recoverable: false,
+   cwd: '/tmp/xfs-146fb2bb/v1/corepack-32290-f91f84b2.914458',
+   code: 'TAR_BAD_ARCHIVE',
+   tarCode: 'TAR_BAD_ARCHIVE'
+ }
+
+ Node.js v26.5.0
  ",
+   "stdout": "",
  }

 ❯ tests/main.test.ts:1509:147
    1507|     it(`should download custom package manager`, async () => {
    1508|       await xfs.mktempPromise(async cwd => {
    1509|         await expect(runCli(cwd, [`customPkgManager@https://registry.npmjs.org/customPkgManager/-/customPkgManager-1.0.0.t…
       |                                                                                                                                                   ^
    1510|           exitCode: 0,
    1511|           stdout: `customPkgManager: Hello from custom registry\n`,
 ❯ NodeFS.mktempPromise node_modules/@yarnpkg/fslib/lib/xfs.js:86:30
 ❯ tests/main.test.ts:1508:7

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/12]⎯

 FAIL  tests/main.test.ts > custom registry with auth PROXY > should download custom package manager
AssertionError: expected { exitCode: 1, stdout: '', …(1) } to match object { exitCode: +0, …(2) }

- Expected
+ Received

  {
-   "exitCode": 0,
-   "stderr": "",
-   "stdout": "customPkgManager: Hello from custom registry
+   "exitCode": 1,
+   "stderr": "/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7418
+         self2.emit(\"error\", Object.assign(new Error(`${code2}: ${message}`), data));
+                                           ^
+
+ Error: TAR_BAD_ARCHIVE: Unrecognized archive format
+     at warnMethod (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7418:43)
+     at Unpack.warn (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7528:9)
+     at Unpack.warn (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:8689:22)
+     at Unpack.<anonymous> (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7500:18)
+     at Unpack.emit (node:events:521:24)
+     at [emit] (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7679:16)
+     at [maybeEnd] (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7826:21)
+     at [consumeChunk] (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7852:25)
+     at Unpack.write (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7799:29)
+     at Unpack.end (/home/mike/github/NODEJS/corepack/dist/lib/corepack.cjs:7906:20) {
+   recoverable: false,
+   cwd: '/tmp/xfs-c991cd64/v1/corepack-32302-2aad97e1.8be368',
+   code: 'TAR_BAD_ARCHIVE',
+   tarCode: 'TAR_BAD_ARCHIVE'
+ }
+
+ Node.js v26.5.0
  ",
+   "stdout": "",
  }

 ❯ tests/main.test.ts:1509:147
    1507|     it(`should download custom package manager`, async () => {
    1508|       await xfs.mktempPromise(async cwd => {
    1509|         await expect(runCli(cwd, [`customPkgManager@https://registry.npmjs.org/customPkgManager/-/customPkgManager-1.0.0.t…
       |                                                                                                                                                   ^
    1510|           exitCode: 0,
    1511|           stdout: `customPkgManager: Hello from custom registry\n`,
 ❯ NodeFS.mktempPromise node_modules/@yarnpkg/fslib/lib/xfs.js:86:30
 ❯ tests/main.test.ts:1508:7

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/12]⎯


 Test Files  1 failed | 7 skipped (8)
      Tests  4 failed | 15 passed | 130 skipped (149)
   Start at  20:31:00
   Duration  8.21s (transform 277ms, setup 114ms, import 522ms, tests 6.79s, environment 1ms)

Overview

Ubuntu results

Node.js Result
26.0.0 148 passed 1 expected fail
26.4.0 148 passed 1 expected fail
26.5.0 4 failed 144 passed 1 expected fail

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions