[Pkg-javascript-devel] Bug#954509: node-vinyl-fs: FTBFS: dh_auto_test: error: /bin/sh -e debian/tests/pkg-js/test returned exit code 1

Lucas Nussbaum lucas at debian.org
Sun Mar 22 08:21:45 GMT 2020


Source: node-vinyl-fs
Version: 3.0.3-4
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200321 ftbfs-bullseye

Hi,

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

Relevant part (hopefully):
> dpkg-buildpackage
> -----------------
> 
> Command: dpkg-buildpackage -us -uc -sa -rfakeroot
> dpkg-buildpackage: info: source package node-vinyl-fs
> dpkg-buildpackage: info: source version 3.0.3-4
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Xavier Guimard <yadd at debian.org>
>  dpkg-source --before-build .
> dpkg-buildpackage: info: host architecture amd64
>  debian/rules clean
> dh clean --with nodejs
>    dh_auto_clean --buildsystem=nodejs
> 	rm -rf ./node_modules/.cache
> 	rm -rf append-buffer/node_modules/.cache
> 	rm -rf buffer-equal/node_modules/.cache
> 	rm -rf define-properties/node_modules/.cache
> 	rm -rf fs-mkdirp-stream/node_modules/.cache
> 	rm -rf has-symbols/node_modules/.cache
> 	rm -rf is-utf8/node_modules/.cache
> 	rm -rf lead/node_modules/.cache
> 	rm -rf now-and-later/node_modules/.cache
> 	rm -rf object-assign/node_modules/.cache
> 	rm -rf object-keys/node_modules/.cache
> 	rm -rf remove-bom-buffer/node_modules/.cache
> 	rm -rf remove-bom-stream/node_modules/.cache
> 	rm -rf resolve-options/node_modules/.cache
> 	rm -rf to-through/node_modules/.cache
> 	rm -rf value-or-function/node_modules/.cache
> 	rm -rf vinyl-sourcemap/node_modules/.cache
>    dh_clean
>  dpkg-source -b .
> dpkg-source: info: using source format '3.0 (quilt)'
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-append-buffer.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-buffer-equal.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-define-properties.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-fs-mkdirp-stream.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-has-symbols.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-is-utf8.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-lead.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-now-and-later.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-object-assign.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-object-keys.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-remove-bom-buffer.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-remove-bom-stream.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-resolve-options.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-to-through.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-value-or-function.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig-vinyl-sourcemap.tar.gz
> dpkg-source: info: building node-vinyl-fs using existing ./node-vinyl-fs_3.0.3.orig.tar.gz
> dpkg-source: info: using patch list from debian/patches/series
> dpkg-source: info: building node-vinyl-fs in node-vinyl-fs_3.0.3-4.debian.tar.xz
> dpkg-source: info: building node-vinyl-fs in node-vinyl-fs_3.0.3-4.dsc
>  debian/rules binary
> dh binary --with nodejs
>    dh_update_autotools_config
>    dh_autoreconf
>    dh_auto_configure --buildsystem=nodejs
> 	mkdir node_modules
> 	ln -s ../append-buffer node_modules/append-buffer
> 	ln -s ../buffer-equal node_modules/buffer-equal
> 	ln -s ../define-properties node_modules/define-properties
> 	ln -s ../fs-mkdirp-stream node_modules/fs-mkdirp-stream
> 	ln -s ../has-symbols node_modules/has-symbols
> 	ln -s ../is-utf8 node_modules/is-utf8
> 	ln -s ../lead node_modules/lead
> 	ln -s ../now-and-later node_modules/now-and-later
> 	ln -s ../object-assign node_modules/object.assign
> 	ln -s ../object-keys node_modules/object-keys
> 	ln -s ../remove-bom-buffer node_modules/remove-bom-buffer
> 	ln -s ../remove-bom-stream node_modules/remove-bom-stream
> 	ln -s ../resolve-options node_modules/resolve-options
> 	ln -s ../to-through node_modules/to-through
> 	ln -s ../value-or-function node_modules/value-or-function
> 	ln -s ../vinyl-sourcemap node_modules/vinyl-sourcemap
>    dh_auto_build --buildsystem=nodejs
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
> No build command found, searching known files
>    dh_auto_test --buildsystem=nodejs
> 	/bin/sh -e debian/tests/pkg-js/test
> 
> 
>   .dest() with custom modes
>     ✓ sets the mode of a written buffer file if set on the vinyl object
>     ✓ sets the sticky bit on the mode of a written stream file if set on the vinyl object
>     ✓ sets the mode of a written stream file if set on the vinyl object
>     ✓ sets the mode of a written directory if set on the vinyl object
>     ✓ sets sticky bit on the mode of a written directory if set on the vinyl object
>     ✓ writes new files with the mode specified in options
>     ✓ updates the file mode to match the vinyl mode
>     ✓ updates the directory mode to match the vinyl mode
>     ✓ uses different modes for files and directories
>     ✓ does not fchmod a matching file
>     ✓ sees a file with special chmod (setuid/setgid/sticky) as distinct
>     ✓ reports fchmod errors
> 
>   .dest() with custom owner
>     1) calls fchown when the uid and/or gid are provided on the vinyl stat
>     ✓ does not call fchown when the uid and gid provided on the vinyl stat are invalid
> 
>   .dest() with symlinks
>     ✓ creates symlinks when `file.isSymbolic()` is true
>     ✓ does not create symlinks when `file.isSymbolic()` is false
>     ✓ errors if missing a `.symlink` property
>     ✓ emits Vinyl files that are (still) symbolic
>     ✓ can create relative links
>     ✓ (*nix) creates a link for a directory
>     - (windows) creates a junction for a directory
>     - (windows) options can disable junctions for a directory
>     - (windows) options can disable junctions for a directory (as a function)
>     ✓ (*nix) can create relative links for directories
>     ✓ (*nix) receives a virtual symbolic directory and creates a symlink
>     - (windows) receives a virtual symbolic directory and creates a symlink
>     - (windows) relativeSymlinks option is ignored when junctions are used
>     - (windows) supports relativeSymlinks option when link is not for a directory
>     - (windows) can create relative links for directories when junctions are disabled
>     ✓ does not overwrite links with overwrite option set to false
>     ✓ overwrites links with overwrite option set to true
>     ✓ does not overwrite links with overwrite option set to a function that returns false
>     ✓ overwrites links with overwrite option set to a function that returns true
> 
>   .dest() with custom times
>     ✓ does not call futimes when no mtime is provided on the vinyl stat
>     ✓ calls futimes when an mtime is provided on the vinyl stat
>     ✓ does not call futimes when provided mtime on the vinyl stat is invalid
>     ✓ calls futimes when provided mtime on the vinyl stat is valid but provided atime is invalid
>     ✓ writes file atime and mtime using the vinyl stat
> 
>   .dest()
>     ✓ throws on no folder argument
>     ✓ throws on empty string folder argument
>     ✓ accepts the sourcemap option as true
>     ✓ accepts the sourcemap option as a string
>     ✓ inlines sourcemaps when option is true
>     ✓ generates an extra File when option is a string
>     ✓ passes through writes with cwd
>     ✓ passes through writes with default cwd
>     ✓ does not write null files
>     ✓ writes buffer files to the right folder with relative cwd
>     ✓ writes buffer files to the right folder with function and relative cwd
>     ✓ writes buffer files to the right folder
>     ✓ writes streaming files to the right folder
>     ✓ writes large streaming files to the right folder
>     ✓ writes directories to the right folder
>     ✓ allows piping multiple dests in streaming mode
>     ✓ writes new files with the default user mode
>     ✓ reports i/o errors
>     ✓ reports stat errors
>     ✓ does not overwrite files with overwrite option set to false
>     ✓ overwrites files with overwrite option set to true
>     ✓ does not overwrite files with overwrite option set to a function that returns false
>     ✓ overwrites files with overwrite option set to a function that returns true
>     ✓ appends content with append option set to true
>     ✓ appends content with append option set to a function that returns true
>     ✓ emits a finish event
>     ✓ does not get clogged by highWaterMark
>     ✓ allows backpressure when piped to another, slower stream (6013ms)
>     ✓ respects data listeners on destination stream
>     ✓ sinks the stream if all the readable event handlers are removed
>     ✓ sinks the stream if all the data event handlers are removed
>     ✓ successfully processes files with streaming contents
>     ✓ errors when a non-Vinyl object is emitted
>     ✓ errors when a buffer-mode stream is piped to it
>     ✓ errors if we cannot mkdirp
>     ✓ errors if vinyl object is a directory and we cannot mkdirp
>     ✓ does not error if vinyl object is a directory and we cannot open it
>     ✓ errors if vinyl object is a directory and open errors
>     ✓ errors if content stream errors
>     ✓ does not pass options on to through2
>     ✓ does not marshall a Vinyl object with isSymbolic method
>     ✓ marshalls a Vinyl object without isSymbolic to a newer Vinyl
> 
>   isOwner
>     ✓ uses process.geteuid() when available
>     ✓ uses process.getuid() when geteuid() is not available
>     ✓ returns false when non-root and non-owner
>     ✓ returns true when owner and non-root
>     ✓ returns true when non-owner but root
> 
>   isValidUnixId
>     ✓ returns true if the given id is a valid unix id
>     ✓ returns false if the given id is not a number
>     ✓ returns false when the given id is less than 0
> 
>   getFlags
>     ✓ returns wx if overwrite is false and append is false
>     ✓ returns w if overwrite is true and append is false
>     ✓ returns ax if overwrite is false and append is true
>     ✓ returns a if overwrite is true and append is true
> 
>   isFatalOverwriteError
>     ✓ returns false if not given any error
>     ✓ returns true if code != EEXIST
>     ✓ returns false if code == EEXIST and flags == wx
>     ✓ returns false if code == EEXIST and flags == ax
>     ✓ returns true if error.code == EEXIST and flags == w
>     ✓ returns true if error.code == EEXIST and flags == a
> 
>   isFatalUnlinkError
>     ✓ returns false if not given any error
>     ✓ returns false if code == ENOENT
>     ✓ returns true if code != ENOENT
> 
>   getModeDiff
>     ✓ returns 0 if both modes are the same
>     ✓ returns 0 if vinyl mode is not a number
>     ✓ returns a value greater than 0 if modes are different
>     ✓ returns the proper diff
>     ✓ does not matter the order of diffing
>     ✓ includes the sticky/setuid/setgid bits
> 
>   getTimesDiff
>     ✓ returns undefined if vinyl mtime is not a valid date
>     ✓ returns undefined if vinyl mtime & atime are both equal to counterparts
>     ✓ returns undefined if vinyl mtimes equals the counterpart and atimes are null
>     ✓ returns a diff object if mtimes do not match
>     ✓ returns a diff object if atimes do not match
>     ✓ returns the fs atime if the vinyl atime is invalid
>     ✓ makes atime diff undefined if fs and vinyl atime are invalid
> 
>   getOwnerDiff
>     ✓ returns undefined if vinyl uid & gid are invalid
>     ✓ returns undefined if vinyl uid & gid are both equal to counterparts
>     ✓ returns a diff object if uid or gid do not match
>     ✓ returns the fs uid if the vinyl uid is invalid
>     ✓ returns the fs gid if the vinyl gid is invalid
>     ✓ returns undefined if fs and vinyl uid are invalid
>     ✓ returns undefined if fs and vinyl gid are invalid
> 
>   closeFd
>     ✓ calls the callback with propagated error if fd is not a number
>     ✓ calls the callback with propagated error if close succeeds
>     ✓ calls the callback with no error if close succeeds & no propagated error
> 
>   writeFile
>     ✓ writes a file to the filesystem, does not close and returns the fd
>     ✓ defaults to writing files with 0666 mode
>     ✓ accepts a different mode in options
>     ✓ defaults to opening files with write flag
>     ✓ accepts a different flags in options
>     ✓ appends to a file if append flag is given
>     ✓ does not pass a file descriptor if open call errors
>     ✓ passes a file descriptor if write call errors
>     ✓ passes an error if called with string as data
>     ✓ does not error on SlowBuffer
>     ✓ does not error if options is falsey
> 
>   reflectStat
>     ✓ passes the error if stat fails
>     ✓ updates the vinyl with filesystem stats
> 
>   reflectLinkStat
>     ✓ passes the error if lstat fails
>     ✓ updates the vinyl with filesystem symbolic stats
> 
>   updateMetadata
>     ✓ passes the error if fstat fails
>     ✓ updates the vinyl object with fs stats
>     ✓ does not touch the fs if nothing to update
>     ✓ does not touch the fs if process is not owner of the file
>     ✓ updates times on fs and vinyl object if there is a diff
>     ✓ forwards futimes error and descriptor upon error
>     ✓ updates the mode on fs and vinyl object if there is a diff
>     ✓ updates the sticky bit on mode on fs and vinyl object if there is a diff
>     ✓ forwards fchmod error and descriptor upon error
>     ✓ updates the mode & times on fs and vinyl object if there is a diff
>     ✓ forwards fchmod error and descriptor through futimes if there is a time diff
> 
>   createWriteStream
>     ✓ accepts just a file path and writes to it
>     ✓ accepts just a file path and writes a large file to it
>     ✓ accepts flags option
>     ✓ accepts append flag as option & places cursor at the end
>     ✓ accepts mode option
>     ✓ uses default file mode if no mode options
>     ✓ accepts a flush function that is called before close emitted
>     ✓ can specify flush without options argument
>     ✓ passes the file descriptor to flush
>     ✓ passes a callback to flush to call when work is done (251ms)
>     ✓ emits an error if open fails
>     ✓ emits an error if write fails
> 
>   integrations
>     ✓ (*nix) sources a directory, creates a symlink and copies it
>     - (windows) sources a directory, creates a junction and copies it
>     ✓ (*nix) sources a symlink and copies it
>     - (windows) sources a directory symlink and copies it
>     - (windows) sources a junction and copies it
> 
>   .dest() on not owned files
> Test files not owned by root.
> Test files not readable/writable by non-owners.
> Please run the following commands and try again:
>   sudo chown root /<<PKGBUILDDIR>>/test/fixtures/not-owned/not-owned.txt
>   sudo chmod 666 /<<PKGBUILDDIR>>/test/fixtures/not-owned/not-owned.txt
>     - does not error if mtime is different
>     - does not error if mode is different
> 
>   .src() with symlinks
>     ✓ resolves symlinks correctly
>     ✓ resolves directory symlinks correctly
>     ✓ resolves nested symlinks to directories correctly
>     ✓ preserves file symlinks with resolveSymlinks option set to false
>     ✓ preserves directory symlinks with resolveSymlinks option set to false
>     ✓ receives a file with symbolic link stats when resolveSymlinks is a function
>     ✓ only calls resolveSymlinks once-per-file if it is a function
> 
>   .src()
>     ✓ throws on invalid glob (empty)
>     ✓ throws on invalid glob (empty string)
>     ✓ throws on invalid glob (number)
>     ✓ throws on invalid glob (nested array)
>     ✓ throws on invalid glob (empty string in array)
>     ✓ throws on invalid glob (empty array)
>     ✓ emits an error on file not existing
>     ✓ passes through writes
>     ✓ removes BOM from utf8-encoded files by default
>     ✓ does not remove BOM from utf8-encoded files if option is false
>     ✓ does not remove anything that looks like a utf8-encoded BOM from utf16be-encoded files
>     ✓ does not remove anything that looks like a utf8-encoded BOM from utf16be-encoded files with streaming contents
>     ✓ does not remove anything that looks like a utf8-encoded BOM from utf16le-encoded files
>     ✓ does not remove anything that looks like a utf8-encoded BOM from utf16le-encoded files with streaming contents
>     ✓ globs files with default settings
>     ✓ globs files with default settings and relative cwd
>     ✓ globs a directory with default settings
>     ✓ globs a directory with default settings and relative cwd
>     ✓ streams a directory with default settings
>     ✓ streams file with with no contents using read: false option
>     ✓ streams a file changed after since
>     ✓ does not stream a file changed before since
>     ✓ streams a file with streaming contents
>     ✓ can be used as a through stream and adds new files to the end
>     ✓ can be used at beginning and in the middle
>     ✓ does not pass options on to through2
> 
>   symlink stream
>     ✓ throws on no folder argument
>     ✓ throws on empty string folder argument
>     ✓ passes through writes with cwd
>     ✓ passes through writes with default cwd
>     ✓ creates a link to the right folder with relative cwd
>     ✓ creates a link to the right folder with function and relative cwd
>     ✓ creates a link for a file with buffered contents
>     ✓ can create relative links
>     ✓ creates a link for a file with streaming contents
>     ✓ emits Vinyl objects that are symbolic
>     ✓ (*nix) creates a link for a directory
>     - (windows) creates a junction for a directory
>     - (windows) options can disable junctions for a directory
>     - (windows) options can disable junctions for a directory (as a function)
>     ✓ (*nix) can create relative links for directories
>     - (windows) relativeSymlinks option is ignored when junctions are used
>     - (windows) supports relativeSymlinks option when link is not for a directory
>     - (windows) can create relative links for directories when junctions are disabled
>     ✓ reports IO errors
>     ✓ does not overwrite links with overwrite option set to false
>     ✓ overwrites links with overwrite option set to true
>     ✓ does not overwrite links with overwrite option set to a function that returns false
>     ✓ overwrites links with overwrite option set to a function that returns true
>     ✓ emits an end event
>     ✓ emits a finish event
>     ✓ errors when a non-Vinyl object is emitted
>     ✓ errors when a buffer-mode stream is piped to it
>     ✓ does not get clogged by highWaterMark
>     ✓ allows backpressure when piped to another, slower stream (6009ms)
>     ✓ sinks the stream if all the readable event handlers are removed
>     ✓ sinks the stream if all the data event handlers are removed
>     ✓ does not pass options on to through2
>     ✓ does not marshall a Vinyl object with isSymbolic method
>     ✓ marshalls a Vinyl object without isSymbolic to a newer Vinyl
> 
> 
>   217 passing (13s)
>   18 pending
>   1 failing
> 
>   1) .dest() with custom owner
>        calls fchown when the uid and/or gid are provided on the vinyl stat:
> 
>       Uncaught Error: Expected 0 to equal 1
>       + expected - actual
> 
>       -0
>       +1
>       
>       at assert (debian/tests/test_modules/expect/lib/assert.js:29:9)
>       at Expectation.toEqual (debian/tests/test_modules/expect/lib/Expectation.js:81:30)
>       at assert (test/dest-owner.js:49:38)
>       at ConcatStream.<anonymous> (/usr/lib/nodejs/concat-stream/index.js:37:43)
>       at finishMaybe (_stream_writable.js:646:14)
>       at endWritable (_stream_writable.js:663:3)
>       at ConcatStream.Writable.end (_stream_writable.js:594:5)
>       at Pumpify.onend (/usr/share/nodejs/readable-stream/lib/_stream_readable.js:627:10)
>       at endReadableNT (/usr/share/nodejs/readable-stream/lib/_stream_readable.js:1077:12)
>       at process._tickCallback (internal/process/next_tick.js:63:19)
> 
> 
> 
> dh_auto_test: error: /bin/sh -e debian/tests/pkg-js/test returned exit code 1

The full build log is available from:
   http://qa-logs.debian.net/2020/03/21/node-vinyl-fs_3.0.3-4_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