[Pkg-javascript-devel] Bug#973220: node-libnpx: FTBFS: dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 123
Lucas Nussbaum
lucas at debian.org
Tue Oct 27 17:07:22 GMT 2020
Source: node-libnpx
Version: 10.2.1-2
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201027 ftbfs-bullseye
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> tail -n +2 README.md | marked-man --manual 'User Commands' --version libnpx@$(dpkg-parsechangelog -S version) > libnpx.1
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_test --buildsystem=nodejs
> ln -s ../. node_modules/libnpx
> /bin/sh -ex debian/tests/pkg-js/test
> + export LANG=C
> + export NODE_PATH=node_modules
> + pwd
> + export HOME=/<<PKGBUILDDIR>>
> + ls test/auto-fallback.js test/child.js test/get-prefix.js test/guess-command-name.js test/index.js test/parse-args.js test/util.js
> + grep -v test/auto-fallback.js
> + xargs tap
> TAP version 13
> # Subtest: test/child.js
> # Subtest: escapeArg on *nix
> ok 1 - standard arg left intact
> ok 2 - '-escaped on *nix
> ok 3 - paths escaped as usual
> 1..3
> ok 1 - escapeArg on *nix # time=4.407ms
>
> # Subtest: escapeArg on win32
> ok 1 - standard arg escaped
> ok 2 - "-escaped on win32
> ok 3 - paths escaped as usual
> 1..3
> ok 2 - escapeArg on win32 # time=1.253ms
>
> # Subtest: exec
> ok 1 - command string concatenated
> ok 2 - options received!
> ok 3 - unix-style escapes
> ok 4 - win32-style escapes
> ok 5 - got error
> 1..5
> ok 3 - exec # time=11.291ms
>
> # Subtest: exec (integration)
> ok 1 - node ran successfully
> ok 2 - got the exit code from subproc
> 1..2
> ok 4 - exec (integration) # time=149.221ms
>
> # Subtest: spawn
> ok 1 - should be equivalent
> ok 2 - got the exit code from
> 1..2
> ok 5 - spawn # time=174.839ms
>
> # Subtest: runCommand with command arg
> ok 1 - should be equivalent
> ok 2 - got the exit code from subproc
> ok 3 - error message reports ENOENT
> ok 4 - "not found" has code 127
> 1..4
> ok 6 - runCommand with command arg # time=152.75ms
>
> # Subtest: runCommand with opts.command
> ok 1 - should be equivalent
> 1..1
> ok 7 - runCommand with opts.command # time=85.887ms
>
> # Subtest: runCommand with opts.call and opts.shell
> ok 1 - should be equivalent
> 1..1
> ok 8 - runCommand with opts.call and opts.shell # time=68.64ms
>
> 1..8
> # time=657.906ms
> ok 1 - test/child.js # time=828.454ms
>
> # Subtest: test/get-prefix.js
> /usr/share/nodejs/tap/lib/extra-from-error.js:6
> if (!(k in set) && !/^tapChild/.test(k))
> ^
>
> TypeError: Cannot use 'in' operator to search for 'name' in uncaughtException
> at /usr/share/nodejs/tap/lib/extra-from-error.js:6:13
> at Array.reduce (<anonymous>)
> at module.exports (/usr/share/nodejs/tap/lib/extra-from-error.js:5:38)
> at TAP.threw (/usr/share/nodejs/tap/lib/test.js:658:15)
> at process.emit (events.js:326:22)
> at process.emit (/usr/share/nodejs/source-map-support/source-map-support.js:495:21)
> at processEmit [as emit] (/usr/share/nodejs/signal-exit/index.js:161:32)
> at process._fatalException (internal/process/execution.js:165:25)
> 1..0 # no tests found
> not ok 2 - test/get-prefix.js # time=190.364ms
> ---
> timeout: 30000
> file: test/get-prefix.js
> command: /usr/bin/node
> args:
> - test/get-prefix.js
> stdio:
> - 0
> - pipe
> - 2
> cwd: /<<PKGBUILDDIR>>
> exitCode: 7
> ...
>
> # Subtest: test/guess-command-name.js
> # Subtest: guesses unscoped registry binaries
> ok 1 - should be equal
> 1..1
> ok 1 - guesses unscoped registry binaries # time=24.712ms
>
> # Subtest: guesses scoped registry binaries
> ok 1 - should be equal
> 1..1
> ok 2 - guesses scoped registry binaries # time=0.911ms
>
> # Subtest: guesses hosted git binaries
> ok 1 - should be equal
> ok 2 - should be equal
> 1..2
> ok 3 - guesses hosted git binaries # time=5.405ms
>
> # Subtest: guesses git binaries
> ok 1 - should be equal
> ok 2 - should be equal
> 1..2
> ok 4 - guesses git binaries # time=1.544ms
>
> # Subtest: leaves local directory/file commands intact
> ok 1 - should be equal
> ok 2 - should be equal
> ok 3 - should be equal
> ok 4 - should be equal
> 1..4
> ok 5 - leaves local directory/file commands intact # time=1.58ms
>
> # Subtest: guesses remote tarballs
> ok 1 - should be equal
> ok 2 - should be equal
> ok 3 - should be equal
> 1..3
> ok 6 - guesses remote tarballs # time=1.436ms
>
> # Subtest: guesses local tarballs
> ok 1 - should be equal
> ok 2 - should be equal
> ok 3 - should be equal
> 1..3
> ok 7 - guesses local tarballs # time=0.827ms
>
> # Subtest: warns when something could not be guessed
> ok 1 - should match pattern provided
> 1..1
> ok 8 - warns when something could not be guessed # time=19.422ms
>
> 1..8
> # time=72.967ms
> ok 3 - test/guess-command-name.js # time=234.797ms
>
> # Subtest: test/index.js
> # Subtest: npx --shell-auto-fallback
> ok 1 - command succeeded
> ok 2 - got shell code in output
> 1..2
> ok 1 - npx --shell-auto-fallback # time=123.199ms
>
> # Subtest: npx no command
> ok 1 - got 1 as exit code
> ok 2 - got a useful error message
> ok 3 - npx help printed
> 1..3
> ok 2 - npx no command # time=164.498ms
>
> # Subtest: npx existing subcommand
> ok 1 - no stderr output
> ok 2 - got output from command
> 1..2
> ok 3 - npx existing subcommand # time=98.119ms
>
> # Subtest: installPackages unit
> ok 1 - args to spawn were correct for installing requested package
> ok 2 - default stdio settings correct
> ok 3 - non-process failure reported intact
> ok 4 - npm install failure has helpful error message
> ok 5 - error has exitCode
> ok 6 - incorrectly escaped path *nix
> 1..6
> ok 4 - installPackages unit # time=9.08ms
>
> # Subtest: getNpmCache
> ok 1 - requests cache from npm
> ok 2 - added userconfig if option present
> 1..2
> ok 5 - getNpmCache # time=3.728ms
>
> # Subtest: findNodeScript
> ok 1 - existing returned as-is on *nix
> ok 2 - files that are not standalone node scripts are false
> ok 3 - no node script found if existing is null
> ok 4 - resolved dir dep to index.js
> ok 5 - close error rethrown
> 1..5
> ok 6 - findNodeScript # time=6.093ms
>
> ok 7 - noisy npx with --quiet arg on windows # SKIP Only on Windows does the path to the downloaded module get printed
> ok 8 - nice error message when no binaries on windows # SKIP Only on Windows is the error message inscrutable
> ok 9 - --node-arg works on Windows # SKIP Only on Windows does --node-arg have issues
> 1..9
> # skip: 3
> # time=411.288ms
> ok 4 - test/index.js # time=585.681ms
>
> # Subtest: test/parse-args.js
> # Subtest: parses basic command
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equal
> ok 6 - should be equivalent
> 1..6
> ok 1 - parses basic command # time=6.878ms
>
> # Subtest: parses command with version
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> 1..4
> ok 2 - parses command with version # time=25.06ms
>
> # Subtest: parses command opts
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 3 - parses command opts # time=1.513ms
>
> # Subtest: parses scoped package command opts
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 4 - parses scoped package command opts # time=1.737ms
>
> # Subtest: ignores options after command
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 5 - ignores options after command # time=1.595ms
>
> # Subtest: assumes unknown args before cmd have values and ignores them
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 6 - assumes unknown args before cmd have values and ignores them # time=28.236ms
>
> # Subtest: parses package option
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 7 - parses package option # time=2.916ms
>
> # Subtest: parses multiple package options
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 8 - parses multiple package options # time=2.825ms
>
> # Subtest: does not parse -c
> ok 1 - stays unparsed
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 9 - does not parse -c # time=2.391ms
>
> # Subtest: uses -p even with -c
> ok 1 - should be equivalent
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 10 - uses -p even with -c # time=2.372ms
>
> # Subtest: -p prevents command parsing
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 11 - -p prevents command parsing # time=2.319ms
>
> # Subtest: -- stops option parsing but still does command
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 12 - -- stops option parsing but still does command # time=2.399ms
>
> # Subtest: -- still respects -p
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equivalent
> 1..5
> ok 13 - -- still respects -p # time=2.262ms
>
> # Subtest: allows configuration of npm binary
> ok 1 - should be equal
> 1..1
> ok 14 - allows configuration of npm binary # time=1.652ms
>
> # Subtest: treats directory-type commands specially
> ok 1 - should be equal
> ok 2 - should be equivalent
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - expect truthy value
> ok 6 - should be equal
> ok 7 - expect truthy value
> ok 8 - should be equivalent
> ok 9 - should be equal
> ok 10 - should be equal
> 1..10
> ok 15 - treats directory-type commands specially # time=4.716ms
>
> # Subtest: -n and --node-arg special parsing rules
> ok 1 - should match pattern provided
> ok 2 - should match pattern provided
> ok 3 - should match pattern provided
> ok 4 - should match pattern provided
> ok 5 - should match pattern provided
> ok 6 - should match pattern provided
> ok 7 - should match pattern provided
> ok 8 - should match pattern provided
> ok 9 - should match pattern provided
> ok 10 - should match pattern provided
> 1..10
> ok 16 - -n and --node-arg special parsing rules # time=13.374ms
>
> 1..16
> # time=136.714ms
> ok 5 - test/parse-args.js # time=305.97ms
>
> # Subtest: test/util.js
> # Subtest: promisify with existing util.promisify
> ok 1 - used existing promisify fn
> 1..1
> ok 1 - promisify with existing util.promisify # time=4.669ms
>
> # Subtest: promisify without existing util.promisify
> ok 1 - got a thenable
> ok 2 - value passed through successfully
> ok 3 - got the error!
> 1..3
> ok 2 - promisify without existing util.promisify # time=3.321ms
>
> 1..2
> # time=14.899ms
> ok 6 - test/util.js # time=183.092ms
>
> 1..6
> # failed 1 of 6 tests
> # time=2346.508ms
> dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 123
The full build log is available from:
http://qa-logs.debian.net/2020/10/27/node-libnpx_10.2.1-2_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.
More information about the Pkg-javascript-devel
mailing list