From a6481f1d3012a07e721ff080dc35c327f5c6cafe Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Fri, 6 Sep 2019 18:02:09 -0400 Subject: [PATCH] fix: don't load JSON that does not look like coverage (#146) --- lib/report.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/report.js b/lib/report.js index 4e3af138..5746dc0f 100644 --- a/lib/report.js +++ b/lib/report.js @@ -110,11 +110,23 @@ class Report { _getMergedProcessCov () { const v8ProcessCovs = [] for (const v8ProcessCov of this._loadReports()) { - v8ProcessCovs.push(this._normalizeProcessCov(v8ProcessCov)) + if (this._isCoverageObject(v8ProcessCov)) { + v8ProcessCovs.push(this._normalizeProcessCov(v8ProcessCov)) + } } return mergeProcessCovs(v8ProcessCovs) } + /** + * Make sure v8ProcessCov actually contains coverage information. + * + * @return {boolean} does it look like v8ProcessCov? + * @private + */ + _isCoverageObject (maybeV8ProcessCov) { + return maybeV8ProcessCov && Array.isArray(maybeV8ProcessCov.result) + } + /** * Returns the list of V8 process coverages generated by Node. *