diff --git a/bin/options.js b/bin/options.js index 60cbcd705e..a25a18e28e 100644 --- a/bin/options.js +++ b/bin/options.js @@ -32,6 +32,7 @@ function getOptions() { try { const opts = fs .readFileSync(optsPath, 'utf8') + .replace(/^#.*$/gm, '') .replace(/\\\s/g, '%20') .split(/\s/) .filter(Boolean) diff --git a/docs/index.md b/docs/index.md index a5acfc9945..b56610e043 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1257,15 +1257,32 @@ The "HTML" reporter is what you see when running Mocha in the browser. It looks ## `mocha.opts` -Back on the server, Mocha will attempt to load `./test/mocha.opts` as a configuration file of sorts. The lines in this file are combined with any command-line arguments. The command-line arguments take precedence. For example, suppose you have the following `mocha.opts` file: +Back on the server, Mocha will attempt to load `"./test/mocha.opts"` as a +Run-Control file of sorts. + +Beginning-of-line comment support is available; any line _starting_ with a +hash (#) symbol will be considered a comment. Blank lines may also be used. +Any other line will be treated as a command-line argument (along with any +associated option value) to be used as a default setting. Settings should be +specified one per line. + +The lines in this file are prepended to any actual command-line arguments. +As such, actual command-line arguments will take precedence over the defaults. + +For example, suppose you have the following `mocha.opts` file: ```sh +# mocha.opts + --require should --reporter dot --ui bdd ``` -This will default the reporter to `dot`, require the `should` library, and use `bdd` as the interface. With this, you may then invoke `mocha` with additional arguments, here enabling [Growl](http://growl.info) support, and changing the reporter to `list`: +The settings above will default the reporter to `dot`, require the `should` +library, and use `bdd` as the interface. With this, you may then invoke `mocha` +with additional arguments, here enabling [Growl](http://growl.info/) support, +and changing the reporter to `list`: ```sh $ mocha --reporter list --growl diff --git a/test/integration/regression.spec.js b/test/integration/regression.spec.js index e1f6b19dde..92f2223c7a 100644 --- a/test/integration/regression.spec.js +++ b/test/integration/regression.spec.js @@ -32,6 +32,7 @@ describe('regressions', function() { var processArgv = process.argv.join(''); var mochaOpts = fs .readFileSync(path.join(__dirname, '..', 'mocha.opts'), 'utf-8') + .replace(/^#.*$/gm, '') .split(/[\s]+/) .join(''); assert.notEqual( diff --git a/test/mocha.opts b/test/mocha.opts index c233b95260..c6f308ee28 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,6 +1,11 @@ +### +### mocha.opts +### + --require ./test/setup --ui bdd --globals okGlobalA,okGlobalB --globals okGlobalC --globals callback* --timeout 200 +