From bc6ed887cd8881a5a5a7fe4c8523746eb4ca726a Mon Sep 17 00:00:00 2001 From: Muthu Kumar Date: Wed, 26 Sep 2018 17:36:48 +0530 Subject: [PATCH] [testrunner] Fix for error reporting on skipped hooks --- browser/index.js | 6 +++++- es5/lib/testrunner.js | 6 +++++- package.json | 2 +- src/lib/testrunner.js | 8 +++++--- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/browser/index.js b/browser/index.js index 32ba755..cd0b565 100644 --- a/browser/index.js +++ b/browser/index.js @@ -2204,6 +2204,10 @@ function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.itera var buildTestQueue = require('./buildTestQueue'); + var getError = function getError(E) { + return E.error.stack || E.error; + }; + var findSkip = function findSkip(skip, unit) { var startFailed = skip.findIndex(function (x) { return x.type === '@start'; @@ -2214,7 +2218,7 @@ function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.itera var beforeFailed = skip.findIndex(function (x) { return x.description === unit.description; }); - return startFailed !== -1 && 'A start hook failed\n' + skip[startFailed].error || everyFailed !== -1 && 'An every hook failed\n' + skip[everyFailed].error || beforeFailed !== -1 && 'A before test hook failed\n' + skip[beforeFailed].error; + return startFailed !== -1 && 'A start hook failed\n' + getError(skip[startFailed]) || everyFailed !== -1 && 'An every hook failed\n' + getError(skip[everyFailed].error) || beforeFailed !== -1 && 'A before test hook failed\n' + getError(skip[beforeFailed]); }; var reduceQueue = function reduceQueue(queue) { diff --git a/es5/lib/testrunner.js b/es5/lib/testrunner.js index 9b4cf8a..c058253 100644 --- a/es5/lib/testrunner.js +++ b/es5/lib/testrunner.js @@ -32,6 +32,10 @@ var emitter = require('./emitter'); var buildTestQueue = require('./buildTestQueue'); +var getError = function getError(E) { + return E.error.stack || E.error; +}; + var findSkip = function findSkip(skip, unit) { var startFailed = skip.findIndex(function (x) { return x.type === '@start'; @@ -42,7 +46,7 @@ var findSkip = function findSkip(skip, unit) { var beforeFailed = skip.findIndex(function (x) { return x.description === unit.description; }); - return startFailed !== -1 && 'A start hook failed\n' + skip[startFailed].error || everyFailed !== -1 && 'An every hook failed\n' + skip[everyFailed].error || beforeFailed !== -1 && 'A before test hook failed\n' + skip[beforeFailed].error; + return startFailed !== -1 && 'A start hook failed\n' + getError(skip[startFailed]) || everyFailed !== -1 && 'An every hook failed\n' + getError(skip[everyFailed].error) || beforeFailed !== -1 && 'A before test hook failed\n' + getError(skip[beforeFailed]); }; var reduceQueue = function reduceQueue(queue) { diff --git a/package.json b/package.json index 10f3d37..706bc45 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@klenty/gunner", - "version": "0.11.9", + "version": "0.11.10", "description": "Zero magic, fast test-runner and assertion framework. No magic globals.", "main": "index.js", "repository": { diff --git a/src/lib/testrunner.js b/src/lib/testrunner.js index 35887ef..ce5970a 100644 --- a/src/lib/testrunner.js +++ b/src/lib/testrunner.js @@ -9,6 +9,8 @@ const { eventMap } = require('../util/constants'); const emitter = require('./emitter'); const buildTestQueue = require('./buildTestQueue'); +const getError = E => E.error.stack || E.error; + const findSkip = (skip, unit) => { const startFailed = skip.findIndex(x => @@ -20,13 +22,13 @@ const findSkip = (skip, unit) => { return (startFailed !== -1 && 'A start hook failed\n' - + skip[startFailed].error) + + getError(skip[startFailed])) || (everyFailed !== -1 && 'An every hook failed\n' - + skip[everyFailed].error) + + getError(skip[everyFailed].error)) || (beforeFailed !== -1 && 'A before test hook failed\n' - + skip[beforeFailed].error); + + getError(skip[beforeFailed])); };