mirror of https://gitee.com/openkylin/nodejs.git
181 lines
5.9 KiB
Diff
181 lines
5.9 KiB
Diff
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
|
|
* test-npm-install and test-release-npm must fail, debian package dfsg-repacked npm out
|
|
* 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
|
|
@@ -508,7 +508,7 @@
|
|
# 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
|
|
@@ -6,6 +6,37 @@
|
|
|
|
[true] # This section applies to all platforms
|
|
|
|
+test-process-config : PASS,FLAKY
|
|
+test-regress-GH-746 : PASS,FLAKY
|
|
+test-stdout-close-unref : PASS,FLAKY
|
|
+test-npm-install : FAIL
|
|
+test-npm-version : FAIL
|
|
+test-release-npm : FAIL
|
|
+# skip tests accessing network
|
|
+test-dns : 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
|
|
+
|
|
[$system==win32]
|
|
# https://github.com/nodejs/node/issues/20750
|
|
test-http2-client-upload: PASS,FLAKY
|
|
@@ -39,6 +70,10 @@
|
|
# https://github.com/nodejs/node/issues/33796
|
|
test-fs-stream-construct: PASS,FLAKY
|
|
|
|
+[$arch==mips64el]
|
|
+# the debug flag is for hacking v8 internals
|
|
+test-debug-args: PASS,FLAKY
|
|
+
|
|
[$system==solaris] # Also applies to SmartOS
|
|
|
|
[$system==freebsd]
|
|
@@ -71,3 +106,6 @@
|
|
test-tls-env-extra-ca: SKIP
|
|
# https://github.com/nodejs/node/pull/34209
|
|
test-dgram-error-message-address: SKIP
|
|
+
|
|
+[$arch==mipsel]
|
|
+test-inspect-async-hook-setup-at-inspect: SKIP
|
|
--- a/test/sequential/sequential.status
|
|
+++ b/test/sequential/sequential.status
|
|
@@ -8,6 +8,15 @@
|
|
# 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
|
|
+
|
|
+# 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
|
|
@@ -35,3 +44,10 @@
|
|
[$arch==arm]
|
|
# https://github.com/nodejs/node/issues/26401#issuecomment-613095719
|
|
test-worker-prof: PASS, FLAKY
|
|
+
|
|
+[$arch==mipsel]
|
|
+test-inspector-async-hook-setup-at-inspect-brk: SKIP
|
|
+test-inspector-async-hook-setup-at-signal: SKIP
|
|
+test-inspector-async-stack-traces-set-interval: SKIP
|
|
+
|
|
+
|
|
--- a/tools/test.py
|
|
+++ b/tools/test.py
|
|
@@ -890,25 +890,7 @@
|
|
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
|
|
@@ -235,27 +235,7 @@
|
|
|
|
|
|
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 = [
|