[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