Uh oh!
There was an error while loading. Please reload this page.
test: skip some binding tests on IBMi PASE - #31967
Conversation
richardlau
commented
Feb 26, 2020
Those tests are testing addons can build against the openssl and zlib bindings statically linked into the Node.js binary so linking to external libraries negates the purpose of those tests. Or does Node.js on IBMi PASE always build against the system openssl/zlib? |
Yes, Node.js on IBMi PASE always links to the system libraries (no static linking). Or maybe I should skip these cases? |
richardlau
commented
Feb 26, 2020
Anyone know what the Linux packagers that link against shared libraries do? |
addaleax
left a comment
There was a problem hiding this comment.
Just making sure that this does not land as-is
Hello @addaleax , |
dmabupt
commented
Feb 27, 2020
I tried to compile node.js with shared openssl&zlib on CentOS and the addon tests showed no error. I guess that even in this 'shared' configuration, the Linux node.js build can also bind to the static libraries as well. But it does not work on IBMi PASE. |
mhdawson
commented
Feb 27, 2020
@dmabupt how many/what tests don't pass? |
Hello @mhdawson , There are 18 failed tests --
|
mhdawson
commented
Mar 2, 2020
So these are the only 2 that are related to the addons: addons/openssl-binding/test Sounds like you did tests on linux, though and excluding them in the way you suggest does not make sense since the tests still run ok there. We should see if we can get the excludes working properly. |
Looking at the test code seems that the platform should be detected as OS400 by the test harness and maps to 'ibmi' so using In what file did you add that along with the tests ? I think you would have to add to and something like this [$system==ibmi]
addons/openssl-binding/test: SKIP
addons/zlib-binding/test: SKIP |
dmabupt
commented
Mar 6, 2020
Yes, but I missed the |
mhdawson
commented
Mar 6, 2020
@dmabupt ok let us know if fixing up the paths works. |
dmabupt
commented
Mar 6, 2020
@mhdawson , Seems it still can not skip the cases -- The patch is -- |
mhdawson
commented
Mar 6, 2020
Is it failing in the build step as opposed to the test step? |
dmabupt
commented
Mar 7, 2020
@mhdawson , It is failing in the To skip the build step, we have to edit this file (not that gracefully) -- |
mhdawson
commented
Mar 9, 2020
@dmabupt can you add guards based on IBMi based on the platform in the test files, for example in |
dmabupt
commented
Mar 9, 2020
@mhdawson Do you mean updating |
mhdawson
commented
Mar 9, 2020
Was not thinking of that, more changing the code in the cc file so that it still compiles (but obviously not work), if we can make the gyp file not compile it for IBMi that might be even better. |
dmabupt
commented
Mar 9, 2020
Updating the c code to make it build a dummy executable file on IBMi, then both the build step and test step can be passed (skipped) ? |
dmabupt
commented
Mar 9, 2020
Seems it is not that easy. The zlib js test code deflates the data compressed by the compiled C code, and then compares it with the origin buffer -- https://github.com/nodejs/node/blob/master/test/addons/zlib-binding/test.js#L12 That means we have to change the js code as well if we skip the logic in the C code. |
mhdawson
commented
Mar 9, 2020
But if the test is skipped then it should not matter what is in the js code right? |
|
mhdawson
commented
Mar 10, 2020
@dmabupt I don't understand your point. If the test is skipped in the status file the js code will not run, correct? |
@mhdawson |
dmabupt
commented
Mar 11, 2020
Now I think if we want to minimize the code change, my initial workaround (adding |
mhdawson
commented
Mar 12, 2020
@dmabupt your original change seemed to affect all platforms. It might be ok if it only affect IBM i |
My following |
dmabupt
commented
Mar 17, 2020
Hello @mhdawson , I have reverted the commits to the initial one -> 4df86c9 . This change only affect the IBMi PASE platform and it makes the two failed tests skipped (both compile & test steps). |
IBMi PASE Node.js always links to shared openssl and zlib libraries. So skip the static binding tests.
nodejs-github-bot
commented
Mar 29, 2020
nodejs-github-bot
commented
Mar 30, 2020
addaleax
commented
Mar 30, 2020
Landed in b416993 |
IBMi PASE Node.js always links to shared openssl and zlib libraries. So skip the static binding tests. PR-URL: #31967 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
IBMi PASE Node.js always links to shared openssl and zlib libraries. So skip the static binding tests. PR-URL: #31967 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
addaleax
commented
Apr 13, 2020
@dmabupt This is failing to build on Windows machines that do not have |
Ah...yes, I should detect uname only in the |
IBMi PASE Node.js always links to shared openssl and zlib libraries. So skip the static binding tests. PR-URL: #31967 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
IBM i PASE Node.js always links to shared openssl libraries. Skip recently added OpenSSL addons tests as we do for other OpenSSL addons tests on IBM i. Refs: nodejs#31967 Refs: nodejs#44148
IBM i PASE Node.js always links to shared openssl libraries. Skip recently added OpenSSL addons tests as we do for other OpenSSL addons tests on IBM i. Refs: #31967 Refs: #44148 PR-URL: #44810 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
IBM i PASE Node.js always links to shared openssl libraries. Skip recently added OpenSSL addons tests as we do for other OpenSSL addons tests on IBM i. Refs: #31967 Refs: #44148 PR-URL: #44810 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Ldflags "-lcrypto", "-lssl" and "-lz" are needed on
IBMi PASE to build the test suite