Repository navigation
test: parallel.test-module-loading-error fails on IBM i #48980
Description
Activity
This failure seems to occur because the
isAIXcondition is being triggered here:node/test/parallel/test-module-loading-error.js
Lines 90 to 96 in eb504c9
assert.throws( () => { require('../fixtures/packages/is-dir'); }, common.isAIX ? { code: 'ERR_INVALID_PACKAGE_CONFIG' } : { code: 'MODULE_NOT_FOUND', message: /Cannot find module '\.\.\/fixtures\/packages\/is-dir'/ } ); For reference the
isAIXcheck runs:Line 126 in eb504c9
const isAIX = process.platform === 'aix'; The root cause of the failure issue is that we are returning aix for process.platform when we are really IBM i.
AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal: + actual - expected Comparison { + code: 'MODULE_NOT_FOUND' - code: 'ERR_INVALID_PACKAGE_CONFIG' }On IBM i we are returning
MODULE_NOT_FOUNDthe same as the else leg of the above condition.Our build system needs to be updated to use Python 3.9 which we switched
sys.platformto return os400 (IBM i).We already have a PR open for the upgrade #48056 (comment).
This is waiting on v8 change though!
See: #48056 (comment)
Once that PR gets merged we won't trigger the
isAIXcheck and should pass as MODULE_NOT_FOUND would be returned.- addedtestIssues and PRs related to Node.js core tests and test infrastructure.Issues and PRs related to Node.js core tests and test infrastructure.ibm iIssues and PRs related to the IBM i platform.Issues and PRs related to the IBM i platform.
on Jul 31, 2023 CC @nodejs/platform-ibmi
This test is now passing on IBM i after #48056.
Ref:
https://ci.nodejs.org/job/node-test-commit-ibmi/nodes=ibmi73-ppc64/1239/testReport/(root)/parallel/test_module_loading_error/
The test result does not give a detailed error message so here is the output from a console run
$ ./out/Release/node test/parallel/test-module-loading-error.js node:assert:635 throw err; ^ AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal: + actual - expected Comparison { + code: 'MODULE_NOT_FOUND' - code: 'ERR_INVALID_PACKAGE_CONFIG' } at Object.<anonymous> (~/test/parallel/test-module-loading-error.js:90:8) at Module._compile (node:internal/modules/cjs/loader:1241:14) at Module._extensions..js (node:internal/modules/cjs/loader:1295:10) at Module.load (node:internal/modules/cjs/loader:1091:32) at Module._load (node:internal/modules/cjs/loader:938:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:83:12) at node:internal/main/run_main_module:23:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: Error: Cannot find module '../fixtures/packages/is-dir' Require stack: - ~/test/parallel/test-module-loading-error.js at Module._resolveFilename (node:internal/modules/cjs/loader:1048:15) at Module._load (node:internal/modules/cjs/loader:901:27) at Module.require (node:internal/modules/cjs/loader:1115:19) at require (node:internal/modules/helpers:119:18) at assert.throws.common.isAIX.code (~/test/parallel/test-module-loading-error.js:91:11) at getActual (node:assert:756:5) at Function.throws (node:assert:902:24) at Object.<anonymous> (~/test/parallel/test-module-loading-error.js:90:8) at Module._compile (node:internal/modules/cjs/loader:1241:14) at Module._extensions..js (node:internal/modules/cjs/loader:1295:10) { code: 'MODULE_NOT_FOUND', requireStack: [ '~/test/parallel/test-module-loading-error.js' ] }, expected: { code: 'ERR_INVALID_PACKAGE_CONFIG' }, operator: 'throws' }