| 'use strict'; |
| |
| // Make sure that Node.js runs correctly with the --use-largepages option. |
| |
| require('../common'); |
| const assert = require('assert'); |
| const { spawnSync } = require('child_process'); |
| |
| { |
| const child = spawnSync(process.execPath, |
| [ '--use-largepages=on', '-p', '42' ], |
| { stdio: ['inherit', 'pipe', 'inherit'] }); |
| const stdout = child.stdout.toString().match(/\S+/g); |
| assert.strictEqual(child.status, 0); |
| assert.strictEqual(child.signal, null); |
| assert.strictEqual(stdout.length, 1); |
| assert.strictEqual(stdout[0], '42'); |
| } |
| |
| { |
| const child = spawnSync(process.execPath, |
| [ '--use-largepages=xyzzy', '-p', '42' ]); |
| assert.strictEqual(child.status, 9); |
| assert.strictEqual(child.signal, null); |
| assert.strictEqual(child.stderr.toString().match(/\S+/g).slice(1).join(' '), |
| 'invalid value for --use-largepages'); |
| } |
| |
| // TODO(gabrielschulhof): Make assertions about the stderr, which may or may not |
| // contain a message indicating that mapping to large pages has failed. |