From 265299d47edb2556e0fee3e8e6685b643303e4f4 Mon Sep 17 00:00:00 2001 From: Sulabh Bista Date: Wed, 4 Jan 2017 00:51:08 -0800 Subject: [PATCH] Adds support for loading reporter from an absolute or relative path. --- lib/mocha.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/mocha.js b/lib/mocha.js index dcc1492f5a..8bacf27b17 100644 --- a/lib/mocha.js +++ b/lib/mocha.js @@ -152,9 +152,17 @@ Mocha.prototype.reporter = function (reporter, reporterOptions) { try { _reporter = require(reporter); } catch (err) { - err.message.indexOf('Cannot find module') !== -1 - ? console.warn('"' + reporter + '" reporter not found') - : console.warn('"' + reporter + '" reporter blew up with error:\n' + err.stack); + if (err.message.indexOf('Cannot find module') !== -1) { + // Try to load reporters from a path (absolute or relative) + try { + _reporter = require(path.resolve(process.cwd(), reporter)); + } catch (_err) { + err.message.indexOf('Cannot find module') !== -1 ? console.warn('"' + reporter + '" reporter not found') + : console.warn('"' + reporter + '" reporter blew up with error:\n' + err.stack); + } + } else { + console.warn('"' + reporter + '" reporter blew up with error:\n' + err.stack); + } } } if (!_reporter && reporter === 'teamcity') {