aboutsummaryrefslogtreecommitdiff
path: root/test/pseudo-tty/test-set-raw-mode-reset-process-exit.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/pseudo-tty/test-set-raw-mode-reset-process-exit.js')
-rw-r--r--test/pseudo-tty/test-set-raw-mode-reset-process-exit.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/pseudo-tty/test-set-raw-mode-reset-process-exit.js b/test/pseudo-tty/test-set-raw-mode-reset-process-exit.js
new file mode 100644
index 0000000000..b6857eaebb
--- /dev/null
+++ b/test/pseudo-tty/test-set-raw-mode-reset-process-exit.js
@@ -0,0 +1,18 @@
+'use strict';
+require('../common');
+const child_process = require('child_process');
+
+// Tests that exiting through process.exit() resets the TTY mode.
+
+child_process.spawnSync(process.execPath, [
+ '-e', 'process.stdin.setRawMode(true); process.exit(0)'
+], { stdio: 'inherit' });
+
+const { stdout } = child_process.spawnSync('stty', {
+ stdio: ['inherit', 'pipe', 'inherit'],
+ encoding: 'utf8'
+});
+
+if (stdout.match(/-echo\b/)) {
+ console.log(stdout);
+}