[Pkg-javascript-devel] Bug#1123418: node-sinon: FTBFS: dh_auto_test: error: cd ./sinonjsfake-timers && sh -ex ../debian/nodejs/sinonjsfake-timers/test returned exit code 2

Santiago Vila sanvila at debian.org
Tue Dec 16 20:28:01 GMT 2025


Package: src:node-sinon
Version: 18.0.0+ds2+~cs75.4.16-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/202512/

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-sinon, 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 nise/node_modules/.cache nise/.nyc_output
	rm -rf sinonjscommons/node_modules/.cache sinonjscommons/.nyc_output
	rm -rf sinonjsfake-timers/node_modules/.cache sinonjsfake-timers/.nyc_output
	rm -rf sinonjsreferee/node_modules/.cache sinonjsreferee/.nyc_output
	rm -rf sinonjsreferee-sinon/node_modules/.cache sinonjsreferee-sinon/.nyc_output
	rm -rf sinonjssamsam/node_modules/.cache sinonjssamsam/.nyc_output
	rm -rf typessinon/node_modules/.cache typessinon/.nyc_output
	rm -rf typessinonjs-fake-timers/node_modules/.cache typessinonjs-fake-timers/.nyc_output
rm ./node_modules/.cache
unlink ./node_modules/diff
rm nise/node_modules/.cache

