adapt test-ci build target for buildd
authorJérémy Lal <kapouer@melix.org>
Sun, 3 Dec 2023 21:41:14 +0000 (22:41 +0100)
committerJérémy Lal <kapouer@melix.org>
Sun, 3 Dec 2023 21:41:14 +0000 (22:41 +0100)
Forwarded: not-needed
Reviewed-By: Xavier Guimard <yadd@debian.org>
Last-Update: 2020-02-09

* 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

Gbp-Pq: Topic build
Gbp-Pq: Name test_ci.patch

Makefile
test/common/index.js
test/parallel/parallel.status
test/sequential/sequential.status
tools/test.py

index 36bc51f5a03bed7535bedb9d46a6768d9f0b01a2..776bcd76c81ce94fe82e7516772774ae02471ec5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -540,7 +540,7 @@ test-ci-native: | benchmark/napi/.buildstamp test/addons/.buildstamp test/js-nat
 # 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)
        $(info Clean up any leftover processes, error if found.)
index e25b861cce1cd620acdfc5465188e91ffb2ad767..7479e99d176f8f293d7defceea071a7b59345f00 100644 (file)
@@ -259,16 +259,15 @@ const pwdCommand = isWindows ?
 
 function platformTimeout(ms) {
   const multipliers = typeof ms === 'bigint' ?
-    { two: 2n, four: 4n, seven: 7n } : { two: 2, four: 4, seven: 7 };
+    { fast: 2n, slow: 4n } : { fast: 3, slow: 5 };
+  if (process.arch.startsWith('arm') || process.arch.startsWith('mips') || process.arch.startsWith('riscv'))
+    ms = multipliers.slow * ms;
+  else
+    ms = multipliers.fast * ms;
 
   if (process.features.debug)
-    ms = multipliers.two * ms;
-
-  if (exports.isAIX || exports.isIBMi)
-    return multipliers.two * ms; // Default localhost speed is slower on AIX
-
-  if (isPi)
-    return multipliers.two * ms;  // Raspberry Pi devices
+    ms = multipliers.slow * ms;
 
   return ms;
 }
index 58beb9d2c2e6453bfb5ef04763885c87540f8dbe..1c217b8dc452bca06bbbd8abc760b96419e31e44 100644 (file)
@@ -6,6 +6,45 @@ prefix parallel
 
 [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
+test-dns-resolveany-bad-ancount: 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
+
+# this new test doesn't have a built target properly setup
+test-child-process-stdio-overlapped: SKIP
+
+# does not pass in autopkgtest ci env
+test-cluster-bind-privileged-port: PASS,FLAKY
+test-cluster-shared-handle-bind-privileged-port: PASS,FLAKY
+test-debugger-preserve-breaks: PASS,FLAKY
+
+# corepack is dfsg-excluded
+test-corepack-yarn-install: SKIP
+test-corepack-version: SKIP
+
+# might fail, see https://github.com/nodejs/node/issues/17909
+test-fs-utimes: PASS,FLAKY
+test-fs-utimes-y2K38: PASS,FLAKY
+
 [$system==win32]
 # https://github.com/nodejs/node/issues/41206
 test-crypto-keygen: PASS,FLAKY
@@ -54,6 +93,10 @@ test-crypto-keygen: SKIP
 # https://github.com/nodejs/node/issues/47297
 test-wasm-web-api: SKIP
 
+[$arch==mips64el]
+# the debug flag is for hacking v8 internals
+test-debug-args: PASS,FLAKY
+
 [$system==solaris] # Also applies to SmartOS
 # https://github.com/nodejs/node/issues/43457
 test-domain-no-error-handler-abort-on-uncaught-0: PASS, FLAKY
index 0cfd67fc86c1902f0eda4942d9b99a9f9b6dd29c..2cae4b028292a46e48ebd40137ca3537b7383fca 100644 (file)
@@ -11,6 +11,24 @@ test-cpu-prof-dir-worker: PASS, FLAKY
 test-watch-mode: PASS, FLAKY
 test-watch-mode-inspect: 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-debugger-preserve-breaks                   : PASS,FLAKY
+test-debugger-exec-scope                        : PASS,FLAKY
+
+# https://github.com/nodejs/node/issues/24403
+test-cli-syntax: PASS,FLAKY
+
+# for debian buildd i386 (but pass on porter barriere.d.o)
+test-debugger-heap-profiler: PASS,FLAKY
+
+# new test - failing/hanging https://github.com/nodejs/node/issues/44898
+test-watch-mode: SKIP
+test-watch-mode-inspect: SKIP
+
 [$system==win32]
 # https://github.com/nodejs/node/issues/47116
 test-http-max-sockets: PASS, FLAKY
index 14ed3ea089367054ac837ef9e03e046fda2c3cb2..4a3f37f1135d9a9e02e7cc765054a5c01502c648 100755 (executable)
@@ -934,25 +934,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, section=''):
     timeout = self.timeout * TIMEOUT_SCALEFACTOR[ARCH_GUESS or 'ia32'][mode]