npm-check-updates icon indicating copy to clipboard operation
npm-check-updates copied to clipboard

Timeout test hangs mocha

Open raineorshine opened this issue 4 years ago • 0 comments

Test should throw an exception when timeout is exceeded hangs due to open socket/connection. Eventually the test times out and passes due to successful assertions, but there is a long delay that slows down test completion.

  • When --timeout outraces getAnalysis, the calls to minipass-fetch (via latest) remain open.
  • this.timeout(1000) does not make a difference

References:

  • https://github.com/mochajs/mocha/issues/3044

Output from https://github.com/myndzi/wtfnode:

> [email protected] test /Users/raine/projects/npm-check-updates
> npm run lint && npm run mocha


> [email protected] lint /Users/raine/projects/npm-check-updates
> eslint --cache --cache-location node_modules/.cache/.eslintcache --report-unused-disable-directives .


> [email protected] mocha /Users/raine/projects/npm-check-updates
> mocha test test/package-managers/npm test/package-managers/yarn



  run
latest @angular/bazel
    1) should throw an exception instead of printing to the console when timeout is exceeded
[WTF Node?] open handles:
- File descriptors: (note: stdio always exists)
  - fd 2 (tty) (stdio)
  - fd 1 (tty) (stdio)
  - fd 0 (tty)
- Sockets:
  - fd -1
    - Listeners:
      - connect: createConnection @ /Users/raine/projects/npm-check-updates/node_modules/agentkeepalive/lib/https_agent.js:29
Unable to determine callsite for "Function". Did you require `wtfnode` at the top of your entry point?
      - connect: (anonymous) @ unknown:0
Unable to determine callsite for "connect". Did you require `wtfnode` at the top of your entry point?
      - connect: connect @ unknown:0
  - fd -1
    - Listeners:
      - connect: createConnection @ /Users/raine/projects/npm-check-updates/node_modules/agentkeepalive/lib/https_agent.js:29
Unable to determine callsite for "Function". Did you require `wtfnode` at the top of your entry point?
      - connect: (anonymous) @ unknown:0
Unable to determine callsite for "connect". Did you require `wtfnode` at the top of your entry point?
      - connect: connect @ unknown:0
  - fd -1
    - Listeners:
      - connect: createConnection @ /Users/raine/projects/npm-check-updates/node_modules/agentkeepalive/lib/https_agent.js:29
Unable to determine callsite for "Function". Did you require `wtfnode` at the top of your entry point?
      - connect: (anonymous) @ unknown:0
Unable to determine callsite for "connect". Did you require `wtfnode` at the top of your entry point?
      - connect: connect @ unknown:0
  - fd -1
    - Listeners:
      - connect: createConnection @ /Users/raine/projects/npm-check-updates/node_modules/agentkeepalive/lib/https_agent.js:29
Unable to determine callsite for "Function". Did you require `wtfnode` at the top of your entry point?
      - connect: (anonymous) @ unknown:0
Unable to determine callsite for "connect". Did you require `wtfnode` at the top of your entry point?
      - connect: connect @ unknown:0
  - fd -1
    - Listeners:
      - connect: createConnection @ /Users/raine/projects/npm-check-updates/node_modules/agentkeepalive/lib/https_agent.js:29
Unable to determine callsite for "Function". Did you require `wtfnode` at the top of your entry point?
      - connect: (anonymous) @ unknown:0
Unable to determine callsite for "connect". Did you require `wtfnode` at the top of your entry point?
      - connect: connect @ unknown:0
  - fd -1
    - Listeners:
      - connect: createConnection @ /Users/raine/projects/npm-check-updates/node_modules/agentkeepalive/lib/https_agent.js:29
Unable to determine callsite for "Function". Did you require `wtfnode` at the top of your entry point?
      - connect: (anonymous) @ unknown:0
Unable to determine callsite for "connect". Did you require `wtfnode` at the top of your entry point?
      - connect: connect @ unknown:0
  - fd -1
    - Listeners:
      - connect: createConnection @ /Users/raine/projects/npm-check-updates/node_modules/agentkeepalive/lib/https_agent.js:29
Unable to determine callsite for "Function". Did you require `wtfnode` at the top of your entry point?
      - connect: (anonymous) @ unknown:0
Unable to determine callsite for "connect". Did you require `wtfnode` at the top of your entry point?
      - connect: connect @ unknown:0
  - fd -1
    - Listeners:
      - connect: createConnection @ /Users/raine/projects/npm-check-updates/node_modules/agentkeepalive/lib/https_agent.js:29
Unable to determine callsite for "Function". Did you require `wtfnode` at the top of your entry point?
      - connect: (anonymous) @ unknown:0
Unable to determine callsite for "connect". Did you require `wtfnode` at the top of your entry point?
      - connect: connect @ unknown:0
- Timers:
  - (10 ~ 10 ms) (anonymous) @ /Users/raine/projects/npm-check-updates/node_modules/minipass-fetch/lib/index.js:88
  - (10 ~ 10 ms) (anonymous) @ /Users/raine/projects/npm-check-updates/node_modules/minipass-fetch/lib/index.js:88
  - (10 ~ 10 ms) (anonymous) @ /Users/raine/projects/npm-check-updates/node_modules/minipass-fetch/lib/index.js:88
  - (10 ~ 10 ms) (anonymous) @ /Users/raine/projects/npm-check-updates/node_modules/minipass-fetch/lib/index.js:88
  - (10 ~ 10 ms) (anonymous) @ /Users/raine/projects/npm-check-updates/node_modules/minipass-fetch/lib/index.js:88
  - (10 ~ 10 ms) (anonymous) @ /Users/raine/projects/npm-check-updates/node_modules/minipass-fetch/lib/index.js:88
  - (10 ~ 10 ms) (anonymous) @ /Users/raine/projects/npm-check-updates/node_modules/minipass-fetch/lib/index.js:88
  - (10 ~ 10 ms) (anonymous) @ /Users/raine/projects/npm-check-updates/node_modules/minipass-fetch/lib/index.js:88

raineorshine avatar Aug 15 '20 19:08 raineorshine