[Pkg-javascript-devel] Bug#1120182: node-send: FTBFS: dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 1

Santiago Vila sanvila at debian.org
Thu Nov 6 11:59:32 GMT 2025


Package: src:node-send
Version: 1.2.0+~cs1.19.4-1
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202511/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:node-send, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean
   dh_auto_clean --buildsystem=nodejs
	rm -rf ./node_modules/.cache ./.nyc_output
	rm -rf destroy/node_modules/.cache destroy/.nyc_output
	rm -rf types-send/node_modules/.cache types-send/.nyc_output
rm ./node_modules/.cache
rm destroy/node_modules/.cache
rm types-send/node_modules/.cache
rm ./node_modules/.cache
unlink node_modules/destroy
unlink node_modules/@types/send
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure --buildsystem=nodejs
Link node_modules/destroy -> ../destroy
Link node_modules/@types/send -> ../../types-send
   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
   dh_auto_test --buildsystem=nodejs
	ln -s ../. node_modules/send
	/bin/sh -ex debian/tests/pkg-js/test
+ mocha -C --check-leaks --reporter spec --bail


  send(file).pipe(res)
    undefined should stream the file contents
    undefined should stream a zero-length file
    undefined should decode the given path as a URI
    undefined should serve files with dots in name
    undefined should treat a malformed URI as a bad request
    undefined should 400 on NULL bytes
    undefined should treat an ENAMETOOLONG as a 404
    undefined should handle headers already sent error
    undefined should support HEAD
    undefined should add an ETag header field
    undefined should add a Date header field
    undefined should add a Last-Modified header field
    undefined should add a Accept-Ranges header field
    undefined should 404 if the file does not exist
    undefined should emit ENOENT if the file does not exist
    undefined should not override content-type
    undefined should set Content-Type via mime map
    undefined should default Content-Type to octet-stream
    undefined should 404 if file disappears after stat, before open
    undefined should 500 on file stream error
    "headers" event
      undefined should fire when sending file
      undefined should not fire on 404
      undefined should fire on index
      undefined should not fire on redirect
      undefined should provide path
      undefined should provide stat
      undefined should allow altering headers
    when "directory" listeners are present
      undefined should be called when sending directory
      undefined should be called with path
    when no "directory" listeners are present
      undefined should redirect directories to trailing slash
      undefined should respond with an HTML redirect
      undefined should respond with default Content-Security-Policy
      undefined should not redirect to protocol-relative locations
      undefined should respond with an HTML redirect
    when no "error" listeners are present
      undefined should respond to errors directly
      undefined should respond with default Content-Security-Policy
      undefined should remove all previously-set headers
    with conditional-GET
      undefined should remove Content headers with 304
      undefined should not remove all Content-* headers
      where "If-Match" is set
        undefined should respond with 200 when "*"
        undefined should respond with 412 when ETag unmatched
        undefined should respond with 200 when ETag matched
      where "If-Modified-Since" is set
        undefined should respond with 304 when unmodified
        undefined should respond with 200 when modified
      where "If-None-Match" is set
        undefined should respond with 304 when ETag matched
        undefined should respond with 200 when ETag unmatched
      where "If-Unmodified-Since" is set
        undefined should respond with 200 when unmodified
        undefined should respond with 412 when modified
        undefined should respond with 200 when invalid date
    with Range request
      undefined should support byte ranges
      undefined should ignore non-byte ranges
      undefined should be inclusive
      undefined should set Content-Range
      undefined should support -n
      undefined should support n-
      undefined should respond with 206 "Partial Content"
      undefined should set Content-Length to the # of octets transferred
      when last-byte-pos of the range is greater the length
        undefined is taken to be equal to one less than the length
        undefined should adapt the Content-Length accordingly
      when the first- byte-pos of the range is greater length
        undefined should respond with 416
        undefined should emit error 416 with content-range header
      when syntactically invalid
        undefined should respond with 200 and the entire contents
      when multiple ranges
        undefined should respond with 200 and the entire contents
        undefined should respond with 206 is all ranges can be combined
      when if-range present
        undefined should respond with parts when etag unchanged
        undefined should respond with 200 when etag changed
        undefined should respond with parts when modified unchanged
        undefined should respond with 200 when modified changed
        undefined should respond with 200 when invalid value
    when "options" is specified
      undefined should support start/end
      undefined should adjust too large end
      undefined should support start/end with Range request
      undefined should support start/end with unsatisfiable Range request

  send(file, options)
    acceptRanges
      undefined should support disabling accept-ranges
      undefined should ignore requested range
    cacheControl
      undefined should support disabling cache-control
      undefined should ignore maxAge option
    etag
      undefined should support disabling etags
    extensions
      undefined should reject numbers
      undefined should reject true
      undefined should be not be enabled by default
      undefined should be configurable
      undefined should support disabling extensions
      undefined should support fallbacks
      undefined should 404 if nothing found
      undefined should skip directories
      undefined should not search if file has extension
    lastModified
      undefined should support disabling last-modified
    dotfiles
      undefined should default to "ignore"
      undefined should ignore file within dotfile directory
      undefined should reject bad value
      when "allow"
        undefined should send dotfile
        undefined should send within dotfile directory
        undefined should 404 for non-existent dotfile
      when "deny"
        undefined should 403 for dotfile
        undefined should 403 for dotfile directory
        undefined should 403 for dotfile directory with trailing slash
        undefined should 403 for file within dotfile directory
        undefined should 403 for non-existent dotfile
        undefined should 403 for non-existent dotfile directory
        undefined should 403 for dotfile in directory
        undefined should 403 for dotfile in dotfile directory
        undefined should send files in root dotfile directory
        undefined should 403 for dotfile without root
      when "ignore"
        undefined should 404 for dotfile
        undefined should 404 for dotfile directory
        undefined should 404 for dotfile directory with trailing slash
        undefined should 404 for file within dotfile directory
        undefined should 404 for non-existent dotfile
        undefined should 404 for non-existent dotfile directory
        undefined should send files in root dotfile directory
        undefined should 404 for dotfile without root
    immutable
      undefined should default to false
      undefined should set immutable directive in Cache-Control
    maxAge
      undefined should default to 0
      undefined should floor to integer
      undefined should accept string
      undefined should max at 1 year
    index
      undefined should reject numbers
      undefined should reject true
      undefined should default to index.html
      undefined should be configurable
      undefined should support disabling
      undefined should support fallbacks
      undefined should 404 if no index file found (file)
      undefined should 404 if no index file found (dir)
      undefined should not follow directories
      undefined should work without root
      undefined should 404 if file path contains trailing slash (windows)
    root
      when given
        undefined should join root
        undefined should work with trailing slash
        undefined should work with empty path
        undefined should try as file with empty path
        1) should restrict paths to within root


  133 passing (227ms)
  1 failing

  1) send(file, options)
       root
         when given
           should restrict paths to within root:
     Error: expected 403 "Forbidden", got 404 "Not Found"
      at Context.<anonymous> (test/send.js:1255:12)
      at callFnAsync (/usr/share/nodejs/mocha/lib/runnable.js:392:21)
      at Runnable.run (/usr/share/nodejs/mocha/lib/runnable.js:336:7)
      at Runner.runTest (/usr/share/nodejs/mocha/lib/runner.js:677:10)
      at /usr/share/nodejs/mocha/lib/runner.js:800:12
      at next (/usr/share/nodejs/mocha/lib/runner.js:592:14)
      at /usr/share/nodejs/mocha/lib/runner.js:602:7
      at next (/usr/share/nodejs/mocha/lib/runner.js:485:14)
      at Immediate._onImmediate (/usr/share/nodejs/mocha/lib/runner.js:570:5)
      at process.processImmediate (node:internal/timers:483:21)
  ----
      at Test._assertStatus (/usr/share/nodejs/supertest/lib/test.js:309:14)
      at /usr/share/nodejs/supertest/lib/test.js:365:13
      at Test._assertFunction (/usr/share/nodejs/supertest/lib/test.js:342:13)
      at Test.assert (/usr/share/nodejs/supertest/lib/test.js:195:23)
      at localAssert (/usr/share/nodejs/supertest/lib/test.js:138:14)
      at Server.<anonymous> (/usr/share/nodejs/supertest/lib/test.js:152:11)
      at Object.onceWrapper (node:events:638:28)
      at Server.emit (node:events:524:28)
      at emitCloseNT (node:net:2338:8)
      at process.processTicksAndRejections (node:internal/process/task_queues:81:21)



dh_auto_test: error: /bin/sh -ex debian/tests/pkg-js/test returned exit code 1
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------



More information about the Pkg-javascript-devel mailing list