From 98142551c2cad3a6c49fca5c0bc648d8f6700554 Mon Sep 17 00:00:00 2001 From: Savka Oleg Date: Mon, 15 Mar 2021 13:06:08 +0200 Subject: [PATCH] CBS-2063 (hide stacktraces + absolute paths) --- src/errors/helper.js | 28 ++++++++++++++++++++++++++++ src/runners/oxygen/OxygenWorker.js | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/errors/helper.js b/src/errors/helper.js index 7b22e2a6..8d0ef836 100644 --- a/src/errors/helper.js +++ b/src/errors/helper.js @@ -13,6 +13,7 @@ import OxError from './OxygenError'; const util = require('util'); +const path = require('path'); const ERROR_CODES = { SCRIPT_ERROR: 'SCRIPT_ERROR', @@ -303,6 +304,33 @@ module.exports = { actual = actual.toString().replace(/\n/g, '\\n'); return new OxError(ERROR_CODES.ASSERT_ERROR, `Expected: "${expected}". Got: "${actual}"`); }, + clearRequireStack: function(e) { + let requireStack = []; + + if (e && e.requireStack) { + e.requireStack.map((item) => { + if (item) { + if (item.startsWith(this._cwd)) { + // path include absolute path to file + requireStack.push(item.replace(this._cwd, '')); + } else { + if (item.includes('build'+path.sep+'runners')) { + // ignore + } else if (item.includes('OxygenWorker.js') || item.includes('worker.js')) { + // ignore + } else { + // other variants + requireStack.push(item.replace); + } + } + } + }); + } + e.requireStack = requireStack; + e.message = e.message.replace(/\nRequire stack(.*)/gs, ''); + + return e; + }, errorCode: ERROR_CODES }; diff --git a/src/runners/oxygen/OxygenWorker.js b/src/runners/oxygen/OxygenWorker.js index e0f0f64c..b9c03fe3 100644 --- a/src/runners/oxygen/OxygenWorker.js +++ b/src/runners/oxygen/OxygenWorker.js @@ -85,7 +85,7 @@ export default class OxygenWorker extends EventEmitter { if (e && e.type && e.type === errorHelper.errorCode.ASSERT_PASSED) { //ignore } else { - error = e; + error = errorHelper.clearRequireStack(e); } } });