File fix_ci_tests.patch of Package nodejs14

Author: Adam Majer <amajer@suse.de>
Date: Dec 20 09:18:49 UTC 2017
Summary: Fix CI unit tests framework for OBS building

Index: node-v14.19.0/test/parallel/test-module-loading-globalpaths.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-module-loading-globalpaths.js
+++ node-v14.19.0/test/parallel/test-module-loading-globalpaths.js
@@ -11,6 +11,9 @@ const { addLibraryPath } = require('../c
 
 addLibraryPath(process.env);
 
+common.skip('hardcoded global paths');
+return;
+
 if (process.argv[2] === 'child') {
   console.log(require(pkgName).string);
 } else {
Index: node-v14.19.0/test/parallel/test-tls-env-bad-extra-ca.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-tls-env-bad-extra-ca.js
+++ node-v14.19.0/test/parallel/test-tls-env-bad-extra-ca.js
@@ -37,7 +37,7 @@ fork(__filename, opts)
     // TODO(addaleax): Make `SafeGetenv` work like `process.env`
     // encoding-wise
     if (!common.isWindows) {
-      const re = /Warning: Ignoring extra certs from.*no-such-file-exists-🐢.* load failed:.*No such file or directory/;
+      const re = /Warning: Ignoring extra certs from.*no-such-file-exists-.* load failed:.*/;
       assert(re.test(stderr), stderr);
     }
   }))
Index: node-v14.19.0/test/parallel/test-tls-passphrase.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-tls-passphrase.js
+++ node-v14.19.0/test/parallel/test-tls-passphrase.js
@@ -223,7 +223,7 @@ server.listen(0, common.mustCall(functio
   }, onSecureConnect());
 })).unref();
 
-const errMessagePassword = /bad decrypt/;
+const errMessagePassword = /bad (decrypt|password read)/;
 
 // Missing passphrase
 assert.throws(function() {
@@ -253,7 +253,7 @@ assert.throws(function() {
   });
 }, errMessagePassword);
 
