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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions