[Pkg-javascript-devel] Bug#1009509: node-vasync: FTBFS: ERROR: Coverage for statements (71.91%) does not meet global threshold (100%)
Lucas Nussbaum
lucas at debian.org
Tue Apr 12 20:21:12 BST 2022
Source: node-vasync
Version: 2.2.1-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20220412 ftbfs-bookworm
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules binary
> dh binary
> dh_update_autotools_config
> dh_autoreconf
> dh_auto_configure --buildsystem=nodejs
> dh_auto_build --buildsystem=nodejs
> No build command found, searching known files
> dh_auto_test --buildsystem=nodejs
> mkdir -p node_modules
> ln -s ../. node_modules/vasync
> /bin/sh -ex debian/tests/pkg-js/test
> + tap tests/
> TAP version 13
> ok 1 - tests/compat.js # SKIP no tests found {
> 1..0 # no tests found
> }
>
> ok 2 - tests/compat_tryEach.js # SKIP no tests found {
> 1..0 # no tests found
> }
>
> (node:3381817) DeprecationWarning: deepEqual() is deprecated, use same() instead
> (Use `node --trace-deprecation ...` to show where the warning was created)
> ok 3 - tests/filter.js # time=511.999ms {
> # Subtest: filterSeries
> ok 1 - input 0: current tasks 1 <= 1
> ok 2 - input 1: current tasks 1 <= 1
> ok 3 - input 2: current tasks 1 <= 1
> ok 4 - input 3: current tasks 1 <= 1
> ok 5 - input 4: current tasks 1 <= 1
> ok 6 - input 5: current tasks 1 <= 1
> ok 7 - error unset
> ok 8 - max tasks reached limit
> ok 9 - results array correct
> 1..9
> ok 1 - filterSeries # time=340.365ms
>
> # Subtest: filterLimit
> ok 1 - input 0: current tasks 1 <= 2
> ok 2 - input 1: current tasks 2 <= 2
> ok 3 - input 2: current tasks 2 <= 2
> ok 4 - input 3: current tasks 2 <= 2
> ok 5 - input 4: current tasks 1 <= 2
> ok 6 - input 5: current tasks 2 <= 2
> ok 7 - error unset
> ok 8 - max tasks reached limit
> ok 9 - results array correct
> 1..9
> ok 2 - filterLimit # time=155.832ms
>
> # Subtest: filter (maintain order)
> ok 1 - input 0: current tasks 1 <= 6
> ok 2 - input 1: current tasks 2 <= 6
> ok 3 - input 2: current tasks 3 <= 6
> ok 4 - input 3: current tasks 4 <= 6
> ok 5 - input 4: current tasks 5 <= 6
> ok 6 - input 5: current tasks 6 <= 6
> ok 7 - error unset
> ok 8 - max tasks reached limit
> ok 9 - results array correct
> 1..9
> ok 3 - filter (maintain order) # time=2.841ms
>
> # Subtest: filterSeries error handling
> ok 1 - error set
> ok 2 - error on input 3
> ok 3 - results is unset
> 1..3
> ok 4 - filterSeries error handling # time=1.424ms
>
> # Subtest: filterSeries double callback
> ok 1 - expected to throw
> ok 2 - expected to throw
> ok 3 - error not set
> ok 4 - results array correct
> 1..4
> ok 5 - filterSeries double callback # time=3.376ms
>
> # Subtest: filter push to queue object error
> ok 1 - queue is closed
> ok 2 - expected to throw
> 1..2
> ok 6 - filter push to queue object error # time=1.273ms
>
> 1..6
> # time=511.999ms
> }
>
> ok 4 - tests/issue-21.js # SKIP no tests found {
> 1..0 # no tests found
> }
>
> ok 5 - tests/pipeline.js # time=32.315ms {
> # Subtest: empty pipeline
> ok 1 - expect truthy value
> ok 2 - expect truthy value
> ok 3 - expect truthy value
> ok 4 - expect truthy value
> ok 5 - expect truthy value
> ok 6 - expect truthy value
> ok 7 - expect truthy value
> ok 8 - expect truthy value
> ok 9 - expect truthy value
> ok 10 - should be equal
> 1..10
> ok 1 - empty pipeline # time=19.19ms
>
> # Subtest: normal 4-stage pipeline
> ok 1 - func1: successes
> ok 2 - func1: count === 0
> ok 3 - expect truthy value
> ok 4 - expect truthy value
> ok 5 - expect truthy value
> ok 6 - expect truthy value
> ok 7 - func1 name
> ok 8 - expect truthy value
> ok 9 - func2 name
> ok 10 - expect truthy value
> ok 11 - anon name
> ok 12 - expect truthy value
> ok 13 - func4 name
> ok 14 - expect truthy value
> ok 15 - expect truthy value
> ok 16 - func2: successes
> ok 17 - func2: count == 1
> ok 18 - expect truthy value
> ok 19 - expect truthy value
> ok 20 - expect truthy value
> ok 21 - expect truthy value
> ok 22 - func3: successes
> ok 23 - func3: successes
> ok 24 - func3: count == 2
> ok 25 - expect truthy value
> ok 26 - func4: successes
> ok 27 - func4: successes
> ok 28 - func4: successes
> ok 29 - func4: count == 3
> ok 30 - expect truthy value
> ok 31 - final: count == 4
> ok 32 - no error
> ok 33 - expect truthy value
> ok 34 - final-cb: st == result
> ok 35 - final-cb: successes
> ok 36 - final-cb: successes
> ok 37 - final-cb: successes
> ok 38 - final-cb: successes
> ok 39 - expect truthy value
> ok 40 - expect truthy value
> ok 41 - expect truthy value
> ok 42 - expect truthy value
> ok 43 - expect truthy value
> ok 44 - expect truthy value
> ok 45 - expect truthy value
> ok 46 - expect truthy value
> 1..46
> ok 2 - normal 4-stage pipeline # time=6.669ms
>
> # Subtest: bailing out early
> ok 1 - func1: count === 0
> ok 2 - func2: count == 1
> ok 3 - final: count == 3
> ok 4 - should be equal
> ok 5 - expect truthy value
> ok 6 - final-cb: st == result
> ok 7 - expect truthy value
> ok 8 - expect truthy value
> ok 9 - expect truthy value
> ok 10 - expect truthy value
> ok 11 - expect truthy value
> ok 12 - expect truthy value
> 1..12
> ok 3 - bailing out early # time=1.995ms
>
> 1..3
> # time=32.315ms
> }
>
> ok 6 - tests/queue.js # time=1208.859ms {
> # Subtest: must not push after close
> 1..3
> ok 1 - expect truthy value
> ok 2 - push should not throw _before_ close()
> ok 3 - push should throw _after_ close()
> ok 1 - must not push after close # time=11.598ms
>
> # Subtest: get 'end' event with close()
> 1..59
> ok 1 - expect truthy value
> ok 2 - should be equal
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - should be equal
> ok 6 - expect falsey value
> ok 7 - expect falsey value
> ok 8 - expect truthy value
> ok 9 - expect truthy value
> ok 10 - expect truthy value
> ok 11 - expect truthy value
> ok 12 - expect truthy value
> ok 13 - expect truthy value
> ok 14 - expect truthy value
> ok 15 - expect truthy value
> ok 16 - expect truthy value
> ok 17 - expect truthy value
> ok 18 - expect truthy value
> ok 19 - expect truthy value
> ok 20 - expect truthy value
> ok 21 - expect truthy value
> ok 22 - expect truthy value
> ok 23 - expect truthy value
> ok 24 - expect truthy value
> ok 25 - expect truthy value
> ok 26 - expect truthy value
> ok 27 - expect truthy value
> ok 28 - expect truthy value
> ok 29 - expect truthy value
> ok 30 - expect truthy value
> ok 31 - expect truthy value
> ok 32 - expect truthy value
> ok 33 - expect truthy value
> ok 34 - expect truthy value
> ok 35 - expect truthy value
> ok 36 - expect truthy value
> ok 37 - expect truthy value
> ok 38 - expect truthy value
> ok 39 - expect truthy value
> ok 40 - expect truthy value
> ok 41 - expect truthy value
> ok 42 - expect truthy value
> ok 43 - expect truthy value
> ok 44 - expect truthy value
> ok 45 - expect truthy value
> ok 46 - expect truthy value
> ok 47 - expect truthy value
> ok 48 - expect truthy value
> ok 49 - expect truthy value
> ok 50 - expect truthy value
> ok 51 - expect truthy value
> ok 52 - expect truthy value
> ok 53 - expect falsey value
> ok 54 - expect falsey value
> ok 55 - expect truthy value
> ok 56 - expect falsey value
> ok 57 - should be equal
> ok 58 - should be equal
> ok 59 - should be equal
> ok 2 - get 'end' event with close() # time=1175.794ms
>
> # Subtest: get 'end' event with close() and no tasks
> 1..10
> ok 1 - should be equal
> ok 2 - should be equal
> ok 3 - should be equal
> ok 4 - should be equal
> ok 5 - expect falsey value
> ok 6 - expect falsey value
> ok 7 - expect falsey value
> ok 8 - expect falsey value
> ok 9 - should be equal
> ok 10 - should be equal
> ok 3 - get 'end' event with close() and no tasks # time=2.019ms
>
> # Subtest: equivalence of on('drain') and q.drain()
> 1..11
> ok 1 - task completion
> ok 2 - task completion
> ok 3 - drain called
> ok 4 - drain called
> ok 5 - task completion
> ok 6 - task completion
> ok 7 - drain called
> ok 8 - drain called
> ok 9 - not closed
> ok 10 - not ended
> ok 11 - same number of calls
> ok 4 - equivalence of on('drain') and q.drain() # time=3.51ms
>
> # Subtest: ensure all arguments passed to push() callback
> 1..13
> ok 1 - got the error
> ok 2 - should be equal
> ok 3 - type is undefined
> ok 4 - type is undefined
> ok 5 - type is undefined
> ok 6 - type is undefined
> ok 7 - type is undefined
> ok 8 - got no error
> ok 9 - should be equal
> ok 10 - should be equal
> ok 11 - should be equal
> ok 12 - should be equal
> ok 13 - should be equal
> ok 5 - ensure all arguments passed to push() callback # time=3.516ms
>
> # Subtest: queue kill
> ok 1 - Function should be called once
> ok 2 - expect truthy value
> 1..2
> ok 6 - queue kill # time=1.555ms
>
> 1..6
> # time=1208.859ms
> }
>
> ok 7 - tests/queue_concurrency.js # time=304.334ms {
> # Subtest: test serial tasks
> 1..2
> ok 1 - expect truthy value
> ok 2 - expect truthy value
> ok 1 - test serial tasks # time=206.216ms
>
> # Subtest: test parallel tasks
> 1..2
> ok 1 - expect truthy value
> ok 2 - expect truthy value
> ok 2 - test parallel tasks # time=14.517ms
>
> # Subtest: test ratchet up and down
> 1..8
> ok 1 - expect truthy value
> ok 2 - expect truthy value
> ok 3 - expect truthy value
> ok 4 - expect truthy value
> ok 5 - expect truthy value
> ok 6 - expect truthy value
> ok 7 - expect truthy value
> ok 8 - expect truthy value
> ok 3 - test ratchet up and down # time=67.533ms
>
> 1..3
> # time=304.334ms
> }
>
> ok 8 - tests/waterfall.js # time=528.204ms {
> # Subtest: empty waterfall
> ok 1 - expect truthy value
> ok 2 - expect truthy value
> ok 3 - expect truthy value
> ok 4 - expect truthy value
> ok 5 - expect truthy value
> ok 6 - expect truthy value
> ok 7 - expect truthy value
> ok 8 - expect truthy value
> ok 9 - expect truthy value
> ok 10 - should be equal
> 1..10
> ok 1 - empty waterfall # time=31.881ms
>
> # Subtest: normal 4-stage waterfall
> ok 1 - func1: count === 0
> ok 2 - expect truthy value
> ok 3 - expect truthy value
> ok 4 - expect truthy value
> ok 5 - expect truthy value
> ok 6 - func1 name
> ok 7 - expect truthy value
> ok 8 - func2 name
> ok 9 - expect truthy value
> ok 10 - anon name
> ok 11 - expect truthy value
> ok 12 - func4 name
> ok 13 - expect truthy value
> ok 14 - expect truthy value
> ok 15 - func2: extra arg
> ok 16 - func2: count == 1
> ok 17 - expect truthy value
> ok 18 - expect truthy value
> ok 19 - expect truthy value
> ok 20 - expect truthy value
> ok 21 - func3: extra arg
> ok 22 - func3: extra arg
> ok 23 - func3: extra arg
> ok 24 - func3: count == 2
> ok 25 - expect truthy value
> ok 26 - func4: count == 2
> ok 27 - expect truthy value
> ok 28 - final: count == 4
> ok 29 - no error
> ok 30 - expect truthy value
> ok 31 - expect truthy value
> ok 32 - expect truthy value
> ok 33 - expect truthy value
> ok 34 - expect truthy value
> ok 35 - expect truthy value
> ok 36 - expect truthy value
> ok 37 - expect truthy value
> ok 38 - expect truthy value
> ok 39 - expect truthy value
> 1..39
> ok 2 - normal 4-stage waterfall # time=90.561ms
>
> # Subtest: bailing out early
> ok 1 - func1: count === 0
> ok 2 - func2: count == 1
> ok 3 - final: count == 3
> ok 4 - should be equal
> ok 5 - expect truthy value
> ok 6 - expect truthy value
> ok 7 - expect truthy value
> ok 8 - expect truthy value
> ok 9 - expect truthy value
> ok 10 - expect truthy value
> 1..10
> ok 3 - bailing out early # time=43.021ms
>
> # Subtest: bad function
> ok 1 - vasync.waterfall: function 0 ("func1") invoked its callback twice
> ok 2 - should be equal
> 1..2
> ok 4 - bad function # time=105.446ms
>
> # Subtest: badargs
> ok 1 - expected to throw
> ok 2 - expected to throw
> ok 3 - expected to throw
> 1..3
> ok 5 - badargs # time=45.408ms
>
> # Subtest: normal waterfall, no callback
> ok 1 - expect truthy value
> ok 2 - expect truthy value
> ok 3 - expect truthy value
> 1..3
> ok 6 - normal waterfall, no callback # time=102.556ms
>
> # Subtest: empty waterfall, no callback
> 1..0
> ok 7 - empty waterfall, no callback # time=101.125ms
>
> 1..7
> # time=528.204ms
> }
>
> ok 9 - tests/whilst.js # time=29.698ms {
> # Subtest: basic whilst
> ok 1 - error unset
> ok 2 - n == 5
> ok 3 - n == arg
> 1..3
> ok 1 - basic whilst # time=15.251ms
>
> # Subtest: whilst return object
> ok 1 - whilst returns an object
> ok 2 - whilst is not finished
> ok 3 - whilst has not started yet
> ok 4 - n == w.iterations: 1
> ok 5 - n == w.iterations: 2
> ok 6 - n == w.iterations: 3
> ok 7 - n == w.iterations: 4
> ok 8 - n == w.iterations: 5
> ok 9 - error unset
> ok 10 - whilst had 5 iterations
> ok 11 - whilst has finished
> ok 12 - whilst arg1 == n
> ok 13 - whilst arg2 == "foo"
> ok 14 - whilst arg3 == undefined
> 1..14
> ok 2 - whilst return object # time=6.961ms
>
> # Subtest: whilst false condition
> ok 1 - error is unset
> ok 2 - arg is unset
> 1..2
> ok 3 - whilst false condition # time=0.876ms
>
> # Subtest: whilst error
> ok 1 - error is set
> ok 2 - should be equal
> ok 3 - should be equal
> ok 4 - whilst is finished
> ok 5 - whilst had 6 iterations
> 1..5
> ok 4 - whilst error # time=1.348ms
>
> 1..4
> # time=29.698ms
> }
>
> 1..9
> # skip: 3
> # time=3257.331ms
> ERROR: Coverage for lines (72.13%) does not meet global threshold (100%)
> ERROR: Coverage for functions (61.81%) does not meet global threshold (100%)
> ERROR: Coverage for branches (66.66%) does not meet global threshold (100%)
> ERROR: Coverage for statements (71.91%) does not meet global threshold (100%)
> -----------|---------|----------|---------|---------|-----------------------------------------------
> File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
> -----------|---------|----------|---------|---------|-----------------------------------------------
> All files | 71.91 | 66.66 | 61.81 | 72.13 |
> vasync.js | 71.91 | 66.66 | 61.81 | 72.13 | ...31,551,576,592-611,618-620,625-667,841,877
> -----------|---------|----------|---------|---------|-----------------------------------------------
> dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 1
The full build log is available from:
http://qa-logs.debian.net/2022/04/12/node-vasync_2.2.1-1_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20220412;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20220412&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
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!
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
More information about the Pkg-javascript-devel
mailing list