[Pkg-javascript-devel] Bug#963351: node-prelude-ls: FTBFS: dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 2

Lucas Nussbaum lucas at debian.org
Sun Jun 21 21:10:44 BST 2020


Source: node-prelude-ls
Version: 1.1.2+dfsg-5
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200620 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[2]: Entering directory '/<<PKGBUILDDIR>>'
> mkdir -p lib/
> /usr/bin/lsc --compile package.json.ls
> /usr/bin/lsc --output lib --bare --compile "src/Func.ls"
> /usr/bin/lsc --output lib --bare --compile "src/List.ls"
> /usr/bin/lsc --output lib --bare --compile "src/Num.ls"
> /usr/bin/lsc --output lib --bare --compile "src/Obj.ls"
> /usr/bin/lsc --output lib --bare --compile "src/Str.ls"
> /usr/bin/lsc --output lib --bare --compile "src/index.ls"
> make[2]: Leaving directory '/<<PKGBUILDDIR>>'
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test --buildsystem=nodejs
> 	/bin/sh -ex debian/tests/pkg-js/test
> + mocha -R spec debian/tests/Func.js debian/tests/List.js debian/tests/Num.js debian/tests/Obj.js debian/tests/Str.js debian/tests/index.js
> 
> 
>   apply
>     ✓ empty list
>     ✓ a couple of args
>     ✓ curried
> 
>   curry
>     ✓ simple function
> 
>   flip
>     ✓ minus op
> 
>   fix
>     ✓ single arg
>     ✓ multi-arg variation
> 
>   over
>     ✓ basic
>     ✓ with accessor function
> 
>   memoize
>     ✓ memoize test
>     ✓ call again when using different arguments
>     ✓ that the correct values are returned
> 
>   each
>     ✓ empty list as input
>     ✓ side effects affect input (and thus result)
>     ✓ curried
> 
>   map
>     ✓ empty list as input
>     ✓ mapping over array
>     ✓ curried
> 
>   compact
>     ✓ empty list as input
>     ✓ compacting array
> 
>   filter
>     ✓ empty list as input
>     ✓ filtering array
>     ✓ filter on true returns original list
>     ✓ filter on false returns empty list
>     ✓ curried
> 
>   reject
>     ✓ empty list as input
>     ✓ reject list
>     ✓ reject on true returns empty list
>     ✓ reject on true returns original list
>     ✓ curried
> 
>   partition
>     ✓ empty list as input
>     ✓ partition list
>     ✓ partition on true returns original list as passing, empty list as failing
>     ✓ partition on false returns empty list as failing, empty list as passing
>     ✓ curried
> 
>   find
>     ✓ empty list as input
>     ✓ find from list
>     ✓ finding nothing when function always false
>     ✓ find first item when function always true
>     ✓ curried
> 
>   list portions
>     head
>       ✓ empty list as input
>       ✓ list
>       ✓ first as alias
>     tail
>       ✓ empty list as input
>       ✓ list
>       ✓ one element list
>     last
>       ✓ empty list as input
>       ✓ list
>       ✓ one element list
>     initial
>       ✓ empty list as input
>       ✓ list
>       ✓ one element list
> 
>   empty
>     ✓ empty list as input
>     ✓ non-empty list as input
> 
>   reverse
>     ✓ empty list as input
>     ✓ reverse list, it is unmodified
> 
>   unique
>     ✓ empty list as input
>     ✓ unique list
>     ✓ mixed string/num
> 
>   unique-by
>     ✓ empty list as input
>     ✓ basic
>     ✓ accessor
>     ✓ curried
> 
>   fold
>     ✓ empty list as input
>     ✓ list as input
>     ✓ foldl is alias
>     ✓ curried
> 
>   fold1
>     ✓ empty list as input
>     ✓ list as input
>     ✓ foldl1 as alais
>     ✓ curried
> 
>   foldr
>     ✓ empty list as input
>     ✓ list as input
>     ✓ curried
> 
>   foldr1
>     ✓ empty list as input
>     ✓ list as input
>     ✓ curried
> 
>   unfoldr
>     ✓ complex case
>     ✓ returning null right away results in a one item list
>     ✓ curried
> 
>   concat
>     ✓ empty list as input
>     ✓ multiple lists
> 
>   concat-map
>     ✓ empty list as input
>     ✓ using mapping and concatinating
>     ✓ curried
> 
>   flatten
>     ✓ empty list as input
>     ✓ nested lists as input
>     ✓ lists with strings
> 
>   difference
>     ✓ empty list(s) as input
>     ✓ subtract nothing
>     ✓ subtract single element
>     ✓ subtract multiple elements
> 
>   intersection
>     ✓ empty list(s) as input
>     ✓ no common elements
>     ✓ some common elements
>     ✓ all common elements
> 
>   union
>     ✓ empty list(s) as input
>     ✓ list and empty list
>     ✓ with various
> 
>   count-by
>     1) empty list as input
>     ✓ list of numbers
>     ✓ list of strings
>     ✓ curried
> 
>   group-by
>     2) empty list as input
>     ✓ list of numbers
>     ✓ list of strings
>     ✓ curried
> 
>   and-list
>     ✓ empty list as input
>     ✓ true
>     ✓ false
> 
>   or-list
>     ✓ empty list as input
>     ✓ true
>     ✓ false
> 
>   any
>     ✓ empty list as input
>     ✓ true
>     ✓ false
>     ✓ curried
> 
>   all
>     ✓ empty list as input
>     ✓ true
>     ✓ false
>     ✓ curried
> 
>   sort
>     ✓ empty list as input
>     ✓ single digit numbers
>     ✓ multi digit numbers
>     ✓ same digits
> 
>   sort-with
>     ✓ empty list as input
>     ✓ complex case
>     ✓ curried
> 
>   sort-by
>     ✓ empty list as input
>     ✓ complex case
>     ✓ curried
> 
>   sum
>     ✓ empty list as input
>     ✓ list as input
>     ✓ negative numbers
> 
>   product
>     ✓ empty list as input
>     ✓ list as input
>     ✓ negative numbers
> 
>   mean
>     ✓ empty list as input
>     ✓ list as input
>     ✓ average as alias
> 
>   maximum
>     ✓ empty list as input
>     ✓ single element list
>     ✓ multi element list
> 
>   minimum
>     ✓ empty list as input
>     ✓ single element list
>     ✓ multi element list
>     ✓ list of strings
> 
>   maximum-by
>     ✓ empty list as input
>     ✓ single element list
>     ✓ multi element list
>     ✓ curried
> 
>   minimum-by
>     ✓ empty list as input
>     ✓ single element list
>     ✓ multi element list
>     ✓ curried
> 
>   scan
>     ✓ empty list as input
>     ✓ complex case
>     ✓ scanl as alias
>     ✓ curried
> 
>   scan1
>     ✓ empty list as input
>     ✓ complex case
>     ✓ scanl1 as alias
>     ✓ curried
> 
>   scanr
>     ✓ empty list as input
>     ✓ complex case
>     ✓ curried
> 
>   scanr1
>     ✓ empty list as input
>     ✓ complex case
>     ✓ curried
> 
>   slice
>     ✓ zero to zero
>     ✓ empty lsit as input
>     ✓ parts
>     ✓ curried
> 
>   take
>     ✓ empty list as input
>     ✓ zero on list
>     ✓ negative number
>     ✓ too big number
>     ✓ list
>     ✓ curried
> 
>   drop
>     ✓ empty list as input
>     ✓ zero on list
>     ✓ negative number
>     ✓ too big number
>     ✓ list
>     ✓ curried
> 
>   split-at
>     ✓ empty list as input
>     ✓ zero on list
>     ✓ negative number
>     ✓ too big number
>     ✓ list
>     ✓ curried
> 
>   take-while
>     ✓ empty list as input
>     ✓ list
>     ✓ all pass
>     ✓ all fail
>     ✓ curried
> 
>   drop-while
>     ✓ empty list as input
>     ✓ list
>     ✓ all pass
>     ✓ all-fail
>     ✓ curried
> 
>   span
>     ✓ empty list as input
>     ✓ list
>     ✓ curried
> 
>   break-list
>     ✓ empty list as input
>     ✓ list
>     ✓ curried
> 
>   zip
>     ✓ empty lists as input
>     ✓ equal length lists
>     ✓ first list shorter
>     ✓ second list shorter
>     ✓ curried
> 
>   zip-with
>     ✓ empty lists as input
>     ✓ equal length lists
>     ✓ first list shorter
>     ✓ second list shorter
>     ✓ curried
> 
>   zip-all
>     ✓ no lists as input
>     ✓ empty lists as input
>     ✓ equal length lists
>     ✓ first list shorter
>     ✓ second list shorter
>     ✓ third list shorter
> 
>   zip-all-with
>     ✓ nothing as input
>     ✓ no lists as input
>     ✓ empty lists as input
>     ✓ equal length lists
>     ✓ first list shorter
>     ✓ second list shorter
> 
>   at
>     ✓ empty list as input
>     ✓ positive n
>     ✓ negative n
>     ✓ not defined at index
>     ✓ curried
> 
>   elem-index
>     ✓ empty list as input
>     ✓ basic
>     ✓ multiple
>     ✓ not there
>     ✓ curried
> 
>   elem-indices
>     ✓ empty list as input
>     ✓ single
>     ✓ multiple
>     ✓ not there
>     ✓ curried
> 
>   find-index
>     ✓ empty list as input
>     ✓ basic
>     ✓ multiple
>     ✓ not there
>     ✓ curried
> 
>   find-indices
>     ✓ empty list as input
>     ✓ basic
>     ✓ multiple
>     ✓ not there
>     ✓ curried
> 
>   max
>     ✓ numbers
>     ✓ characters
>     ✓ curried
> 
>   min
>     ✓ numbers
>     ✓ characters
>     ✓ curried
> 
>   negate
>     ✓ negative number
>     ✓ positive number
> 
>   abs
>     ✓ zero
>     ✓ negative number
>     ✓ positive number
> 
>   signum
>     ✓ zero
>     ✓ negative number
>     ✓ positive number
> 
>   quot
>     ✓ simple
>     ✓ curried
> 
>   rem
>     ✓ simple
>     ✓ curried
> 
>   div
>     ✓ simple
>     ✓ curried
> 
>   mod
>     ✓ simple
>     ✓ curried
> 
>   recip
>     ✓ zero
>     ✓ larger than 1
>     ✓ between 0 and 1
> 
>   pi
>     ✓ constant
> 
>   tau
>     ✓ constant
> 
>   exp
>     ✓ simple
> 
>   sqrt
>     ✓ negative numbers
>     ✓ simple
> 
>   ln
>     ✓ simple
> 
>   pow
>     ✓ simple
>     ✓ with negative numbers
>     ✓ between one and zero
>     ✓ curried
> 
>   sin
>     ✓ zero
>     ✓ pi/2
> 
>   tan
>     ✓ zero
> 
>   cos
>     ✓ zero
>     ✓ pi
> 
>   acos
>     ✓ number
> 
>   asin
>     ✓ number
> 
>   atan
>     ✓ number
> 
>   atan2
>     ✓ number
>     ✓ curried
> 
>   truncate
>     ✓ zero
>     ✓ positive number
>     ✓ negative number
> 
>   round
>     ✓ up
>     ✓ down
> 
>   ceiling
>     ✓ zero
>     ✓ positive number
> 
>   floor
>     ✓ zero
>     ✓ positive number
>     ✓ negative number
> 
>   is-it-NaN
>     ✓ true
>     ✓ false
> 
>   even
>     ✓ true
>     ✓ false
> 
>   odd
>     ✓ true
>     ✓ false
> 
>   gcd
>     ✓ some numbers
>     ✓ curried
> 
>   lcm
>     ✓ some numbers
>     ✓ curried
> 
>   values
>     ✓ empty object as input
>     ✓ object as input
> 
>   keys
>     ✓ empty object as input
>     ✓ object as input
> 
>   pairs-to-obj
>     ✓ empty list as input
>     ✓ pairs as input
> 
>   obj-to-pairs
>     ✓ empty object as input
>     ✓ object as input
> 
>   lists-to-obj
>     ✓ empty lists as input
>     ✓ two lists of the same length
>     ✓ first list is shorter
>     ✓ first list is longer
>     ✓ curried
> 
>   obj-to-lists
>     ✓ empty object as input
>     ✓ two lists of the same length
> 
>   empty
>     ✓ empty object as input
>     ✓ non-empty object as input
> 
>   each
>     ✓ empty object as input
>     ✓ iterate over object values
>     ✓ curried
> 
>   map
>     ✓ empty object as input
>     ✓ mapping over object
>     ✓ curried
> 
>   compact
>     ✓ empty object as input
>     ✓ compacting object
> 
>   filter
>     ✓ empty object as input
>     ✓ filtering object
>     ✓ curried
> 
>   reject
>     ✓ empty object as input
>     ✓ reject object
>     ✓ curried
> 
>   partition
>     ✓ empty object as input
>     ✓ partition object
>     ✓ curried
> 
>   find
>     ✓ empty object as input
>     ✓ find from object
>     ✓ curried
> 
>   split
>     ✓ empty string as input
>     ✓ string of some length
>     ✓ curried
> 
>   join
>     ✓ empty list as input
>     ✓ list as input
>     ✓ empty string as seperator
>     ✓ curried
> 
>   lines
>     ✓ empty string as input
>     ✓ string as input
> 
>   unlines
>     ✓ empty array as input
>     ✓ array as input
> 
>   words
>     ✓ empty string as input
>     ✓ string as input
> 
>   unwords
>     ✓ empty array as input
>     ✓ array as input
> 
>   chars
>     ✓ empty string as input
>     ✓ string as input
> 
>   unchars
>     ✓ empty array as input
>     ✓ array as input
> 
>   empty
>     ✓ empty string as input
>     ✓ string as input
> 
>   reverse
>     ✓ empty string as input
>     ✓ a string
> 
>   repeat
>     ✓ zero times
>     ✓ empty string as input
>     ✓ a string several times
>     ✓ curried
> 
>   capitalize
>     ✓ empty string as input
>     ✓ basic
> 
>   camelize
>     ✓ empty string as input
>     ✓ no change
>     ✓ dashes
>     ✓ underscore
>     ✓ ending dash
>     ✓ more than one
> 
>   dasherize
>     ✓ empty string as input
>     ✓ no change
>     ✓ basic
>     ✓ with numbers
>     ✓ repeated capitals
>     ✓ starting with capital
>     ✓ starting with repeated capitals
> 
>   slice
>     ✓ zero to zero
>     ✓ empty string as input
>     ✓ parts
>     ✓ curried
> 
>   take
>     ✓ empty string as input
>     ✓ zero on string
>     ✓ string
>     ✓ curried
> 
>   drop
>     ✓ empty string as input
>     ✓ zero on string
>     ✓ string
>     ✓ curried
> 
>   split-at
>     ✓ empty string as input
>     ✓ zero on string
>     ✓ string
>     ✓ curried
> 
>   take-while
>     ✓ empty string as input
>     ✓ string
>     ✓ curried
> 
>   drop-while
>     ✓ empty string as input
>     ✓ string
>     ✓ curried
> 
>   span
>     ✓ empty string as input
>     ✓ string
>     ✓ curried
> 
>   break-str
>     ✓ empty string as input
>     ✓ string
>     ✓ curried
> 
>   library
>     ✓ version
> 
>   id
>     ✓ number
>     ✓ object is the same
> 
>   is-type
>     ✓ literals
>     ✓ constructors
>     ✓ classes
>     ✓ curried
> 
>   replicate
>     ✓ zero as input
>     ✓ number as input
>     ✓ string as input
>     ✓ curried
> 
> 
>   435 passing (124ms)
>   2 failing
> 
>   1) count-by
>        empty list as input:
>      AssertionError [ERR_ASSERTION]: Expected values to be loosely deep-equal:
> 
> []
> 
> should loosely deep-equal
> 
> {}
>       at Context.<anonymous> (debian/tests/List.js:458:14)
>       at callFn (/usr/share/nodejs/mocha/lib/runnable.js:395:21)
>       at Test.Runnable.run (/usr/share/nodejs/mocha/lib/runnable.js:382:7)
>       at Runner.runTest (/usr/share/nodejs/mocha/lib/runner.js:541:10)
>       at /usr/share/nodejs/mocha/lib/runner.js:667:12
>       at next (/usr/share/nodejs/mocha/lib/runner.js:450:14)
>       at /usr/share/nodejs/mocha/lib/runner.js:460:7
>       at next (/usr/share/nodejs/mocha/lib/runner.js:362:14)
>       at Immediate._onImmediate (/usr/share/nodejs/mocha/lib/runner.js:428:5)
>       at processImmediate (internal/timers.js:456:21)
> 
>   2) group-by
>        empty list as input:
>      AssertionError [ERR_ASSERTION]: Expected values to be loosely deep-equal:
> 
> []
> 
> should loosely deep-equal
> 
> {}
>       at Context.<anonymous> (debian/tests/List.js:485:14)
>       at callFn (/usr/share/nodejs/mocha/lib/runnable.js:395:21)
>       at Test.Runnable.run (/usr/share/nodejs/mocha/lib/runnable.js:382:7)
>       at Runner.runTest (/usr/share/nodejs/mocha/lib/runner.js:541:10)
>       at /usr/share/nodejs/mocha/lib/runner.js:667:12
>       at next (/usr/share/nodejs/mocha/lib/runner.js:450:14)
>       at /usr/share/nodejs/mocha/lib/runner.js:460:7
>       at next (/usr/share/nodejs/mocha/lib/runner.js:362:14)
>       at Immediate._onImmediate (/usr/share/nodejs/mocha/lib/runner.js:428:5)
>       at processImmediate (internal/timers.js:456:21)
> 
> 
> 
> dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 2

The full build log is available from:
   http://qa-logs.debian.net/2020/06/20/node-prelude-ls_1.1.2+dfsg-5_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