d3 / d3-transition

Animated transitions for D3 selections.
https://d3js.org/d3-transition
ISC License
223 stars 65 forks source link

test 122 failure on Ubuntu #126

Open LocutusOfBorg opened 3 years ago

LocutusOfBorg commented 3 years ago

Hello, test 122 started failing in Ubuntu since some weeks... Can you please give me some hints? not ok 122 should be equal

# d3.active(node) returns null if the specified node has no active transition with the null name
ok 120 should be equal
ok 121 should be equal
not ok 122 should be equal
  ---
    operator: equal
    expected: |-
      null
    actual: |-
      { _groups: [ [ <html>...</html> ] ], _parents: [ null ], _name: null, _id: 40 }
    at: <anonymous> (/tmp/autopkgtest.9DnYzH/autopkgtest_tmp/smokeKkmJz3/test/active-test.js:21:10)
    stack: |-
      Error: should be equal
          at Test.assert [as _assert] (/usr/share/nodejs/tape/lib/test.js:236:54)
          at Test.bound [as _assert] (/usr/share/nodejs/tape/lib/test.js:88:32)
          at Test.equal (/usr/share/nodejs/tape/lib/test.js:396:10)
          at Test.bound [as strictEqual] (/usr/share/nodejs/tape/lib/test.js:88:32)
          at /tmp/autopkgtest.9DnYzH/autopkgtest_tmp/smokeKkmJz3/test/active-test.js:21:10
          at /usr/share/nodejs/d3-timer/dist/d3-timer.js:124:5
          at timerFlush (/usr/share/nodejs/d3-timer/dist/d3-timer.js:68:48)
          at Timeout.wake [as _onTimeout] (/usr/share/nodejs/d3-timer/dist/d3-timer.js:78:5)
          at listOnTimeout (internal/timers.js:554:17)
          at processTimers (internal/timers.js:497:7)
  ...
ok 123 should be equal
# d3.active(node, null) returns null if the specified node has no active transition with the null name

https://autopkgtest.ubuntu.com/results/autopkgtest-impish/impish/arm64/n/node-d3-transition/20210517_071847_64400@/log.gz

version is 1.3.2

LocutusOfBorg commented 3 years ago

btw this fails on amd64 (randomly) and arm64 (more frequently), looks like some timeout issue?

dbungert commented 3 years ago

To elaborate on this, arm64 (raspberry pi 4) seems really good at reproducing a test failure.

Alternate steps to reproduce an issue, without Ubuntu-isms:

  1. install https://nodejs.org/dist/v14.17.0/node-v14.17.0-linux-arm64.tar.xz
  2. download source from https://github.com/d3/d3-transition (current commit abe651178a631006a47f4d141e4b3c3faae5f1fa)
  3. npm install -g yarn
  4. yarn install
  5. yarn run test

That setup consistently failed test 297 (40 out of 40 tests I ran):

# transition.ease(ease) passes the easing function the normalized time in [0, 1]
not ok 297 should be equal
  ---
    operator: equal
    expected: 0.584
    actual:   undefined
    at: <anonymous> (/home/dbungert/dev/d3-transition/d3-transition/test/transition/ease-test.js:53:10)
    stack: |-
      Error: should be equal
          at Test.assert [as _assert] (/home/dbungert/dev/d3-transition/d3-transition/node_modules/tape/lib/test.js:225:54)
          at Test.bound [as _assert] (/home/dbungert/dev/d3-transition/d3-transition/node_modules/tape/lib/test.js:77:32)
          at Test.equal (/home/dbungert/dev/d3-transition/d3-transition/node_modules/tape/lib/test.js:385:10)
          at Test.bound [as equal] (/home/dbungert/dev/d3-transition/d3-transition/node_modules/tape/lib/test.js:77:32)
          at /home/dbungert/dev/d3-transition/d3-transition/test/transition/ease-test.js:53:10
          at /home/dbungert/dev/d3-transition/d3-transition/node_modules/d3-timer/dist/d3-timer.js:124:5
          at timerFlush (/home/dbungert/dev/d3-transition/d3-transition/node_modules/d3-timer/dist/d3-timer.js:68:48)
          at Timeout.wake [as _onTimeout] (/home/dbungert/dev/d3-transition/d3-transition/node_modules/d3-timer/dist/d3-timer.js:78:5)
          at listOnTimeout (internal/timers.js:555:17)
          at processTimers (internal/timers.js:498:7)
  ...

Note that this is a different test failure than the first report, I'm making an assumption here that it has the same root cause.