We could use your help improving Node.js' Windows testing

  • Version: head
  • Platform: Windows
  • Subsystem: test

I've been noticing windows tests flapping more than usual for the past few days:

https://ci.nodejs.org/job/node-test-binary-windows-2/3344/COMPILED_BY=vs2017,RUNNER=win2008r2-vs2017,RUN_SUBSET=0/

https://ci.nodejs.org/job/node-test-binary-windows-2/3341/

We could use some help digging into this, it would be a great first contribution.


Known issues

If you're working on a specific issue, chime in on this thread and create an issue referencing it.

  • test/parallel/test-child-process-fork-exec-path:
    Error: ENOTEMPTY: directory not empty, rmdir 'c:\workspace\node-test-binary-windows- 
     2\test\.tmp.124'
     at Object.rmdirSync (fs.js:779:3)
     at rmdirSync (c:\workspace\node-test-binary-windows-2\test\common\tmpdir.js:86:10)
     at rimrafSync (c:\workspace\node-test-binary-windows-2\test\common\tmpdir.js:41:7)
  • test/parallel/test-http2-client-upload:
    events.js:187
          throw er; // Unhandled 'error' event
          ^
    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:201:27)
  • test/sequential/test-http2-large-file:
       events.js:187
          throw er; // Unhandled 'error' event
          ^
    
    Error: read ECONNRESET
        at TCP.onStreamRead (internal/stream_base_commons.js:201:27)
  • test/parallel/test-child-process-pipe-dataflow (see: flaky: test-child-process-pipe-dataflow #25988):
    assert.js:93
      throw new AssertionError(obj);
      ^
    
    AssertionError [ERR_ASSERTION]: child 1 exited with code 1
        at ChildProcess.<anonymous> (c:\workspace\node-test-binary-windows-2\test\parallel\test- 
    child-process-pipe-dataflow.js:49:14)
    
  • parallel/test-http2-* (see: flaky: parallel/test-http2-* on Windows #20750).
  • test/async-hooks/test-statwatcher.
    fail (1)
    Stacktrace
    Watcher: w1
    current stat data: Stats {
      dev: 748388947,
      mode: 33206,
      nlink: 1,
      uid: 0,
      gid: 0,
      rdev: 0,
      blksize: 4096,
    
  • out of memory issues when spawning subprocesses (see: child_process: child_process.spawn ENOMEM on Windows  #25484, talk to @coreyfarrell for more details).

Getting Started

  1. read BUILDING.md for instructions on building for Windows.
  2. once you've built Node.js, you can run individual tests simply by invoking (./node test/parallel/test-xyz.js, where test-xyz.js is the test you wish to run).
  3. once you're making some progress on a bug comment on this thread, and it will help ensure that other folks don't take the same issue.
  4. recent Windows builds can be found here, if you want to dig further https://ci.nodejs.org/job/node-test-commit-windows-fanned/