Skip to content

Commit 0b5a1ef

Browse files
committed
Better error messages when trying to load a bad options file
1 parent 8189f17 commit 0b5a1ef

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

mocha-multi.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ const msgs = {
4747
invalid_reporter: "Unable to find '%s' reporter",
4848
invalid_setup: "Invalid setup for reporter '%s' (%s)",
4949
invalid_outfile: "Invalid stdout filename for reporter '%s' (%s)",
50+
bad_file: "Missing or malformed options file '%s' -- %s",
5051
};
5152
function bombOut(id, ...args) {
5253
const newArgs = [`ERROR: ${msgs[id]}`, ...args];
@@ -67,7 +68,11 @@ function convertSetup(reporters) {
6768
Object.keys(reporters).forEach((reporter) => {
6869
if (reporter === 'mocha-multi') {
6970
debug('loading reporters from file %j', reporters[reporter]);
70-
setup = setup.concat(convertSetup(JSON.parse(fs.readFileSync(reporters[reporter]))));
71+
try {
72+
setup = setup.concat(convertSetup(JSON.parse(fs.readFileSync(reporters[reporter]))));
73+
} catch (e) {
74+
bombOut('bad_file', reporters[reporter], e);
75+
}
7176
} else {
7277
const r = reporters[reporter];
7378
debug('adding reporter %j %j', reporter, r);

verify

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,16 @@ function compare {
104104
fi
105105
}
106106

107+
badfilecheck="ERROR: Missing or malformed options file 'missing.json' -- Error: ENOENT: no such file or directory, open 'missing.json'"
108+
badfile=`mocha --reporter "$mocha_multi" --reporter-options mocha-multi=missing.json --recursive test 2>&1`
109+
log "$badfile"
110+
if [ "$badfile" != "$badfilecheck" ]; then
111+
log "Wrong error message trying to load missing options file" fail
112+
exit 1
113+
else
114+
log "Correct error message trying to load missing options file" pass
115+
fi
116+
107117
if [ "$1" = "" ]; then
108118
log "No reporter chosen"
109119
exit 1

0 commit comments

Comments
 (0)