From 714c474a49d41a53940b4a7516c1d1ed39b5eefe Mon Sep 17 00:00:00 2001 From: il3ven Date: Mon, 16 May 2022 15:35:36 +0530 Subject: [PATCH] Add number of timeouts in test summary Fixes #2639. --- lib/reporters/default.js | 4 ++++ lib/run-status.js | 5 ++++- test-tap/reporters/default.timeoutinmultiplefiles.v12.log | 1 + test-tap/reporters/default.timeoutinmultiplefiles.v14.log | 1 + test-tap/reporters/default.timeoutinmultiplefiles.v16.log | 1 + test-tap/reporters/default.timeoutinmultiplefiles.v17.log | 1 + test-tap/reporters/default.timeoutinsinglefile.v12.log | 1 + test-tap/reporters/default.timeoutinsinglefile.v14.log | 1 + test-tap/reporters/default.timeoutinsinglefile.v16.log | 1 + test-tap/reporters/default.timeoutinsinglefile.v17.log | 1 + test-tap/reporters/default.timeoutwithmatch.v12.log | 1 + test-tap/reporters/default.timeoutwithmatch.v14.log | 1 + test-tap/reporters/default.timeoutwithmatch.v16.log | 1 + test-tap/reporters/default.timeoutwithmatch.v17.log | 1 + 14 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/reporters/default.js b/lib/reporters/default.js index 4cfa1f9fc..002d8e120 100644 --- a/lib/reporters/default.js +++ b/lib/reporters/default.js @@ -660,6 +660,10 @@ export default class Reporter { this.lineWriter.writeLine(colors.error(`${this.stats.uncaughtExceptions} uncaught ${plur('exception', this.stats.uncaughtExceptions)}`)); } + if (this.stats.timeouts > 0) { + this.lineWriter.writeLine(colors.error(`${this.stats.timeouts} ${plur('test', this.stats.timeouts)} remained pending after a timeout`)); + } + if (this.previousFailures > 0) { this.lineWriter.writeLine(colors.error(`${this.previousFailures} previous ${plur('failure', this.previousFailures)} in test files that were not rerun`)); } diff --git a/lib/run-status.js b/lib/run-status.js index a18f4e1af..7d6b26c01 100644 --- a/lib/run-status.js +++ b/lib/run-status.js @@ -125,7 +125,10 @@ export default class RunStatus extends Emittery { case 'timeout': event.pendingTests = this.pendingTests; this.pendingTests = new Map(); - stats.timeouts++; + for (const testsInFile of event.pendingTests.values()) { + stats.timeouts += testsInFile.size; + } + break; case 'interrupt': event.pendingTests = this.pendingTests; diff --git a/test-tap/reporters/default.timeoutinmultiplefiles.v12.log b/test-tap/reporters/default.timeoutinmultiplefiles.v12.log index dbc999ffd..16d1ddd6b 100644 --- a/test-tap/reporters/default.timeoutinmultiplefiles.v12.log +++ b/test-tap/reporters/default.timeoutinmultiplefiles.v12.log @@ -30,4 +30,5 @@ ─ 4 tests passed + 5 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutinmultiplefiles.v14.log b/test-tap/reporters/default.timeoutinmultiplefiles.v14.log index dbc999ffd..16d1ddd6b 100644 --- a/test-tap/reporters/default.timeoutinmultiplefiles.v14.log +++ b/test-tap/reporters/default.timeoutinmultiplefiles.v14.log @@ -30,4 +30,5 @@ ─ 4 tests passed + 5 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutinmultiplefiles.v16.log b/test-tap/reporters/default.timeoutinmultiplefiles.v16.log index dbc999ffd..16d1ddd6b 100644 --- a/test-tap/reporters/default.timeoutinmultiplefiles.v16.log +++ b/test-tap/reporters/default.timeoutinmultiplefiles.v16.log @@ -30,4 +30,5 @@ ─ 4 tests passed + 5 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutinmultiplefiles.v17.log b/test-tap/reporters/default.timeoutinmultiplefiles.v17.log index dbc999ffd..16d1ddd6b 100644 --- a/test-tap/reporters/default.timeoutinmultiplefiles.v17.log +++ b/test-tap/reporters/default.timeoutinmultiplefiles.v17.log @@ -30,4 +30,5 @@ ─ 4 tests passed + 5 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutinsinglefile.v12.log b/test-tap/reporters/default.timeoutinsinglefile.v12.log index 43c2cbffa..3c4830fb5 100644 --- a/test-tap/reporters/default.timeoutinsinglefile.v12.log +++ b/test-tap/reporters/default.timeoutinsinglefile.v12.log @@ -16,4 +16,5 @@ ─ 2 tests passed + 2 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutinsinglefile.v14.log b/test-tap/reporters/default.timeoutinsinglefile.v14.log index 43c2cbffa..3c4830fb5 100644 --- a/test-tap/reporters/default.timeoutinsinglefile.v14.log +++ b/test-tap/reporters/default.timeoutinsinglefile.v14.log @@ -16,4 +16,5 @@ ─ 2 tests passed + 2 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutinsinglefile.v16.log b/test-tap/reporters/default.timeoutinsinglefile.v16.log index 43c2cbffa..3c4830fb5 100644 --- a/test-tap/reporters/default.timeoutinsinglefile.v16.log +++ b/test-tap/reporters/default.timeoutinsinglefile.v16.log @@ -16,4 +16,5 @@ ─ 2 tests passed + 2 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutinsinglefile.v17.log b/test-tap/reporters/default.timeoutinsinglefile.v17.log index 43c2cbffa..3c4830fb5 100644 --- a/test-tap/reporters/default.timeoutinsinglefile.v17.log +++ b/test-tap/reporters/default.timeoutinsinglefile.v17.log @@ -16,4 +16,5 @@ ─ 2 tests passed + 2 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutwithmatch.v12.log b/test-tap/reporters/default.timeoutwithmatch.v12.log index e64e4e60f..2ed31ca03 100644 --- a/test-tap/reporters/default.timeoutwithmatch.v12.log +++ b/test-tap/reporters/default.timeoutwithmatch.v12.log @@ -14,4 +14,5 @@ ─ 1 test passed + 2 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutwithmatch.v14.log b/test-tap/reporters/default.timeoutwithmatch.v14.log index e64e4e60f..2ed31ca03 100644 --- a/test-tap/reporters/default.timeoutwithmatch.v14.log +++ b/test-tap/reporters/default.timeoutwithmatch.v14.log @@ -14,4 +14,5 @@ ─ 1 test passed + 2 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutwithmatch.v16.log b/test-tap/reporters/default.timeoutwithmatch.v16.log index e64e4e60f..2ed31ca03 100644 --- a/test-tap/reporters/default.timeoutwithmatch.v16.log +++ b/test-tap/reporters/default.timeoutwithmatch.v16.log @@ -14,4 +14,5 @@ ─ 1 test passed + 2 tests remained pending after a timeout ---tty-stream-chunk-separator diff --git a/test-tap/reporters/default.timeoutwithmatch.v17.log b/test-tap/reporters/default.timeoutwithmatch.v17.log index e64e4e60f..2ed31ca03 100644 --- a/test-tap/reporters/default.timeoutwithmatch.v17.log +++ b/test-tap/reporters/default.timeoutwithmatch.v17.log @@ -14,4 +14,5 @@ ─ 1 test passed + 2 tests remained pending after a timeout ---tty-stream-chunk-separator