[Pkg-javascript-devel] Bug#1034603: node-address: Increase timeout to avoid flaky autopkgtest failures on slow testbeds

Lukas Märdian slyon at ubuntu.com
Wed Apr 19 13:15:36 BST 2023


Package: node-address
Version: 1.2.1-1
Severity: minor
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu lunar ubuntu-patch
X-Debbugs-Cc: slyon at ubuntu.com

Dear Maintainer,

node-address currently uses a mocha timeout of 20s, as defined in
debian/tests/pkg-js/test, which can lead to autopkgtest failures on slower
architectures, as observed on DebCI and Ubuntu's autopkgtest infrastructure.

    Error: Timeout of 20000ms exceeded.
    For async tests and hooks, ensure "done()" is called;
    if returning a Promise, ensure it resolves.

It happened on slower architectures, like armel or ppc64el in the past, e.g.:
https://ci.debian.net/data/autopkgtest/testing/armel/n/node-address/32795170/log.gz

Executing the test on a (small) ppc64el cloud instance shows that the test passes,
but would have almost hit the timeout, too:
=> "undefined should works with ts without error (18105ms)" vs 20000ms timeout.

```
# Launch debian/tests/pkg-js/test with sh -ex
+ ln -s ../ node_modules/address
+ mocha --check-leaks -R spec -t 20000 test/address.test.js test/ts.test.js


  test/address.test.js
    regex check
      undefined should MAC_IP_RE pass
      undefined should MAC_RE pass
    address()
      undefined should return first ethernet addrs
      undefined should return first ethernet addrs from osx
      undefined should return first ethernet addrs from linux
      undefined should return first vnic interface addrs from osx
      undefined should return first local loopback addrs
      undefined should return first local loopback addrs from linux
    interface()
      undefined should return interface with family
    address.mac()
      - should return mac
      undefined should return mock mac address
      undefined should return null when ip not exists
      undefined should return err when ifconfig cmd exec error
      undefined should return mac mock win32
    address.ip()
      undefined should return 127.0.0.1
      undefined should return the first not 127.0.0.1 interface
      undefined should return utun1
    address.dns()
      undefined should return dns servers from osx
      undefined should return dns servers from linux
      undefined should return err when fs error

  test/ts.test.js
    undefined should works with ts without error (18105ms)


  20 passing (18s)
  1 pending

+ rm -rf node_modules
# Cleaning tmp dir
autopkgtest [10:29:32]: test pkg-js-autopkgtest: -----------------------]
autopkgtest [10:29:34]: test pkg-js-autopkgtest:  - - - - - - - - - - results - - - - - - - - - -
pkg-js-autopkgtest   PASS
```

In Ubuntu, the attached patch was applied to achieve the following:

  * d/t/pkg-js: increase mocha timeout to 60s, to avoid flaky autopkgtest
    failures on slow testbeds (like armel or ppc64el)

Thanks for considering the patch.

-- Lukas


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), (100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.19.0-38-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
-------------- next part --------------
diff -Nru node-address-1.2.1/debian/tests/pkg-js/test node-address-1.2.1/debian/tests/pkg-js/test
--- node-address-1.2.1/debian/tests/pkg-js/test	2020-04-10 15:10:52.000000000 +0200
+++ node-address-1.2.1/debian/tests/pkg-js/test	2023-04-19 12:48:03.000000000 +0200
@@ -1,5 +1,5 @@
 set -e
 cp -a debian/tests/test_modules node_modules
 ln -s ../ node_modules/address
-mocha --check-leaks -R spec -t 20000 test/*.test.js
+mocha --check-leaks -R spec -t 60000 test/*.test.js
 rm -rf node_modules


More information about the Pkg-javascript-devel mailing list