Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running post-build tests fails when using my own OpenSSL installation #49509

Closed
echocharlie125 opened this issue Sep 6, 2023 · 4 comments
Closed
Labels
openssl Issues and PRs related to the OpenSSL dependency. test Issues and PRs related to the tests.

Comments

@echocharlie125
Copy link

Version

v20.6.0

Platform

Linux do1yyakj.noe.edf.fr 4.18.0-193.80.1.el8_2.x86_64 #1 SMP Tue Mar 15 11:00:45 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux

Subsystem

tests

What steps will reproduce the bug?

Install OpenSSL 3 in my own path
Execute the configure :

./configure --prefix=... --shared-openssl-libpath=...  --openssl-conf-name=<path_to_openssl_dir>/openssl.cnf

Excecute the make test-only command

Result :

if [ ! -r node ] || [ ! -L node ]; then \
  ln -fs out/Release/node node; fi
/usr/bin/python3.6 tools/test.py  --mode=release \
         \
        --skip-tests= \
        default \
        addons js-native-api node-api
=== release test-crypto-no-algorithm ===
Path: parallel/test-crypto-no-algorithm
node:assert:399
    throw err;
    ^

AssertionError [ERR_ASSERTION]: process did not abort, code:0 signal:null
    at Object.<anonymous> (/root/rpmbuild/BUILD/node-v20.6.0/test/parallel/test-crypto-no-algorithm.js:36:3)
    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: false,
  code: 'ERR_ASSERTION',
  actual: false,
  expected: true,
  operator: '=='
}

Node.js v20.6.0
Command: out/Release/node /root/rpmbuild/BUILD/node-v20.6.0/test/parallel/test-crypto-no-algorithm.js


=== release test-legacy-provider-config ===
Path: addons/openssl-providers/test-legacy-provider-config
node:assert:399
    throw err;
    ^

AssertionError [ERR_ASSERTION]: Loaded providers [default] does not include "legacy"
    at assertArrayIncludes (/root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/providers.cjs:43:3)
    at Object.testProviderPresent (/root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/providers.cjs:49:3)
    at Object.<anonymous> (/root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/test-legacy-provider-config.js:21:11)
    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: false,
  code: 'ERR_ASSERTION',
  actual: false,
  expected: true,
  operator: '=='
}

Node.js v20.6.0
node:assert:125
  throw new AssertionError(obj);
  ^

AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:

1 !== 0

    at ChildProcess.<anonymous> (/root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/test-legacy-provider-config.js:14:12)
    at ChildProcess.<anonymous> (/root/rpmbuild/BUILD/node-v20.6.0/test/common/index.js:466:15)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: 1,
  expected: 0,
  operator: 'strictEqual'
}

Node.js v20.6.0
Command: out/Release/node /root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/test-legacy-provider-config.js


[07:11|% 100|+ 3917|-   2]: Done


How often does it reproduce? Is there a required condition?

The test fails everytime

What is the expected behavior? Why is that the expected behavior?

No response

What do you see instead?

if [ ! -r node ] || [ ! -L node ]; then \
  ln -fs out/Release/node node; fi
/usr/bin/python3.6 tools/test.py  --mode=release \
         \
        --skip-tests= \
        default \
        addons js-native-api node-api
=== release test-crypto-no-algorithm ===
Path: parallel/test-crypto-no-algorithm
node:assert:399
    throw err;
    ^

AssertionError [ERR_ASSERTION]: process did not abort, code:0 signal:null
    at Object.<anonymous> (/root/rpmbuild/BUILD/node-v20.6.0/test/parallel/test-crypto-no-algorithm.js:36:3)
    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: false,
  code: 'ERR_ASSERTION',
  actual: false,
  expected: true,
  operator: '=='
}

Node.js v20.6.0
Command: out/Release/node /root/rpmbuild/BUILD/node-v20.6.0/test/parallel/test-crypto-no-algorithm.js


=== release test-legacy-provider-config ===
Path: addons/openssl-providers/test-legacy-provider-config
node:assert:399
    throw err;
    ^

AssertionError [ERR_ASSERTION]: Loaded providers [default] does not include "legacy"
    at assertArrayIncludes (/root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/providers.cjs:43:3)
    at Object.testProviderPresent (/root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/providers.cjs:49:3)
    at Object.<anonymous> (/root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/test-legacy-provider-config.js:21:11)
    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: false,
  code: 'ERR_ASSERTION',
  actual: false,
  expected: true,
  operator: '=='
}

Node.js v20.6.0
node:assert:125
  throw new AssertionError(obj);
  ^

AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:

1 !== 0

    at ChildProcess.<anonymous> (/root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/test-legacy-provider-config.js:14:12)
    at ChildProcess.<anonymous> (/root/rpmbuild/BUILD/node-v20.6.0/test/common/index.js:466:15)
    at ChildProcess.emit (node:events:514:28)
    at ChildProcess._handle.onexit (node:internal/child_process:294:12) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: 1,
  expected: 0,
  operator: 'strictEqual'
}

Node.js v20.6.0
Command: out/Release/node /root/rpmbuild/BUILD/node-v20.6.0/test/addons/openssl-providers/test-legacy-provider-config.js


[07:11|% 100|+ 3917|-   2]: Done

Additional information

No response

@bnoordhuis bnoordhuis added test Issues and PRs related to the tests. openssl Issues and PRs related to the OpenSSL dependency. labels Sep 7, 2023
@bnoordhuis
Copy link
Member

Not a bug, as far as we are concerned. Using a non-bundled openssl is at your own risk. The option is really only there to please linux distro maintainers. :-)

If you can work around it in the tests without being overly invasive and without invalidating them, feel free to send a pull request.

@echocharlie125
Copy link
Author

Using a non-bundled openssl version is available and authorized. As far as i know nowhere it is said that it should be reserved to linux distro mainteners. You would be a bit surprised by the number of companies using their own openssl package. Anyway, i hear your point but i think that the tests suite should success in all cases.

@bnoordhuis
Copy link
Member

nowhere it is said that it should be reserved to linux distro mainteners

That goes back many years (example), all the way back to when it was introduced.

@bnoordhuis
Copy link
Member

Seeing there's been no follow-up I'll go ahead and close this. PR still welcome if you didn't open one already.

@bnoordhuis bnoordhuis closed this as not planned Won't fix, can't repro, duplicate, stale Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
openssl Issues and PRs related to the OpenSSL dependency. test Issues and PRs related to the tests.
Projects
None yet
Development

No branches or pull requests

2 participants