Skip to content

Commit

Permalink
test,async_hooks: skip whether TTY is availble
Browse files Browse the repository at this point in the history
If TTY isn't available then the test will always fail. Also use the
already available process.stdin instead of opening another ReadStream.

Fixes: nodejs#13984
PR-URL: nodejs#13991
  • Loading branch information
trevnorris committed Jul 6, 2017
1 parent c6ce500 commit 858808e
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions test/async-hooks/test-ttywrap.readstream.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
'use strict';

const common = require('../common');
const assert = require('assert');

Expand All @@ -10,31 +11,33 @@ const { checkInvocations } = require('./hook-checks');
const hooks = initHooks();
hooks.enable();

if (!process.stdin.isTTY)
return common.skip('no valid readable TTY available');

// test specific setup
const { ReadStream } = require('tty');
const checkInitOpts = { init: 1 };
const checkEndedOpts = { init: 1, before: 1, after: 1, destroy: 1 };

// test code
//
// listen to stdin except on Windows
const targetFD = common.isWindows ? 1 : 0;
const ttyStream = new ReadStream(targetFD);
const activities = hooks.activitiesOfTypes('TTYWRAP');
assert.strictEqual(activities.length, 1);

const tty = activities[0];
assert.strictEqual(tty.type, 'TTYWRAP');
assert.strictEqual(typeof tty.uid, 'number');
assert.strictEqual(typeof tty.triggerAsyncId, 'number');
checkInvocations(tty, checkInitOpts, 'when tty created');

const delayedOnCloseHandler = common.mustCall(() => {
checkInvocations(tty, checkEndedOpts, 'when tty ended');
});
ttyStream.on('error', (err) => assert.fail(err));
ttyStream.on('close', common.mustCall(() =>
process.stdin.on('error', (err) => assert.fail(err));
process.stdin.on('close', common.mustCall(() =>
tick(2, delayedOnCloseHandler)
));
ttyStream.destroy();
process.stdin.destroy();
checkInvocations(tty, checkInitOpts, 'when tty.end() was invoked');

process.on('exit', () => {
Expand Down

0 comments on commit 858808e

Please sign in to comment.