[... snipped ...]

      undefined mirrors toUTCString method
      undefined mirrors toString
      now
        undefined returns clock.now
        - is undefined
      toSource
        - is mirrored
        - is undefined
    stubTimers
      undefined returns clock object
      undefined has clock property
      undefined takes an object parameter
      undefined throws a TypeError on a number parameter
      undefined sets initial timestamp
      undefined replaces global setTimeout
      undefined global fake setTimeout should return id
      undefined global fake setTimeout().ref() should return timer
      undefined global fake setTimeout().unref() should return timer
      undefined global fake setTimeout().refresh() should return same timer
      undefined replaces global clearTimeout
      undefined uninstalls global setTimeout
      undefined uninstalls global clearTimeout
      undefined replaces global setInterval
      undefined replaces global clearInterval
      undefined uninstalls global setInterval
      undefined uninstalls global clearInterval
      undefined replaces global process.hrtime
      undefined uninstalls global process.hrtime
      undefined throws when adding performance to tofake array when performance not present
      undefined replaces global performance.now
      undefined uninstalls global performance.now
      undefined should let performance.mark still be callable after FakeTimers.install() (#136)
      undefined should not alter the global performance properties and methods
      - should mock performance on Node 16+
      undefined deletes global property on uninstall if it was inherited onto the global object
      undefined uninstalls global property on uninstall if it is present on the global object itself
      undefined fakes Date constructor
      undefined fake Date constructor should mirror Date's properties
      undefined decide on Date.now support at call-time when supported
      undefined decide on Date.now support at call-time when unsupported
      undefined mirrors custom Date properties
      undefined uninstalls Date constructor
      undefined fakes provided methods
      undefined resets faked methods
      undefined does not fake methods not provided
    shouldAdvanceTime
      undefined should create an auto advancing timer (41ms)
      undefined should test setImmediate
      undefined should test setInterval (61ms)
      undefined should not depend on having to stub setInterval or clearInterval to work
    shouldClearNativeTimers
      undefined outputs a warning once if not enabled
      undefined can clear setTimeout
      undefined can clear setInterval
      undefined can clear setImmediate
      - can clear requestAnimationFrame
      - can clear requestIdleCallback
    requestAnimationFrame
      undefined throws if no arguments
      undefined returns numeric id or object with numeric id
      undefined returns unique id
      undefined should run every 16ms
      undefined should be called with performance.now() when available
      undefined should be called with performance.now() even when performance unavailable
      undefined should call callback once
      undefined should schedule two callbacks before the next frame at the same time
      undefined should properly schedule callback for 3rd frame
      undefined should schedule for next frame if on current frame
    cancelAnimationFrame
      undefined removes animation frame
      undefined does not remove timeout
      undefined does not remove interval
      undefined does not remove immediate
      undefined ignores null argument
    runToFrame
      undefined should tick next frame
    jump
      undefined ignores timers which wouldn't be run
      undefined pushes back execution time for skipped timers
      undefined handles multiple pending timers and types
      undefined supports string time arguments
    performance.now()
      undefined should start at 0
      undefined should run along with clock.tick
      undefined should listen to multiple ticks in performance.now
      undefined should run with ticks with timers set
    process.hrtime()
      undefined should start at 0
      undefined should run along with clock.tick
      undefined should run along with clock.tick when timers set
      undefined should not move with setSystemTime
      undefined should move with timeouts
      undefined should handle floating point
    process.hrtime.bigint()
      undefined should start at 0n
      undefined should run along with clock.tick
      undefined should run along with clock.tick when timers set
      undefined should not move with setSystemTime
      undefined should move with timeouts
    queueMicrotask semantics
      undefined runs without timers
      undefined runs when runMicrotasks is called on the clock
      undefined runs with timers and before them
    nextTick semantics
      undefined runs without timers
      undefined runs when runMicrotasks is called on the clock
      undefined respects loopLimit from below in runMicrotasks
      undefined respects loopLimit from above in runMicrotasks
      undefined detects infinite nextTick cycles
      undefined runs with timers - and before them
      undefined runs when time is progressed
      undefined runs between timers
      undefined installs with microticks
      undefined installs with microticks and timers in order
      undefined uninstalls
      undefined returns an empty list of timers on immediate uninstall
      undefined returns a timer if uninstalling before it's called
      undefined does not return already executed timers on uninstall
      undefined returns multiple timers on uninstall if created
      undefined passes arguments when installed - GitHub#122
      undefined does not install by default - GitHub#126
    requestIdleCallback
      undefined throws if no arguments
      undefined returns numeric id
      undefined returns unique id
      undefined runs after all timers
      undefined runs immediately with timeout option if there isn't any timer
      undefined runs no later than timeout option even if there are any timers
      undefined doesn't runs if there are any timers and no timeout option
    cancelIdleCallback
      undefined removes idle callback
    Node timers module
      undefined should install all timers
      undefined should uninstall all timers
      undefined should have synchronized clock with globalObject
      undefined fakes and resets provided methods
      undefined resets faked methods
      undefined does not fake methods not provided
      undefined does not fake when installing on custom global object

  loop limit stack trace
    queueMicrotask
      undefined provides a stack trace for running microtasks
    nextTick
      undefined provides a stack trace for running microtasks
    setTimeout
      undefined provides a stack trace for running all async
      undefined provides a stack trace for running all sync
    requestIdleCallback
      undefined provides a stack trace for running all async
      undefined provides a stack trace for running all sync
    setInterval
      undefined provides a stack trace for running all async
      undefined provides a stack trace for running all sync
    setImmediate
      undefined provides a stack trace for running all async
      undefined provides a stack trace for running all sync
    requestAnimationFrame
      undefined provides a stack trace for running all async
      undefined provides a stack trace for running all sync

  Node Timer: ref(), unref(),hasRef()
    undefined should return the ref status as true after initiation
    undefined should return the ref status as false after using unref
    undefined should return the ref status as true after using unref and then ref 

  Intl API
    undefined Executes formatRange like normal
    undefined Executes formatRangeToParts like normal
    undefined Executes resolvedOptions like normal
    undefined formatToParts via isFirstOfMonth -> Returns true when passed a timestamp argument that is first of the month
    undefined formatToParts via isFirstOfMonth -> Returns false when passed a timestamp argument that is not first of the month
    undefined formatToParts via isFirstOfMonth -> Returns true when passed no timestamp and system time is first of the month
    undefined formatToParts via isFirstOfMonth -> Returns false when passed no timestamp and system time is not first of the month
    undefined Executes supportedLocalesOf like normal
    undefined Creates a RelativeTimeFormat like normal

  issue sinon#1852
    undefined throws when creating a clock and global has no Date

  #187 - Support timeout.refresh in node environments
    undefined calls the stub again after refreshing the timeout
    undefined only calls stub once if not fired at time of refresh

  issue #207 - nanosecond round-off errors on high-res timer
    undefined should not round off nanosecond arithmetic on hrtime - case 1
    undefined should not round off nanosecond arithmetic on hrtime - case 2
    undefined should truncate sub-nanosecond ticks
    undefined should always set 'now' to an integer value when ticking with sub-millisecond precision
    undefined should adjust adjust the 'now' value when the nano-remainder overflows
    undefined should floor negative now values
    undefined should floor start times
    undefined should floor negative start times
    undefined should handle ticks on the negative side of the Epoch
    undefined should handle multiple non-integer ticks

  issue #2449: permanent loss of native functions
    undefined should not fake faked timers
    undefined should not fake faked timers on a custom target
    undefined should not allow a fake on a custom target if the global is faked and the context inherited from the global
    undefined should allow a fake on the global if a fake on a customer target is already defined

  #276 - remove config.target
    undefined should throw on using `config.target`

  issue #315 - praseInt if delay is not a number
    undefined should successfully execute the timer

  #347 - Support util.promisify once installed
    undefined setTimeout
    undefined setImmediate

  #368 - timeout.refresh setTimeout arguments
    undefined should forward arguments passed to setTimeout

  issue #59
    undefined should install and uninstall the clock on a custom target

  issue #67
    undefined should overflow to 1 on very big timeouts
    undefined should overflow to interval 1 on very big timeouts
    undefined should execute setTimeout smaller than 1
    undefined executes setTimeout with negative duration as if it has zero delay

  issue #73
    undefined should install with date object

  withGlobal
    undefined matches the normal FakeTimers API
    undefined should support basic setTimeout
    undefined Date is instanceof itself

  globally configured browser objects
    1) correctly instantiates and tears down
    2) correctly instantiates and tears down


  398 passing (448ms)
  8 pending
  2 failing

  1) globally configured browser objects
       correctly instantiates and tears down:
     TypeError: Cannot set property navigator of #<Object> which has only a getter
      at setUpGlobal (integration-test/fake-clock-integration-test.js:91:26)
      at Context.<anonymous> (integration-test/fake-clock-integration-test.js:120:9)
      at callFn (/usr/share/nodejs/mocha/lib/runnable.js:366:21)
      at Runnable.run (/usr/share/nodejs/mocha/lib/runnable.js:354:5)
      at Runner.runTest (/usr/share/nodejs/mocha/lib/runner.js:719:10)
      at /usr/share/nodejs/mocha/lib/runner.js:842:12
      at next (/usr/share/nodejs/mocha/lib/runner.js:634:14)
      at /usr/share/nodejs/mocha/lib/runner.js:644:7
      at next (/usr/share/nodejs/mocha/lib/runner.js:527:14)
      at Immediate._onImmediate (/usr/share/nodejs/mocha/lib/runner.js:612:5)
      at process.processImmediate (node:internal/timers:485:21)

  2) globally configured browser objects
       correctly instantiates and tears down:
     Error: global leak(s) detected: 'window', 'document'
      at Runner.checkGlobals (/usr/share/nodejs/mocha/lib/runner.js:440:21)
      at Runner.<anonymous> (/usr/share/nodejs/mocha/lib/runner.js:207:12)
      at Runner.emit (node:events:531:35)
      at /usr/share/nodejs/mocha/lib/runner.js:869:16
      at done (/usr/share/nodejs/mocha/lib/runnable.js:310:5)
      at Runnable.run (/usr/share/nodejs/mocha/lib/runnable.js:362:5)
      at Runner.runTest (/usr/share/nodejs/mocha/lib/runner.js:719:10)
      at /usr/share/nodejs/mocha/lib/runner.js:842:12
      at next (/usr/share/nodejs/mocha/lib/runner.js:634:14)
      at /usr/share/nodejs/mocha/lib/runner.js:644:7
      at next (/usr/share/nodejs/mocha/lib/runner.js:527:14)
      at Immediate._onImmediate (/usr/share/nodejs/mocha/lib/runner.js:612:5)
      at process.processImmediate (node:internal/timers:485:21)



dh_auto_test: error: cd ./sinonjsfake-timers && sh -ex ../debian/nodejs/sinonjsfake-timers/test returned exit code 2
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