![trop[bot]](/assets/img/avatar_default.png)
This fixture has been calling process.exit() immediately after writing to stdout and stderr, which the Node.js docs say is risky behavior: > Calling process.exit() will force the process to exit as quickly as > possible even if there are still asynchronous operations pending that > have not yet completed fully, including I/O operations to > process.stdout and process.stderr. This fixture's been around for years without problems (AFAIK). The writes are very small ('hello\n' and 'world') and finish quickly. But recently I've been testing on a very slow CI machine. There, I see this spec flaking when it expects stderr to be 'world' but it gets ''. This PR changes the fixture to wait for stdout & stderr to flush before calling process.exit(). Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com>
7 lines
216 B
JavaScript
7 lines
216 B
JavaScript
function write (writable, chunk) {
|
|
return new Promise((resolve) => writable.write(chunk, resolve));
|
|
}
|
|
|
|
write(process.stdout, 'hello\n')
|
|
.then(() => write(process.stderr, 'world'))
|
|
.then(() => process.exit(0));
|