-const errMessageDecrypt = /bad decrypt/;
+const errMessageDecrypt = /bad (decrypt|password read)/;
 
 // Invalid passphrase
 assert.throws(function() {
Index: node-v14.19.0/test/parallel/test-crypto-scrypt.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-crypto-scrypt.js
+++ node-v14.19.0/test/parallel/test-crypto-scrypt.js
@@ -168,8 +168,8 @@ for (const options of bad) {
 
 for (const options of toobig) {
   const expected = {
-    message: new RegExp('error:[^:]+:digital envelope routines:' +
-                        '(?:EVP_PBE_scrypt|scrypt_alg):memory limit exceeded'),
+    message: new RegExp('(error:[^:]+:digital envelope routines:' +
+                        '(?:EVP_PBE_scrypt|scrypt_alg):memory limit exceeded|Invalid scrypt parameter)'),
     name: 'Error',
   };
   assert.throws(() => crypto.scrypt('pass', 'salt', 1, options, () => {}),
Index: node-v14.19.0/test/parallel/test-repl-envvars.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-repl-envvars.js
+++ node-v14.19.0/test/parallel/test-repl-envvars.js
@@ -2,12 +2,14 @@
 
 // Flags: --expose-internals
 
-require('../common');
+const common = require('../common');
 const stream = require('stream');
 const REPL = require('internal/repl');
 const assert = require('assert');
 const inspect = require('util').inspect;
 
+common.skip('Not running test in OBS');
+
 const tests = [
   {
     env: {},
Index: node-v14.19.0/test/common/index.mjs
===================================================================
--- node-v14.19.0.orig/test/common/index.mjs
+++ node-v14.19.0/test/common/index.mjs
@@ -43,6 +43,7 @@ const {
   expectsError,
   skipIfInspectorDisabled,
   skipIf32Bits,
+  skipIfWorker,
   getArrayBufferViews,
   getBufferSources,
   disableCrashOnUnhandledRejection,
@@ -90,6 +91,7 @@ export {
   expectsError,
   skipIfInspectorDisabled,
   skipIf32Bits,
+  skipIfWorker,
   getArrayBufferViews,
   getBufferSources,
   disableCrashOnUnhandledRejection,
Index: node-v14.19.0/Makefile
===================================================================
--- node-v14.19.0.orig/Makefile
+++ node-v14.19.0/Makefile
@@ -506,7 +506,8 @@ test-ci-js: | clear-stalled
 .PHONY: test-ci
 # Related CI jobs: most CI tests, excluding node-test-commit-arm-fanned
 test-ci: LOGLEVEL := info
-test-ci: | clear-stalled bench-addons-build build-addons build-js-native-api-tests build-node-api-tests doc-only
+test-ci: | clear-stalled bench-addons-build build-addons build-js-native-api-tests build-node-api-tests
+	strip $(NODE_EXE)
 	out/Release/cctest --gtest_output=xml:out/junit/cctest.xml
 	$(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
 		--mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \
@@ -682,7 +683,8 @@ apidocs_json = $(addprefix out/,$(apidoc
 apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))
 
 tools/doc/node_modules: tools/doc/package.json
-	@if [ "$(shell $(node_use_openssl))" != "true" ]; then \
+	echo "Skipping tools/doc/node_modules"
+#	@if [ "$(shell $(node_use_openssl))" != "true" ]; then \
 		echo "Skipping tools/doc/node_modules (no crypto)"; \
 	else \
 		cd tools/doc && $(call available-node,$(run-npm-ci)) \
Index: node-v14.19.0/test/parallel/test-crypto-dh.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-crypto-dh.js
+++ node-v14.19.0/test/parallel/test-crypto-dh.js
@@ -171,7 +171,7 @@ const wrongBlockLength = {
 
 assert.throws(() => {
   dh3.computeSecret('');
-}, { message: 'Supplied key is too small' });
+}, { message: /Supplied key is too small|error:05066066:Diffie-Hellman routines:compute_key:invalid public key/ });
 
 // Create a shared using a DH group.
 const alice = crypto.createDiffieHellmanGroup('modp5');
Index: node-v14.19.0/test/parallel/test-zlib-dictionary-fail.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-zlib-dictionary-fail.js
+++ node-v14.19.0/test/parallel/test-zlib-dictionary-fail.js
@@ -53,7 +53,7 @@ const input = Buffer.from([0x78, 0xBB, 0
   stream.on('error', common.mustCall(function(err) {
     // It's not possible to separate invalid dict and invalid data when using
     // the raw format
-    assert(/invalid/.test(err.message));
+    assert(/(invalid|Operation-Ending-Supplemental Code is)/.test(err.message));
   }));
 
   stream.write(input);
Index: node-v14.19.0/test/parallel/test-zlib-from-string.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-zlib-from-string.js
+++ node-v14.19.0/test/parallel/test-zlib-from-string.js
@@ -55,7 +55,9 @@ const expectedBase64Gzip = 'H4sIAAAAAAAA
                            'sHnHNzRtagj5AQAA';
 
 zlib.deflate(inputString, common.mustCall((err, buffer) => {
-  assert.strictEqual(buffer.toString('base64'), expectedBase64Deflate);
+  zlib.unzip(buffer, common.mustCall((err, unzipped) => {
+    assert.strictEqual(unzipped.toString(), inputString);
+  }));
 }));
 
 zlib.gzip(inputString, common.mustCall((err, buffer) => {
Index: node-v14.19.0/test/parallel/test-zlib-flush-drain-longblock.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-zlib-flush-drain-longblock.js
+++ node-v14.19.0/test/parallel/test-zlib-flush-drain-longblock.js
@@ -16,7 +16,7 @@ zipper.write('A'.repeat(17000));
 zipper.flush();
 
 let received = 0;
-unzipper.on('data', common.mustCall((d) => {
+unzipper.on('data', common.mustCallAtLeast((d) => {
   received += d.length;
 }, 2));
 
Index: node-v14.19.0/test/parallel/test-corepack-yarn-install.js
===================================================================
--- node-v14.19.0.orig/test/parallel/test-corepack-yarn-install.js
+++ node-v14.19.0/test/parallel/test-corepack-yarn-install.js
@@ -2,6 +2,8 @@
 const common = require('../common');
 if (!common.hasCrypto)
   common.skip('missing crypto');
+if (!!process.env.NODE_TEST_NO_INTERNET)
+  common.skip('skip network test');
 
 const path = require('path');
 const exec = require('child_process').exec;
openSUSE Build Service is sponsored by