[Pkg-javascript-devel] Bug#1009610: node-querystring: FTBFS: ERROR: Coverage for statements (89.09%) does not meet global threshold (100%)

Lucas Nussbaum lucas at debian.org
Tue Apr 12 20:20:28 BST 2022


Source: node-querystring
Version: 0.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/querystring
> 	/bin/sh -ex debian/tests/pkg-js/test
> + tap test
> TAP version 13
> ok 1 - test/common-index.js # SKIP no tests found {
>     Running all tests:
>       test basic
>         ✓ prase id=918854443121279438895193
>       test that the canonical qs is parsed properly
>         ✓ parse foo=918854443121279438895193
>         ✓ parse foo=bar
>         ✓ parse foo=bar&foo=quux
>         ✓ parse foo=1&bar=2
>         ✓ parse my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F
>         ✓ parse foo%3Dbaz=bar
>         ✓ parse foo=baz=bar
>         ✓ parse str=foo&arr=1&arr=2&arr=3&somenull=&undef=
>         ✓ parse  foo = bar 
>         ✓ parse foo=%EF%BF%BD
>         ✓ parse hasOwnProperty=x&toString=foo&valueOf=bar&__defineGetter__=baz
>         ✓ parse foo&bar=baz
>       test that the colon test cases can do the same
>         ✓ parse foo:bar -> ; :
>         ✓ parse foo:bar;foo:quux -> ; :
>         ✓ parse foo:1&bar:2;baz:quux -> ; :
>         ✓ parse foo%3Abaz:bar -> ; :
>         ✓ parse foo:baz:bar -> ; :
>       test the weird objects, that they get parsed properly
>         ✓ parse regexp=
>         ✓ parse regexp=
>         ✓ parse fn=
>         ✓ parse fn=
>         ✓ parse math=
>         ✓ parse e=
>         ✓ parse d=
>         ✓ parse d=
>         ✓ parse f=&t=
>         ✓ parse f=false&t=true
>         ✓ parse n=
>         ✓ parse nan=
>         ✓ parse inf=
>       test non munge test cases
>         ✓ stringify {} -> & =
>         ✓ stringify {"foo":["bar","baz"]} -> & =
>         ✓ stringify {"blah":"burp"} -> & =
>         ✓ stringify {"gragh":["1","3"],"goo":"2"} -> & =
>         ✓ stringify {"frappucino":"muffin","goat[]":"scone","pond":"moose"} -> & =
>         ✓ stringify {"trololol":"yes","lololo":"no"} -> & =
>       test the nested qs-in-qs case
>         ✓ parse a=b&q=x%3Dy%26y%3Dz
>       test nested in colon
>         ✓ stringify {"a":"b","qs.stringify -> q":{"x":"y","y":"z"}} -> ; : 
>         ✓ parse undefined
>       test stringifying
>         ✓ stringify {"foo":"918854443121279438895193"}
>         ✓ stringify {"foo":"bar"}
>         ✓ stringify {"foo":["bar","quux"]}
>         ✓ stringify {"foo":"1","bar":"2"}
>         ✓ stringify {"my weird field":"q1!2\"'w$5&7/z8)?"}
>         ✓ stringify {"foo=baz":"bar"}
>         ✓ stringify {"foo":"baz=bar"}
>         ✓ stringify {"str":"foo","arr":["1","2","3"],"somenull":"","undef":""}
>         ✓ stringify {" foo ":" bar "}
>         ✓ stringify {"foo":"�"}
>         ✓ stringify {"hasOwnProperty":"x","toString":"foo","valueOf":"bar","__defineGetter__":"baz"}
>         ✓ stringify {"foo":"","bar":"baz"}
>         ✓ stringify {"foo":[]}
>         ✓ stringify {"foo":[],"bar":"baz"}
>         ✓ stringify {"foo":"bar"} -> ; :
>         ✓ stringify {"foo":["bar","quux"]} -> ; :
>         ✓ stringify {"foo":"1&bar:2","baz":"quux"} -> ; :
>         ✓ stringify {"foo:baz":"bar"} -> ; :
>         ✓ stringify {"foo":"baz:bar"} -> ; :
>         ✓ stringify {"regexp":{}}
>         ✓ stringify {"regexp":{}}
>         ✓ stringify {}
>         ✓ stringify {}
>         ✓ stringify {"math":{}}
>         ✓ stringify {}
>         ✓ stringify {"d":"2022-04-12T16:47:29.500Z"}
>         ✓ stringify {}
>         ✓ stringify {"f":false,"t":true}
>         ✓ stringify {"f":false,"t":true}
>         ✓ stringify {"n":null}
>         ✓ stringify {"nan":null}
>         ✓ stringify {"inf":null}
>       test stringifying nested
>         ✓ {"a":"b","qs.stringify -> q":{"x":"y","y":"z"}}
>         ✓ does not throws on undefined
>     Passed:74 Failed:0 Errors:0
>     1..0 # no tests found
> }
> 
> ok 2 - test/index.js # SKIP no tests found {
>     1..0 # no tests found
> }
> 
> ok 3 - test/tap-index.js # time=698.573ms {
>     # test basic
>     ok 1 prase id=918854443121279438895193
>     # test that the canonical qs is parsed properly
>     ok 2 parse foo=918854443121279438895193
>     ok 3 parse foo=bar
>     ok 4 parse foo=bar&foo=quux
>     ok 5 parse foo=1&bar=2
>     ok 6 parse my+weird+field=q1%212%22%27w%245%267%2Fz8%29%3F
>     ok 7 parse foo%3Dbaz=bar
>     ok 8 parse foo=baz=bar
>     ok 9 parse str=foo&arr=1&arr=2&arr=3&somenull=&undef=
>     ok 10 parse foo = bar 
>     ok 11 parse foo=%EF%BF%BD
>     ok 12 parse hasOwnProperty=x&toString=foo&valueOf=bar&__defineGetter__=baz
>     ok 13 parse foo&bar=baz
>     # test that the colon test cases can do the same
>     ok 14 parse foo:bar -> ; :
>     ok 15 parse foo:bar;foo:quux -> ; :
>     ok 16 parse foo:1&bar:2;baz:quux -> ; :
>     ok 17 parse foo%3Abaz:bar -> ; :
>     ok 18 parse foo:baz:bar -> ; :
>     # test the weird objects, that they get parsed properly
>     ok 19 parse regexp=
>     ok 20 parse regexp=
>     ok 21 parse fn=
>     ok 22 parse fn=
>     ok 23 parse math=
>     ok 24 parse e=
>     ok 25 parse d=
>     ok 26 parse d=
>     ok 27 parse f=&t=
>     ok 28 parse f=false&t=true
>     ok 29 parse n=
>     ok 30 parse nan=
>     ok 31 parse inf=
>     # test non munge test cases
>     ok 32 stringify {} -> & =
>     ok 33 stringify {"foo":["bar","baz"]} -> & =
>     ok 34 stringify {"blah":"burp"} -> & =
>     ok 35 stringify {"gragh":["1","3"],"goo":"2"} -> & =
>     ok 36 stringify {"frappucino":"muffin","goat[]":"scone","pond":"moose"} -> & =
>     ok 37 stringify {"trololol":"yes","lololo":"no"} -> & =
>     # test the nested qs-in-qs case
>     ok 38 parse a=b&q=x%3Dy%26y%3Dz
>     # test nested in colon
>     ok 39 stringify {"a":"b","qs.stringify -> q":{"x":"y","y":"z"}} -> ; : 
>     ok 40 parse undefined
>     # test stringifying
>     ok 41 stringify {"foo":"918854443121279438895193"}
>     ok 42 stringify {"foo":"bar"}
>     ok 43 stringify {"foo":["bar","quux"]}
>     ok 44 stringify {"foo":"1","bar":"2"}
>     ok 45 stringify {"my weird field":"q1!2\"'w$5&7/z8)?"}
>     ok 46 stringify {"foo=baz":"bar"}
>     ok 47 stringify {"foo":"baz=bar"}
>     ok 48 stringify {"str":"foo","arr":["1","2","3"],"somenull":"","undef":""}
>     ok 49 stringify {" foo ":" bar "}
>     ok 50 stringify {"foo":"�"}
>     ok 51 stringify {"hasOwnProperty":"x","toString":"foo","valueOf":"bar","__defineGetter__":"baz"}
>     ok 52 stringify {"foo":"","bar":"baz"}
>     ok 53 stringify {"foo":[]}
>     ok 54 stringify {"foo":[],"bar":"baz"}
>     ok 55 stringify {"foo":"bar"} -> ; :
>     ok 56 stringify {"foo":["bar","quux"]} -> ; :
>     ok 57 stringify {"foo":"1&bar:2","baz":"quux"} -> ; :
>     ok 58 stringify {"foo:baz":"bar"} -> ; :
>     ok 59 stringify {"foo":"baz:bar"} -> ; :
>     ok 60 stringify {"regexp":{}}
>     ok 61 stringify {"regexp":{}}
>     ok 62 stringify {}
>     ok 63 stringify {}
>     ok 64 stringify {"math":{}}
>     ok 65 stringify {}
>     ok 66 stringify {"d":"2022-04-12T16:47:29.508Z"}
>     ok 67 stringify {}
>     ok 68 stringify {"f":false,"t":true}
>     ok 69 stringify {"f":false,"t":true}
>     ok 70 stringify {"n":null}
>     ok 71 stringify {"nan":null}
>     ok 72 stringify {"inf":null}
>     # test stringifying nested
>     ok 73 {"a":"b","qs.stringify -> q":{"x":"y","y":"z"}}
>     ok 74 does not throws on undefined
>     
>     1..74
>     # tests 74
>     # pass  74
>     
>     # ok
> }
> 
> 1..3
> # skip: 2
> # time=726.114ms
> ERROR: Coverage for lines (90.56%) does not meet global threshold (100%)
> ERROR: Coverage for branches (80.95%) does not meet global threshold (100%)
> ERROR: Coverage for statements (89.09%) does not meet global threshold (100%)
> -----------|---------|----------|---------|---------|-------------------
> File       | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
> -----------|---------|----------|---------|---------|-------------------
> All files  |   89.09 |    80.95 |     100 |   90.56 |                   
>  decode.js |   93.75 |    86.36 |     100 |   93.54 | 45,51             
>  encode.js |   80.95 |       75 |     100 |      85 | 44,61-62          
>  index.js  |     100 |      100 |     100 |     100 |                   
> -----------|---------|----------|---------|---------|-------------------
> 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-querystring_0.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