nodejs-mozilla/debian/patches/test_ci_buildd.patch

173 lines
5.8 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Description: adapt test-ci build target for buildd
* run tests with ./node
* remove addons from test-ci suite, because it creates a dependency loop
nodejs -> node-gyp -> nodejs which is painful to manage.
* disabled because it requires stdin:
+ test-stdout-close-unref
+ test-regress-GH-746
* test-tick-processor fails on ppc64 and s390x, currently investigated
https://github.com/nodejs/node/issues/2471
* test-cluster-disconnect sometimes fails on busy buildd, forwarded upstream
https://github.com/nodejs/node/issues/3383
* test-fs-watch is flaky, might be related to https://github.com/nodejs/node/issues/4082
* huge timeout value for all platforms, buildd could be busy
* ability to override CI_NATIVE_SUITES, CI_JS_SUITES
* disable tests failing because DNS is disabled
* sequential/test-http2-session-timeout is flaky https://github.com/nodejs/node/issues/20628
Author: Jérémy Lal <kapouer@melix.org>
Forwarded: not-needed
Reviewed-By: Xavier Guimard <yadd@debian.org>
Last-Update: 2020-02-09
--- a/Makefile
+++ b/Makefile
@@ -511,7 +511,7 @@ test-ci-native: | test/addons/.buildstam
# This target should not use a native compiler at all
# Related CI job: node-test-commit-arm-fanned
test-ci-js: | clear-stalled
- $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
+ $(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap \
--mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \
$(TEST_CI_ARGS) $(CI_JS_SUITES)
@echo "Clean up any leftover processes, error if found."
--- a/test/parallel/parallel.status
+++ b/test/parallel/parallel.status
@@ -8,6 +8,39 @@ prefix parallel
# https://github.com/nodejs/node/issues/29802
test-http2-reset-flood: PASS,FLAKY
+test-process-config : PASS,FLAKY
+test-regress-GH-746 : PASS,FLAKY
+test-stdout-close-unref : PASS,FLAKY
+# skip tests accessing network
+test-dns : SKIP
+test-dns-lookupService-promises : SKIP
+test-net-connect-immediate-finish : SKIP
+test-net-better-error-messages-port-hostname : SKIP
+
+# in debian build env, skip because it somehow tries to access network
+test-https-connect-address-family : SKIP
+test-tls-connect-address-family : SKIP
+test-dns-cancel-reverse-lookup: SKIP
+
+# https://bugs.debian.org/919588
+## flaky on some user environments
+test-net-listen-after-destroying-stdin: PASS,FLAKY
+## fails when running with eatmydata
+test-fs-error-messages: PASS,FLAKY
+
+# should have been disabled 'cause openssl 1.1.0
+test-tls-ecdh-disable : SKIP
+
+# only works with zlib >= 1.2.11
+test-zlib-failed-init: SKIP
+
+# might fail, see https://github.com/nodejs/node/issues/17909
+test-fs-utimes: PASS,FLAKY
+
+# This test consistently fails on i386 and armhf
+[$arch==ia32 || $arch==arm]
+test-worker-stdio: FAIL
+
[$system==win32]
# https://github.com/nodejs/node/issues/32863
test-child-process-fork-args: PASS,FLAKY
@@ -41,6 +74,10 @@ test-async-hooks-http-parser-destroy: PA
test-crypto-dh-stateless: SKIP
test-crypto-keygen: SKIP
+[$arch==mips64el]
+# the debug flag is for hacking v8 internals
+test-debug-args: PASS,FLAKY
+
[$system==solaris] # Also applies to SmartOS
[$system==freebsd]
--- a/test/sequential/sequential.status
+++ b/test/sequential/sequential.status
@@ -8,6 +8,16 @@ prefix sequential
# https://github.com/nodejs/node/issues/27611#issuecomment-613100468
test-cpu-prof-dir-worker: PASS, FLAKY
+# flaky or failing at least on debian build servers
+test-fs-watch : PASS,FLAKY
+test-force-repl : SKIP
+test-performance : SKIP
+test-http2-session-timeout : PASS,FLAKY
+test-worker-prof : PASS, FLAKY
+
+# https://github.com/nodejs/node/issues/24403
+test-cli-syntax: PASS,FLAKY
+
[$system==win32]
# https://github.com/nodejs/node/issues/22327
test-http2-large-file: PASS, FLAKY
@@ -31,7 +41,3 @@ test-buffer-creation-regression: SKIP
test-buffer-creation-regression: SKIP
# https://github.com/nodejs/node/pull/30819
test-perf-hooks: SKIP
-
-[$arch==arm]
-# https://github.com/nodejs/node/issues/26401#issuecomment-613095719
-test-worker-prof: PASS, FLAKY
--- a/tools/test.py
+++ b/tools/test.py
@@ -890,25 +890,7 @@ class Context(object):
self.node_has_crypto = True
def GetVm(self, arch, mode):
- if self.vm is not None:
- return self.vm
- if arch == 'none':
- name = 'out/Debug/node' if mode == 'debug' else 'out/Release/node'
- else:
- name = 'out/%s.%s/node' % (arch, mode)
-
- # Currently GYP does not support output_dir for MSVS.
- # http://code.google.com/p/gyp/issues/detail?id=40
- # It will put the builds into Release/node.exe or Debug/node.exe
- if utils.IsWindows():
- if not exists(name + '.exe'):
- name = name.replace('out/', '')
- name = os.path.abspath(name + '.exe')
-
- if not exists(name):
- raise ValueError('Could not find executable. Should be ' + name)
-
- return name
+ return './node'
def GetTimeout(self, mode):
return self.timeout * TIMEOUT_SCALEFACTOR[ARCH_GUESS or 'ia32'][mode]
--- a/test/common/index.js
+++ b/test/common/index.js
@@ -232,27 +232,7 @@ const pwdCommand = isWindows ?
function platformTimeout(ms) {
- const multipliers = typeof ms === 'bigint' ?
- { two: 2n, four: 4n, seven: 7n } : { two: 2, four: 4, seven: 7 };
-
- if (process.features.debug)
- ms = multipliers.two * ms;
-
- if (isAIX)
- return multipliers.two * ms; // Default localhost speed is slower on AIX
-
- if (process.arch !== 'arm')
- return ms;
-
- const armv = process.config.variables.arm_version;
-
- if (armv === '6')
- return multipliers.seven * ms; // ARMv6
-
- if (armv === '7')
- return multipliers.two * ms; // ARMv7
-
- return ms; // ARMv8+
+ return 20 * ms; // for debian build servers
}
let knownGlobals = [