node/test/pseudo-tty/test-set-raw-mode-reset-signal.js
Rich Trott 330f25ef82 test: prepare for consistent comma-dangle lint rule
Make changes so that tests will pass when the comma-dangle settings
applied to the rest of the code base are also applied to tests.

PR-URL: https://github.com/nodejs/node/pull/37930
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is>
2021-04-01 23:14:29 -07:00

25 lines
657 B
JavaScript

'use strict';
const common = require('../common');
const child_process = require('child_process');
// Tests that exiting through a catchable signal resets the TTY mode.
const proc = child_process.spawn(process.execPath, [
'-e', 'process.stdin.setRawMode(true); console.log("Y"); while(true) {}',
], { stdio: ['inherit', 'pipe', 'inherit'] });
proc.stdout.on('data', common.mustCall(() => {
proc.kill('SIGINT');
}));
proc.on('exit', common.mustCall(() => {
const { stdout } = child_process.spawnSync('stty', {
stdio: ['inherit', 'pipe', 'inherit'],
encoding: 'utf8'
});
if (stdout.match(/-echo\b/)) {
console.log(stdout);
}
}));