Skip to content

Commit

Permalink
test: create tests for newly sorted cli options
Browse files Browse the repository at this point in the history
Created tests to validate that the newly ascii sorted
cli options in the node.PrintHelp() function are being
returned according to build configurations as expected.
  • Loading branch information
willhayslett committed Apr 13, 2018
1 parent aa31cff commit dd33653
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions test/parallel/test-cli-node-print-help.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
'use strict';

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

// The following tests assert that the node.cc PrintHelp() function
// returns the proper set of cli options when invoked

const assert = require('assert');
const { exec } = require('child_process');
let stdOut;


function startPrintHelpTest() {
exec(`${process.execPath} --help`, common.mustCall((err, stdout, stderr) => {
assert.ifError(err);
stdOut = stdout;
validateNodePrintHelp();
}));
}

function validateNodePrintHelp() {
const config = process.config;
const HAVE_OPENSSL = common.hasCrypto;
const NODE_FIPS_MODE = common.hasFipsCrypto;
const NODE_HAVE_I18N_SUPPORT = common.hasIntl;
const HAVE_INSPECTOR = config.variables.v8_enable_inspector === 1;

const cliHelpOptions = [
{ compileConstant: HAVE_OPENSSL,
flags: [ '--openssl-config=file', '--tls-cipher-list=val',
'--use-bundled-ca', '--use-openssl-ca' ] },
{ compileConstant: NODE_FIPS_MODE,
flags: [ '--enable-fips', '--force-fips' ] },
{ compileConstant: NODE_HAVE_I18N_SUPPORT,
flags: [ '--experimental-modules', '--experimental-vm-modules',
'--icu-data-dir=dir', '--preserve-symlinks',
'NODE_ICU_DATA', 'NODE_PRESERVE_SYMLINKS' ] },
{ compileConstant: HAVE_INSPECTOR,
flags: [ '--inspect-brk[=[host:]port]', '--inspect-port=[host:]port',
'--inspect[=[host:]port]' ] },
];

cliHelpOptions.forEach(testForSubstring);
}

function testForSubstring(options) {
if (options.compileConstant) {
options.flags.forEach((flag) => {
assert.strictEqual(stdOut.indexOf(flag) !== -1, true);
});
} else {
options.flags.forEach((flag) => {
assert.strictEqual(stdOut.indexOf(flag), -1);
});
}
}

startPrintHelpTest();

0 comments on commit dd33653

Please sign in to comment.