From ba3aa4ca9d226133dbcc36cbaba0464c88e7838c Mon Sep 17 00:00:00 2001 From: Gar Date: Thu, 21 Jan 2021 09:12:35 -0800 Subject: [PATCH] chore(tests): skip coverage for results.sort We finally know why this is happening, and it's because the array that it is sorting isn't deterministic. Explanation is in the comments above the function, line is ignored, no more random CI test failures. PR-URL: https://github.com/npm/cli/pull/2523 Credit: @wraithgar Close: #2523 Reviewed-by: @darcyclarke --- lib/help-search.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/help-search.js b/lib/help-search.js index c1814b4e53fc3..d60ef5b4ba89f 100644 --- a/lib/help-search.js +++ b/lib/help-search.js @@ -132,11 +132,15 @@ const searchFiles = async (args, data, files) => { // sort results by number of results found, then by number of hits // then by number of matching lines + + // coverage is ignored here because the contents of results are + // nondeterministic due to either glob or readFiles or Object.entries return results.sort((a, b) => a.found.length > b.found.length ? -1 : a.found.length < b.found.length ? 1 : a.totalHits > b.totalHits ? -1 : a.totalHits < b.totalHits ? 1 + /* istanbul ignore next */ : a.lines.length > b.lines.length ? -1 : a.lines.length < b.lines.length ? 1 : 0).slice(0, 10)