From a5582d74ab067aefb62f5da21e4d0164a7292950 Mon Sep 17 00:00:00 2001 From: Bill Glesias Date: Fri, 15 Sep 2023 14:40:36 -0400 Subject: [PATCH] chore: add cy-in-cy tests to verify reporter behavior for pass/fail tests, as well as new mocha snapshots to verify attempts. New tests were needed for this as the 'retries' option in testConfigOverrides currently is and will be invalid for experiment and will function as an override. tests run in the cy-in-cy tests are using globally configured experimentalRetries for the given tested project, which showcases the different behavior between attempts/retries and pass/fail status. --- ...ries.experimentalRetries.mochaEvents.cy.ts | 413 + ...perimentalRetries.mochaEvents.snapshots.ts | 54404 ++++++++++++++++ ...nner.experimentalRetries.mochaEvents.cy.ts | 173 + ...perimentalRetries.mochaEvents.snapshots.ts | 23038 +++++++ .../e2e/runner/support/mochaEventsUtils.ts | 4 + .../cypress/e2e/runner/support/spec-loader.ts | 13 +- ...y-from-afterEach.retries.mochaEvents.cy.js | 37 + ...-from-beforeEach.retries.mochaEvents.cy.js | 20 + ...etry-from-before.retries.mochaEvents.cy.js | 17 + .../does-not-serialize-dom-error.cy.js | 4 + .../simple-fail.retries.mochaEvents.cy.js | 10 + ...retry-with-hooks.retries.mochaEvents.cy.js | 15 + ...-retry-with-only.retries.mochaEvents.cy.js | 20 + ...tests-with-retry.retries.mochaEvents.cy.js | 19 + .../cypress.config.js | 15 + .../package.json | 3 + .../cypress.config.js | 15 + .../package.json | 3 + .../cypress.config.js | 15 + .../detect-flake-but-always-fail/package.json | 3 + 20 files changed, 78237 insertions(+), 4 deletions(-) create mode 100644 packages/app/cypress/e2e/runner/retries.experimentalRetries.mochaEvents.cy.ts create mode 100644 packages/app/cypress/e2e/runner/retries.experimentalRetries.mochaEvents.snapshots.ts create mode 100644 packages/app/cypress/e2e/runner/runner.experimentalRetries.mochaEvents.cy.ts create mode 100644 packages/app/cypress/e2e/runner/runner.experimentalRetries.mochaEvents.snapshots.ts create mode 100644 system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/can-retry-from-afterEach.retries.mochaEvents.cy.js create mode 100644 system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/can-retry-from-beforeEach.retries.mochaEvents.cy.js create mode 100644 system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/cant-retry-from-before.retries.mochaEvents.cy.js create mode 100644 system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/does-not-serialize-dom-error.cy.js create mode 100644 system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/simple-fail.retries.mochaEvents.cy.js create mode 100644 system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/test-retry-with-hooks.retries.mochaEvents.cy.js create mode 100644 system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/test-retry-with-only.retries.mochaEvents.cy.js create mode 100644 system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/three-tests-with-retry.retries.mochaEvents.cy.js create mode 100644 system-tests/projects/detect-flake-and-pass-on-threshold/cypress.config.js create mode 100644 system-tests/projects/detect-flake-and-pass-on-threshold/package.json create mode 100644 system-tests/projects/detect-flake-but-always-fail-stop-any-passed/cypress.config.js create mode 100644 system-tests/projects/detect-flake-but-always-fail-stop-any-passed/package.json create mode 100644 system-tests/projects/detect-flake-but-always-fail/cypress.config.js create mode 100644 system-tests/projects/detect-flake-but-always-fail/package.json diff --git a/packages/app/cypress/e2e/runner/retries.experimentalRetries.mochaEvents.cy.ts b/packages/app/cypress/e2e/runner/retries.experimentalRetries.mochaEvents.cy.ts new file mode 100644 index 000000000000..8acadd3ac8a1 --- /dev/null +++ b/packages/app/cypress/e2e/runner/retries.experimentalRetries.mochaEvents.cy.ts @@ -0,0 +1,413 @@ +import { loadSpec, runSpec } from './support/spec-loader' +import { runCypressInCypressMochaEventsTest } from './support/mochaEventsUtils' +import { snapshots } from './retries.experimentalRetries.mochaEvents.snapshots' + +/** + * The mochaEvent tests require a spec to be loaded and executed within an inner Cypress context. + * The spec must load and execute within the duration of the Cypress command timeout. + * The execution time of the inner Cypress is resource/OS dependant and can exceed the default value (4s), + * so we have increased the command timeout to allow the inner spec more time to complete and report + * its mocha event log. + */ + +/** + * In context to experimentalRetries, what is considered a passed/failed test is going to vary depending on the project. + * 'detect-flake-and-pass-on-threshold' will have a passed test as long as the config passesRequired is satisfied on retries. + * 'detect-flake-but-always-fail' projects should have the same passed/failed tests, but different number of attempts depending on stopIfAnyPassed + */ +describe('Experimental retries: mochaEvents & test status tests', { retries: 0, defaultCommandTimeout: 7500 }, () => { + const projects: ['detect-flake-and-pass-on-threshold', 'detect-flake-but-always-fail', 'detect-flake-but-always-fail-stop-any-passed'] = ['detect-flake-and-pass-on-threshold', 'detect-flake-but-always-fail', 'detect-flake-but-always-fail-stop-any-passed'] + + projects.forEach((project) => { + describe(project, () => { + // This will differ per strategy + // for each project: + // 'detect-flake-and-pass-on-threshold': will run a total of 6 times. The first attempt will fail and the next 5 attempts will pass. The test passes. + // 'detect-flake-but-always-fail': will run a total of 10 times. The first attempt will fail and the next 9 attempts will pass. The test fails. + // 'detect-flake-but-always-fail-stop-any-passed': will run a total of 2 times. The first attempt will fail and the second attempt will pass. The test fails. + describe('simple retry', () => { + it('matches mocha snapshot', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": retries mochaEvents simple retry #1`, + done, + ) + + runSpec({ + fileName: 'experimental-retries/simple-fail.retries.mochaEvents.cy.js', + projectName: project, + + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + it('displays correct passed/failed tests', () => { + loadSpec({ + filePath: 'runner/experimental-retries/simple-fail.retries.mochaEvents.cy.js', + projectName: project, + passCount: project === 'detect-flake-and-pass-on-threshold' ? 1 : 0, + failCount: project === 'detect-flake-and-pass-on-threshold' ? 0 : 1, + }) + }) + }) + + // This will differ per strategy + // for each project: + // 'detect-flake-and-pass-on-threshold': will run a total of 6 times. The first attempt will fail and the next 5 attempts will pass. The test passes. + // 'detect-flake-but-always-fail': will run a total of 10 times. The first attempt will fail and the next 9 attempts will pass. The test fails. + // 'detect-flake-but-always-fail-stop-any-passed': will run a total of 2 times. The first attempt will fail and the second attempt will pass. The test fails. + describe('test retry with hooks', () => { + it('matches mocha snapshot', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": retries mochaEvents test retry with hooks #1`, + done, + ) + + runSpec({ + fileName: 'experimental-retries/test-retry-with-hooks.retries.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + it('displays correct passed/failed tests', () => { + loadSpec({ + filePath: 'runner/experimental-retries/test-retry-with-hooks.retries.mochaEvents.cy.js', + projectName: project, + passCount: project === 'detect-flake-and-pass-on-threshold' ? 1 : 0, + failCount: project === 'detect-flake-and-pass-on-threshold' ? 0 : 1, + }) + }) + }) + + // This will differ per strategy + // for each project: + // 'detect-flake-and-pass-on-threshold': will run a total of 6 times. The first attempt will fail and the next 5 attempts will pass. The test passes. + // 'detect-flake-but-always-fail': will run a total of 10 times. The first attempt will fail and the next 9 attempts will pass. The test fails. + // 'detect-flake-but-always-fail-stop-any-passed': will run a total of 2 times. The first attempt will fail and the second attempt will pass. The test fails. + describe('test retry with [only]', () => { + it('matches mocha snapshot', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": retries mochaEvents test retry with [only] #1`, + done, + ) + + runSpec({ + fileName: 'experimental-retries/test-retry-with-only.retries.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + it('displays correct passed/failed tests', () => { + loadSpec({ + filePath: 'runner/experimental-retries/test-retry-with-only.retries.mochaEvents.cy.js', + projectName: project, + passCount: project === 'detect-flake-and-pass-on-threshold' ? 1 : 0, + failCount: project === 'detect-flake-and-pass-on-threshold' ? 0 : 1, + }) + }) + }) + + // This will differ per strategy + // for each project: + // 'detect-flake-and-pass-on-threshold': will run a total of 6 times. The first attempt will fail and the next 5 attempts will pass. The test passes. + // 'detect-flake-but-always-fail': will run a total of 10 times. The first attempt will fail and the next 9 attempts will pass. The test fails. + // 'detect-flake-but-always-fail-stop-any-passed': will run a total of 2 times. The first attempt will fail and the second attempt will pass. The test fails. + describe('can retry from [beforeEach]', () => { + it('matches mocha snapshot', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": retries mochaEvents can retry from [beforeEach] #1`, + done, + ) + + runSpec({ + fileName: 'experimental-retries/can-retry-from-beforeEach.retries.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + it('displays correct passed/failed tests', () => { + loadSpec({ + filePath: 'runner/experimental-retries/can-retry-from-beforeEach.retries.mochaEvents.cy.js', + projectName: project, + passCount: project === 'detect-flake-and-pass-on-threshold' ? 1 : 0, + failCount: project === 'detect-flake-and-pass-on-threshold' ? 0 : 1, + }) + }) + }) + + /** + * This will differ per strategy. The spec under test is a bit more complex + * for each project: + * + * 'detect-flake-and-pass-on-threshold': + * + * Suite 1 (passed) + * Test 1 (passed) + * Attempt 1 (failed) + * Attempt 2 (passed) + * Attempt 3 (passed) + * Attempt 4 (passed) + * Attempt 5 (passed) + * Attempt 6 (passed) (passesRequired met) + * Test 2 (passed) + * Attempt 1 (passed) + * Test 3 (passed) + * Attempt 1 (passed) + * + * Suite 2 (passed) + * Test 1 (passed) + * Attempt 1 (failed) + * Attempt 2 (failed) + * Attempt 3 (passed) + * Attempt 4 (passed) + * Attempt 5 (passed) + * Attempt 6 (passed) + * Attempt 7 (passed) (passesRequired met) + * + * Suite 3 (passed) + * Test 1 (passed) + * Attempt 1 (passed) + * + * FINAL RESULT: + * 5 tests passed / 0 tests failed + * + * 'detect-flake-but-always-fail': + * + * Suite 1 (failed) + * Test 1 (failed) + * Attempt 1 (failed) + * Attempt 2 (passed) + * Attempt 3 (passed) + * Attempt 4 (passed) + * Attempt 5 (passed) + * Attempt 6 (passed) + * Attempt 7 (passed) + * Attempt 8 (passed) + * Attempt 9 (passed) + * Attempt 10 (passed) (maxRetries achieved because stopIfAnyPassed=false, fail the test because flaky) + * Test 2 (passed) + * Attempt 1 (passed) + * Test 3 (passed) + * Attempt 1 (passed) + * + * Suite 2 (failed) + * Test 1 (failed) + * Attempt 1 (failed) + * Attempt 2 (failed) + * Attempt 3 (passed) + * Attempt 4 (passed) + * Attempt 5 (passed) + * Attempt 6 (passed) + * Attempt 7 (passed) + * Attempt 8 (passed) + * Attempt 9 (passed) + * Attempt 10 (passed) (maxRetries achieved because stopIfAnyPassed=false, fail the test because flaky) + * + * Suite 3 (passed) + * Test 1 (passed) + * Attempt 1 (passed) + * + * FINAL RESULT: + * 3 tests passed / 2 tests failed + * + * 'detect-flake-but-always-fail-stop-any-passed': + * + * Suite 1 (failed) + * Test 1 (failed) + * Attempt 1 (failed) + * Attempt 2 (passed) (stopIfAnyPassed=true so stop attempts, fail the test because flaky) + * Test 2 (passed) + * Attempt 1 (passed) + * Test 3 (passed) + * Attempt 1 (passed) + * + * Suite 2 (failed) + * Test 1 (failed) + * Attempt 1 (failed) + * Attempt 2 (failed) + * Attempt 3 (passed) (stopIfAnyPassed=true so stop attempts, fail the test because flaky) + * + * Suite 3 (passed) + * Test 1 (passed) + * Attempt 1 (passed) + * + * FINAL RESULT: + * 3 tests passed / 2 tests failed + */ + describe('can retry from [afterEach]', () => { + it('matches mocha snapshot', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": retries mochaEvents can retry from [afterEach] #1`, + done, + ) + + runSpec({ + fileName: 'experimental-retries/can-retry-from-afterEach.retries.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + it('displays correct passed/failed tests', () => { + loadSpec({ + filePath: 'runner/experimental-retries/can-retry-from-afterEach.retries.mochaEvents.cy.js', + projectName: project, + passCount: project === 'detect-flake-and-pass-on-threshold' ? 5 : 3, + failCount: project === 'detect-flake-and-pass-on-threshold' ? 0 : 2, + }) + }) + }) + + // this is the same for each test strategy. If the before hook fails the who suite is skipped and tests aren't run + describe('cant retry from [before]', () => { + it('matches mocha snapshot', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": retries mochaEvents cant retry from [before] #1`, + done, + ) + + runSpec({ + fileName: 'experimental-retries/cant-retry-from-before.retries.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + it('displays correct passed/failed tests', () => { + loadSpec({ + filePath: 'runner/experimental-retries/cant-retry-from-before.retries.mochaEvents.cy.js', + projectName: project, + passCount: 0, + failCount: 1, + }) + }) + }) + + /** + * This will differ per strategy. The spec under test is a bit more complex + * for each project: + * + * 'detect-flake-and-pass-on-threshold': + * + * Suite 1 (passed) + * Test 1 (passed) + * Attempt 1 (passed) + * Test 2 (passed) + * Attempt 1 (failed) + * Attempt 2 (failed) + * Attempt 3 (passed) + * Attempt 4 (passed) + * Attempt 5 (passed) + * Attempt 6 (passed) + * Attempt 7 (passed) (passesRequired met) + * Test 3 (passed) + * Attempt 1 (passed) + * + * FINAL RESULT: + * 3 tests passed / 0 tests failed + * + * 'detect-flake-but-always-fail': + * + * Suite 1 (failed) + * Test 1 (passed) + * Attempt 1 (passed) + * Test 2 (failed) + * Attempt 1 (failed) + * Attempt 2 (failed) + * Attempt 3 (passed) + * Attempt 4 (passed) + * Attempt 5 (passed) + * Attempt 6 (passed) + * Attempt 7 (passed) + * Attempt 8 (passed) + * Attempt 9 (passed) + * Attempt 10 (passed) (maxRetries achieved because stopIfAnyPassed=false, fail the test because flaky) + * Test 3 (passed) + * Attempt 1 (passed) + * + * FINAL RESULT: + * 2 tests passed / 1 tests failed + * + * 'detect-flake-but-always-fail-stop-any-passed': + * + * Suite 1 (failed) + * Test 1 (passed) + * Attempt 1 (passed) + * Test 2 (failed) + * Attempt 1 (failed) + * Attempt 2 (failed) + * Attempt 3 (passed) (stopIfAnyPassed=true so stop attempts, fail the test because flaky) + * Test 3 (passed) + * Attempt 1 (passed) + * + * FINAL RESULT: + * 2 tests passed / 1 tests failed + */ + describe('three tests with retry', () => { + it('matches mocha snapshot', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": retries mochaEvents three tests with retry #1`, + done, + ) + + runSpec({ + fileName: 'experimental-retries/three-tests-with-retry.retries.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + it('displays correct passed/failed tests', () => { + loadSpec({ + filePath: 'runner/experimental-retries/three-tests-with-retry.retries.mochaEvents.cy.js', + projectName: project, + passCount: project === 'detect-flake-and-pass-on-threshold' ? 3 : 2, + failCount: project === 'detect-flake-and-pass-on-threshold' ? 0 : 1, + }) + }) + }) + + // This will differ per strategy + // for each project: + // 'detect-flake-and-pass-on-threshold': will run a total of 6 times. All attempts fail. The test fails + // 'detect-flake-but-always-fail': will run a total of 10 times. All attempts fail. The test fails. + // 'detect-flake-but-always-fail-stop-any-passed': will run a total of 10 times. All attempts fail. The test fails. + describe('cleanses errors before emitting', () => { + it('does not try to serialize error with err.actual as DOM node', function (done) { + // because there are more attempts for 'detect-flake-but-always-fail', the timeout needs to be increased + this.timeout(15000) + + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": retries mochaEvents cleanses errors before emitting does not try to serialize error with err.actual as DOM node #1`, + done, + ) + + runSpec({ + fileName: 'experimental-retries/does-not-serialize-dom-error.cy.js', + projectName: project, + }).then((win) => { + // should not have err.actual, expected properties since the subject is a DOM element + assertMatchingSnapshot(win) + }) + }) + }) + }) + }) +}) diff --git a/packages/app/cypress/e2e/runner/retries.experimentalRetries.mochaEvents.snapshots.ts b/packages/app/cypress/e2e/runner/retries.experimentalRetries.mochaEvents.snapshots.ts new file mode 100644 index 000000000000..6b2f506eb5b3 --- /dev/null +++ b/packages/app/cypress/e2e/runner/retries.experimentalRetries.mochaEvents.snapshots.ts @@ -0,0 +1,54404 @@ +export const snapshots = { + '"detect-flake-and-pass-on-threshold": retries mochaEvents simple retry #1': [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": retries mochaEvents simple retry #1': [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": retries mochaEvents simple retry #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": retries mochaEvents test retry with hooks #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": retries mochaEvents test retry with hooks #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": retries mochaEvents test retry with hooks #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": retries mochaEvents test retry with [only] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": retries mochaEvents test retry with [only] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": retries mochaEvents test retry with [only] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": retries mochaEvents can retry from [beforeEach] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h3', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h3', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h3', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": retries mochaEvents can retry from [beforeEach] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h3', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h3', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h3', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": retries mochaEvents can retry from [beforeEach] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h3', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h3', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h3', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": retries mochaEvents can retry from [afterEach] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r6', + title: 'suite 2', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r7', + order: 4, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r7', + order: 4, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r7', + order: 4, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r7', + order: 4, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r7', + order: 4, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r6', + title: 'suite 2', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r8', + title: 'suite 3', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r9', + order: 5, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r9', + order: 5, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r9', + order: 5, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r9', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r9', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r8', + title: 'suite 3', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": retries mochaEvents can retry from [afterEach] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r6', + title: 'suite 2', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r6', + title: 'suite 2', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r8', + title: 'suite 3', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r9', + order: 5, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r9', + order: 5, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r9', + order: 5, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r9', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r9', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r8', + title: 'suite 3', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": retries mochaEvents can retry from [afterEach] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 8]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h6', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h5', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h6', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h5', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r6', + title: 'suite 2', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 2, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 1, + retries: 1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + hookName: 'after each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h7', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r7', + order: 4, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 4]', + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h7', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r7', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r7', + order: 4, + title: 'test 1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h7', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r6', + title: 'suite 2', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r8', + title: 'suite 3', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r9', + order: 5, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r9', + order: 5, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r9', + order: 5, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r9', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r9', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: 'relative/path/to/spec.js', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r8', + title: 'suite 3', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r9', + order: 5, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": retries mochaEvents cant retry from [before] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r3', + title: '"before all" hook for "test 1"', + hookName: 'before all', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"before all" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": retries mochaEvents cant retry from [before] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r3', + title: '"before all" hook for "test 1"', + hookName: 'before all', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"before all" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": retries mochaEvents cant retry from [before] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r3', + title: '"before all" hook for "test 1"', + hookName: 'before all', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"before all" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": retries mochaEvents three tests with retry #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 7, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 6, + retries: 6, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": retries mochaEvents three tests with retry #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + null, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": retries mochaEvents three tests with retry #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 3, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 2, + retries: 2, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": retries mochaEvents cleanses errors before emitting does not try to serialize error with err.actual as DOM node #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": retries mochaEvents cleanses errors before emitting does not try to serialize error with err.actual as DOM node #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": retries mochaEvents cleanses errors before emitting does not try to serialize error with err.actual as DOM node #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r2', + order: 1, + title: 'visits', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 2]', + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r2', + order: 1, + title: 'visits', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], +} as const diff --git a/packages/app/cypress/e2e/runner/runner.experimentalRetries.mochaEvents.cy.ts b/packages/app/cypress/e2e/runner/runner.experimentalRetries.mochaEvents.cy.ts new file mode 100644 index 000000000000..ed9b159cccb8 --- /dev/null +++ b/packages/app/cypress/e2e/runner/runner.experimentalRetries.mochaEvents.cy.ts @@ -0,0 +1,173 @@ +import { runSpec } from './support/spec-loader' +import { runCypressInCypressMochaEventsTest } from './support/mochaEventsUtils' +import { snapshots } from './runner.experimentalRetries.mochaEvents.snapshots' + +/** + * The mochaEvent tests require a spec to be loaded and executed within an inner Cypress context. + * The spec must load and execute within the duration of the Cypress command timeout. + * The execution time of the inner Cypress is resource/OS dependant and can exceed the default value (4s), + * so we have increased the command timeout to allow the inner spec more time to complete and report + * its mocha event log. + */ + +/** + * In context to experimentalRetries, the end state of the tests should be identical regardless of strategy for these tests. + * However, the total amount of attempts on a test will differ based on the strategy used and is documented below + */ +describe('experimental retries: runner tests', { defaultCommandTimeout: 7500 }, () => { + const projects: ['detect-flake-and-pass-on-threshold', 'detect-flake-but-always-fail', 'detect-flake-but-always-fail-stop-any-passed'] = ['detect-flake-and-pass-on-threshold', 'detect-flake-but-always-fail', 'detect-flake-but-always-fail-stop-any-passed'] + + projects.forEach((project) => { + describe(project, () => { + describe('tests finish with correct state', () => { + describe('hook failures', () => { + // regardless of strategy, this should fail the suite immediately and not run any additional attempts, so the snapshots should be near identical + it(`fail in [before]`, (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": tests finish with correct state hook failures fail in [before] #1`, + done, + ) + + runSpec({ + fileName: 'fail-with-before.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + // This will differ per strategy + // the snapshots for 'detect-flake-and-always-fail' configurations should almost be identical, regardless of experimentalOptions configuration. + // for each project: + // 'detect-flake-and-pass-on-threshold': will run a total of 6 times and fail 6 times, config is satisfied, the test fails, and the suite is skipped + // 'detect-flake-but-always-fail': will run a total of 10 times and fail 10 times, config is satisfied, the test fails, and the suite is skipped + // 'detect-flake-but-always-fail-stop-any-passed': will run a total of 10 times and fail 10 times config is satisfied, the test fails, and the suite is skipped + it(`fail in [beforeEach]`, (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": tests finish with correct state hook failures fail in [beforeEach] #1`, + done, + ) + + runSpec({ + fileName: 'fail-with-beforeEach.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + // regardless of strategy, this should fail the suite immediately and not run any additional attempts, so the snapshots should be near identical + it(`fail in [after]`, (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": tests finish with correct state hook failures fail in [after] #1`, + done, + ) + + runSpec({ + fileName: 'fail-with-after.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + // This will differ per strategy + // the snapshots for 'detect-flake-and-always-fail' configurations should almost be identical, regardless of experimentalOptions configuration. + // for each project: + // 'detect-flake-and-pass-on-threshold': will run a total of 6 times and fail 6 times, config is satisfied, the test fails, and the suite is skipped + // 'detect-flake-but-always-fail': will run a total of 10 times and fail 10 times, config is satisfied, the test fails, and the suite is skipped + // 'detect-flake-but-always-fail-stop-any-passed': will run a total of 10 times and fail 10 times config is satisfied, the test fails, and the suite is skipped + it(`fail in [afterEach]`, (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": tests finish with correct state hook failures fail in [afterEach] #1`, + done, + ) + + runSpec({ + fileName: 'fail-with-afterEach.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + }) + }) + + describe('mocha grep', () => { + // This will differ per strategy + // the snapshots for 'detect-flake-and-always-fail' configurations should almost be identical, regardless of experimentalOptions configuration. + // for each project: + // 'detect-flake-and-pass-on-threshold': will run a total of 6 times and fail 6 times, config is satisfied, the test fails, but the suite is NOT skipped + // 'detect-flake-but-always-fail': will run a total of 10 times and fail 10 times, config is satisfied, the test fails, but the suite is NOT skipped + // 'detect-flake-but-always-fail-stop-any-passed': will run a total of 10 times and fail 10 times config is satisfied, the test fails,but the suite is NOT skipped + it('fail with [only]', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": tests finish with correct state mocha grep fail with [only] #1`, + done, + ) + + runSpec({ + fileName: 'fail-with-only.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + // This will be the same per strategy, as the test passes and retries don't get invoked + it('pass with [only]', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": tests finish with correct state mocha grep pass with [only] #1`, + done, + ) + + runSpec({ + fileName: 'pass-with-only.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + }) + }) + + // these should be the same per strategy, as each test passes and retries is not invoked + describe('mocha events', () => { + it('simple single test', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": mocha events simple single test #1`, + done, + ) + + runSpec({ + fileName: 'simple-single-test.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + + it('simple three tests', (done) => { + const { assertMatchingSnapshot } = runCypressInCypressMochaEventsTest( + snapshots, + `"${project}": mocha events simple three tests #1`, + done, + ) + + runSpec({ + fileName: 'three-tests-with-hooks.mochaEvents.cy.js', + projectName: project, + }).then((win) => { + assertMatchingSnapshot(win) + }) + }) + }) + }) +}) diff --git a/packages/app/cypress/e2e/runner/runner.experimentalRetries.mochaEvents.snapshots.ts b/packages/app/cypress/e2e/runner/runner.experimentalRetries.mochaEvents.snapshots.ts new file mode 100644 index 000000000000..40ae62f0ebe8 --- /dev/null +++ b/packages/app/cypress/e2e/runner/runner.experimentalRetries.mochaEvents.snapshots.ts @@ -0,0 +1,23038 @@ +export const snapshots = { + '"detect-flake-and-pass-on-threshold": tests finish with correct state hook failures fail in [before] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r3', + title: '"before all" hook for "test 1"', + hookName: 'before all', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"before all" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": tests finish with correct state hook failures fail in [before] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r3', + title: '"before all" hook for "test 1"', + hookName: 'before all', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"before all" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": tests finish with correct state hook failures fail in [before] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r3', + title: '"before all" hook for "test 1"', + hookName: 'before all', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"before all" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": tests finish with correct state hook failures fail in [beforeEach] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r3', + title: '"before each" hook for "test 1"', + hookName: 'before each', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"before each" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": tests finish with correct state hook failures fail in [beforeEach] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r3', + title: '"before each" hook for "test 1"', + hookName: 'before each', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"before each" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": tests finish with correct state hook failures fail in [beforeEach] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 3]', + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r3', + title: '"before each" hook for "test 1"', + hookName: 'before each', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"before each" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + hookName: 'before each', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": tests finish with correct state hook failures fail in [after] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r4', + title: '"after all" hook for "test 2"', + hookName: 'after all', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"after all" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + hookName: 'after all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + hookName: 'after all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + hookName: 'after all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail": tests finish with correct state hook failures fail in [after] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r4', + title: '"after all" hook for "test 2"', + hookName: 'after all', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"after all" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + hookName: 'after all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + hookName: 'after all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + hookName: 'after all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-but-always-fail-stop-any-passed": tests finish with correct state hook failures fail in [after] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + id: 'r4', + title: '"after all" hook for "test 2"', + hookName: 'after all', + hookId: 'h1', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + originalTitle: '"after all" hook', + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + hookName: 'after all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + hookName: 'after all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'failed', + }, + id: 'r4', + order: 2, + title: 'test 2', + hookName: 'after all', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + failedFromHookId: 'h1', + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": tests finish with correct state hook failures fail in [afterEach] #1': [['mocha', 'start', { 'start': 'match.date' }], ['mocha', 'suite', { 'id': 'r1', 'title': '', 'root': true, 'pending': false, 'type': 'suite', 'file': 'relative/path/to/spec.js', 'retries': -1, '_slow': 10000 }], ['mocha', 'suite', { 'id': 'r2', 'title': 'suite 1', 'root': false, 'pending': false, 'type': 'suite', 'file': null, 'invocationDetails': '{Object 9}', 'retries': -1, '_slow': 10000 }], ['mocha', 'test', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'pending': false, 'body': '[body]', 'type': 'hook', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 1, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 2, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 3, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 4, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 5, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'fail', { 'id': 'r3', 'title': '"after each" hook for "test 1"', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'originalTitle': '"after each" hook', 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'test end', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'suite end', { 'id': 'r2', 'title': 'suite 1', 'root': false, 'pending': false, 'type': 'suite', 'file': null, 'invocationDetails': '{Object 9}', 'retries': -1, '_slow': 10000 }], ['mocha', 'suite end', { 'id': 'r1', 'title': '', 'root': true, 'pending': false, 'type': 'suite', 'file': 'relative/path/to/spec.js', 'retries': -1, '_slow': 10000 }], ['mocha', 'end', { 'end': 'match.date' }]], + '"detect-flake-but-always-fail": tests finish with correct state hook failures fail in [afterEach] #1': [['mocha', 'start', { 'start': 'match.date' }], ['mocha', 'suite', { 'id': 'r1', 'title': '', 'root': true, 'pending': false, 'type': 'suite', 'file': 'relative/path/to/spec.js', 'retries': -1, '_slow': 10000 }], ['mocha', 'suite', { 'id': 'r2', 'title': 'suite 1', 'root': false, 'pending': false, 'type': 'suite', 'file': null, 'invocationDetails': '{Object 9}', 'retries': -1, '_slow': 10000 }], ['mocha', 'test', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'pending': false, 'body': '[body]', 'type': 'hook', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 1, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 2, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 3, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 4, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 5, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 6, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 7, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 8, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }, null], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 9, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'fail', { 'id': 'r3', 'title': '"after each" hook for "test 1"', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'originalTitle': '"after each" hook', 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'test end', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'suite end', { 'id': 'r2', 'title': 'suite 1', 'root': false, 'pending': false, 'type': 'suite', 'file': null, 'invocationDetails': '{Object 9}', 'retries': -1, '_slow': 10000 }], ['mocha', 'suite end', { 'id': 'r1', 'title': '', 'root': true, 'pending': false, 'type': 'suite', 'file': 'relative/path/to/spec.js', 'retries': -1, '_slow': 10000 }], ['mocha', 'end', { 'end': 'match.date' }]], + '"detect-flake-but-always-fail-stop-any-passed": tests finish with correct state hook failures fail in [afterEach] #1': [['mocha', 'start', { 'start': 'match.date' }], ['mocha', 'suite', { 'id': 'r1', 'title': '', 'root': true, 'pending': false, 'type': 'suite', 'file': 'relative/path/to/spec.js', 'retries': -1, '_slow': 10000 }], ['mocha', 'suite', { 'id': 'r2', 'title': 'suite 1', 'root': false, 'pending': false, 'type': 'suite', 'file': null, 'invocationDetails': '{Object 9}', 'retries': -1, '_slow': 10000 }], ['mocha', 'test', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'pending': false, 'body': '[body]', 'type': 'hook', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'invocationDetails': '{Object 9}', 'final': false, 'currentRetry': 0, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 1, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 2, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 1, 'retries': 1, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 1, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 2, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 3, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 2, 'retries': 2, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 2, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 3, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 4, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 3, 'retries': 3, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 3, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 4, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 5, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 4, 'retries': 4, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 4, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 5, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 6, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 5, 'retries': 5, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 5, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 6, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 7, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 6, 'retries': 6, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 6, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 7, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 8, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 7, 'retries': 7, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 7, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 8, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 9, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 8, 'retries': 8, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'retry', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook end', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': false, 'currentRetry': 8, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:run:async', { 'id': 'r3', 'order': 1, 'title': 'test 1', 'pending': false, 'body': '[body]', 'type': 'test', 'wallClockStartedAt': 'match.date', 'file': null, 'currentRetry': 9, 'retries': 9, '_slow': 10000, 'invocationDetails': '{Object 9}', 'hooks': '[Array 3]' }], ['mocha', 'fail', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'passed', 'pending': false, 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'hook', { 'id': 'r3', 'title': '"after each" hook', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }], ['mocha', 'fail', { 'id': 'r3', 'title': '"after each" hook for "test 1"', 'hookName': 'after each', 'hookId': 'h1', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'body': '[body]', 'type': 'hook', 'duration': 'match.number', 'file': null, 'originalTitle': '"after each" hook', 'invocationDetails': '{Object 9}', 'currentRetry': 0, 'retries': -1, '_slow': 10000 }, { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }], ['mocha', 'test end', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:before:after:run:async', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'test:after:run:async', { '_cypressTestStatusInfo': { 'strategy': 'detect-flake-but-always-fail', 'shouldAttemptsContinue': false, 'attempts': 10, 'outerStatus': 'failed' }, 'id': 'r3', 'order': 1, 'title': 'test 1', 'hookName': 'after each', 'err': { 'message': '[error message]', 'name': 'AssertionError', 'stack': 'match.string', 'parsedStack': 'match.array' }, 'state': 'failed', 'pending': false, 'failedFromHookId': 'h1', 'body': '[body]', 'type': 'test', 'duration': 'match.number', 'wallClockStartedAt': 'match.date', 'wallClockDuration': 'match.number', 'timings': { 'lifecycle': 'match.number', 'test': { 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }, 'after each': [{ 'hookId': 'h1', 'fnDuration': 'match.number', 'afterFnDuration': 'match.number' }] }, 'file': null, 'final': true, 'currentRetry': 9, 'retries': 9, '_slow': 10000 }], ['mocha', 'suite end', { 'id': 'r2', 'title': 'suite 1', 'root': false, 'pending': false, 'type': 'suite', 'file': null, 'invocationDetails': '{Object 9}', 'retries': -1, '_slow': 10000 }], ['mocha', 'suite end', { 'id': 'r1', 'title': '', 'root': true, 'pending': false, 'type': 'suite', 'file': 'relative/path/to/spec.js', 'retries': -1, '_slow': 10000 }], ['mocha', 'end', { 'end': 'match.date' }]], + '"detect-flake-and-pass-on-threshold": tests finish with correct state mocha grep fail with [only] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 6, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 5, + retries: 5, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-but-always-fail": tests finish with correct state mocha grep fail with [only] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-but-always-fail-stop-any-passed": tests finish with correct state mocha grep fail with [only] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: false, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 1, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 1, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 2, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 2, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 3, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 3, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 4, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 4, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 5, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 5, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 6, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 6, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 7, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 7, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 8, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'retry', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: false, + currentRetry: 8, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + currentRetry: 9, + retries: 9, + _slow: 10000, + invocationDetails: '{Object 9}', + hooks: '[Array 6]', + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'fail', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 10, + outerStatus: 'failed', + }, + id: 'r3', + order: 1, + title: 'test 2', + err: { + message: '[error message]', + name: 'AssertionError', + stack: 'match.string', + parsedStack: 'match.array', + }, + state: 'failed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + final: true, + currentRetry: 9, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-and-pass-on-threshold": tests finish with correct state mocha grep pass with [only] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-but-always-fail": tests finish with correct state mocha grep pass with [only] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-but-always-fail-stop-any-passed": tests finish with correct state mocha grep pass with [only] #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-and-pass-on-threshold": mocha events simple single test #1': [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-but-always-fail": mocha events simple single test #1': [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-but-always-fail-stop-any-passed": mocha events simple single test #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + '"detect-flake-and-pass-on-threshold": mocha events simple three tests #1': [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-and-pass-on-threshold', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-but-always-fail": mocha events simple three tests #1': [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { fnDuration: 'match.number', afterFnDuration: 'match.number' }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], + + '"detect-flake-but-always-fail-stop-any-passed": mocha events simple three tests #1': + [ + ['mocha', 'start', { start: 'match.date' }], + [ + 'mocha', + 'suite', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before all" hook', + hookName: 'before all', + hookId: 'h1', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r3', + order: 1, + title: 'test 1', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r3', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r3', + order: 1, + title: 'test 1', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before all': [ + { + hookId: 'h1', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r4', + order: 2, + title: 'test 2', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r4', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r4', + order: 2, + title: 'test 2', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:before:run:async', + { + id: 'r5', + order: 3, + title: 'test 3', + pending: false, + body: '[body]', + type: 'test', + wallClockStartedAt: 'match.date', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"before each" hook', + hookName: 'before each', + hookId: 'h2', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after each" hook', + hookName: 'after each', + hookId: 'h4', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'hook end', + { + id: 'r5', + title: '"after all" hook', + hookName: 'after all', + hookId: 'h3', + pending: false, + body: '[body]', + type: 'hook', + duration: 'match.number', + file: null, + invocationDetails: '{Object 9}', + currentRetry: 0, + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'pass', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test end', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r2', + title: 'suite 1', + root: false, + pending: false, + type: 'suite', + file: null, + invocationDetails: '{Object 9}', + retries: -1, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'test:after:run:async', + { + _cypressTestStatusInfo: { + strategy: 'detect-flake-but-always-fail', + shouldAttemptsContinue: false, + attempts: 1, + outerStatus: 'passed', + }, + id: 'r5', + order: 3, + title: 'test 3', + state: 'passed', + pending: false, + body: '[body]', + type: 'test', + duration: 'match.number', + wallClockStartedAt: 'match.date', + wallClockDuration: 'match.number', + timings: { + lifecycle: 'match.number', + 'before each': [ + { + hookId: 'h2', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + test: { + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + 'after each': [ + { + hookId: 'h4', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + 'after all': [ + { + hookId: 'h3', + fnDuration: 'match.number', + afterFnDuration: 'match.number', + }, + ], + }, + file: null, + invocationDetails: '{Object 9}', + final: true, + currentRetry: 0, + retries: 9, + _slow: 10000, + }, + ], + [ + 'mocha', + 'suite end', + { + id: 'r1', + title: '', + root: true, + pending: false, + type: 'suite', + file: 'relative/path/to/spec.js', + retries: -1, + _slow: 10000, + }, + ], + ['mocha', 'end', { end: 'match.date' }], + ], +} diff --git a/packages/app/cypress/e2e/runner/support/mochaEventsUtils.ts b/packages/app/cypress/e2e/runner/support/mochaEventsUtils.ts index c6bd1591c458..9305cc9167d3 100644 --- a/packages/app/cypress/e2e/runner/support/mochaEventsUtils.ts +++ b/packages/app/cypress/e2e/runner/support/mochaEventsUtils.ts @@ -108,6 +108,10 @@ const eventCleanseMap = { const keysToEliminate = ['codeFrame', '_testConfig'] as const function removeUnusedKeysForTestSnapshot (obj: T): T { + // with experimental retries, mocha can fire a 'retry' event with an undefined error + // this is expected + if (obj === undefined) return obj + for (const key of keysToEliminate) { delete obj[key] } diff --git a/packages/app/cypress/e2e/runner/support/spec-loader.ts b/packages/app/cypress/e2e/runner/support/spec-loader.ts index f8411f9b0fac..651a6a611153 100644 --- a/packages/app/cypress/e2e/runner/support/spec-loader.ts +++ b/packages/app/cypress/e2e/runner/support/spec-loader.ts @@ -1,3 +1,5 @@ +import type { ProjectFixtureDir } from '@tooling/system-tests/lib/fixtureDirs' + export const shouldHaveTestResults = ({ passCount, failCount, pendingCount }) => { passCount = passCount || '--' failCount = failCount || '--' @@ -13,6 +15,8 @@ export const shouldHaveTestResults = ({ passCount, failCount, pendingCount }) => }) } +type ExperimentalRetriesProjects = 'detect-flake-and-pass-on-threshold' | 'detect-flake-but-always-fail' | 'detect-flake-but-always-fail-stop-any-passed' + export type LoadSpecOptions = { filePath: string setup?: () => void @@ -20,7 +24,7 @@ export type LoadSpecOptions = { failCount?: number | string pendingCount?: number | string hasPreferredIde?: boolean - projectName?: 'runner-e2e-specs' | 'runner-ct-specs' | 'session-and-origin-e2e-specs' + projectName?: 'runner-e2e-specs' | 'runner-ct-specs' | 'session-and-origin-e2e-specs' | ExperimentalRetriesProjects mode?: 'e2e' | 'component' configFile?: string scaffold?: boolean @@ -82,9 +86,10 @@ export function loadSpec (options: LoadSpecOptions) { shouldHaveTestResults({ passCount, failCount, pendingCount }) } -export function runSpec ({ fileName }: { fileName: string }) { - cy.scaffoldProject('runner-e2e-specs') - cy.openProject('runner-e2e-specs') +export function runSpec ({ fileName, projectName }: { fileName: string, projectName?: ProjectFixtureDir }) { + projectName = projectName || 'runner-e2e-specs' + cy.scaffoldProject(projectName) + cy.openProject(projectName) cy.startAppServer() cy.visitApp(`specs/runner?file=cypress/e2e/runner/${fileName}`) diff --git a/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/can-retry-from-afterEach.retries.mochaEvents.cy.js b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/can-retry-from-afterEach.retries.mochaEvents.cy.js new file mode 100644 index 000000000000..d9cf2d13fda7 --- /dev/null +++ b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/can-retry-from-afterEach.retries.mochaEvents.cy.js @@ -0,0 +1,37 @@ +let i = 0 + +afterEach(() => { + if (i === 0) { + i++ + throw new Error('') + } +}) + +describe('suite 1', () => { + before(() => {}) + beforeEach(() => {}) + beforeEach(() => {}) + afterEach(() => {}) + after(() => {}) + + it('test 1', () => {}) + it('test 2', () => {}) + it('test 3', () => {}) +}) + +describe('suite 2', () => { + let j = 0 + + afterEach(() => { + if (j === 0 || j === 1) { + j++ + throw new Error('') + } + }) + + it('test 1', () => {}) +}) + +describe('suite 3', () => { + it('test 1', () => {}) +}) diff --git a/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/can-retry-from-beforeEach.retries.mochaEvents.cy.js b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/can-retry-from-beforeEach.retries.mochaEvents.cy.js new file mode 100644 index 000000000000..bc6ec2becf2f --- /dev/null +++ b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/can-retry-from-beforeEach.retries.mochaEvents.cy.js @@ -0,0 +1,20 @@ +describe('suite 1', () => { + before(() => {}) + beforeEach(() => {}) + + let i = 0 + + beforeEach(() => { + if (i === 0) { + i++ + throw new Error('') + } + }) + + beforeEach(() => {}) + + afterEach(() => {}) + after(() => {}) + + it('test 1', () => {}) +}) diff --git a/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/cant-retry-from-before.retries.mochaEvents.cy.js b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/cant-retry-from-before.retries.mochaEvents.cy.js new file mode 100644 index 000000000000..2f6ff5461979 --- /dev/null +++ b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/cant-retry-from-before.retries.mochaEvents.cy.js @@ -0,0 +1,17 @@ +describe('suite 1', () => { + let i = 0 + + before(() => { + if (i === 0) { + i++ + throw new Error('') + } + }) + + beforeEach(() => {}) + beforeEach(() => {}) + afterEach(() => {}) + afterEach(() => {}) + after(() => {}) + it('test 1', () => {}) +}) diff --git a/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/does-not-serialize-dom-error.cy.js b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/does-not-serialize-dom-error.cy.js new file mode 100644 index 000000000000..7f3d58229771 --- /dev/null +++ b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/does-not-serialize-dom-error.cy.js @@ -0,0 +1,4 @@ +it('visits', { defaultCommandTimeout: 200 }, () => { + cy.visit('cypress/fixtures/dom.html') + cy.get('#button').should('not.be.visible') +}) diff --git a/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/simple-fail.retries.mochaEvents.cy.js b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/simple-fail.retries.mochaEvents.cy.js new file mode 100644 index 000000000000..3d3fba9792fb --- /dev/null +++ b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/simple-fail.retries.mochaEvents.cy.js @@ -0,0 +1,10 @@ +describe('suite 1', () => { + let i = 0 + + it('test 1', () => { + if (i === 0) { + i++ + throw new Error('test 1') + } + }) +}) diff --git a/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/test-retry-with-hooks.retries.mochaEvents.cy.js b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/test-retry-with-hooks.retries.mochaEvents.cy.js new file mode 100644 index 000000000000..f804971f91ee --- /dev/null +++ b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/test-retry-with-hooks.retries.mochaEvents.cy.js @@ -0,0 +1,15 @@ +describe('suite 1', () => { + before(() => {}) + beforeEach(() => {}) + after(() => {}) + afterEach(() => {}) + + let i = 0 + + it('test 1', () => { + if (i === 0) { + i++ + throw new Error('test 1') + } + }) +}) diff --git a/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/test-retry-with-only.retries.mochaEvents.cy.js b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/test-retry-with-only.retries.mochaEvents.cy.js new file mode 100644 index 000000000000..5903f03e5140 --- /dev/null +++ b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/test-retry-with-only.retries.mochaEvents.cy.js @@ -0,0 +1,20 @@ +describe('suite 1', () => { + before(() => {}) + beforeEach(() => {}) + after(() => {}) + afterEach(() => {}) + + it('test 1', () => {}) + + let i = 0 + + // eslint-disable-next-line mocha/no-exclusive-tests + it.only('test 2', () => { + if (i === 0) { + i++ + throw new Error('test 2') + } + }) + + it('test 3', () => {}) +}) diff --git a/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/three-tests-with-retry.retries.mochaEvents.cy.js b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/three-tests-with-retry.retries.mochaEvents.cy.js new file mode 100644 index 000000000000..ead03d7d9256 --- /dev/null +++ b/system-tests/project-fixtures/runner-specs/cypress/e2e/runner/experimental-retries/three-tests-with-retry.retries.mochaEvents.cy.js @@ -0,0 +1,19 @@ +describe('suite 1', () => { + before(() => {}) + beforeEach(() => {}) + afterEach(() => {}) + after(() => {}) + + it('test 1', () => {}) + + let i = 0 + + it('test 2', () => { + if (i <= 1) { + i++ + throw new Error('') + } + }) + + it('test 3', () => {}) +}) diff --git a/system-tests/projects/detect-flake-and-pass-on-threshold/cypress.config.js b/system-tests/projects/detect-flake-and-pass-on-threshold/cypress.config.js new file mode 100644 index 000000000000..46882728e397 --- /dev/null +++ b/system-tests/projects/detect-flake-and-pass-on-threshold/cypress.config.js @@ -0,0 +1,15 @@ +module.exports = { + numTestsKeptInMemory: 0, + e2e: { + supportFile: false, + retries: { + openMode: true, + runMode: true, + experimentalStrategy: 'detect-flake-and-pass-on-threshold', + experimentalOptions: { + maxRetries: 9, + passesRequired: 5, + }, + }, + }, +} diff --git a/system-tests/projects/detect-flake-and-pass-on-threshold/package.json b/system-tests/projects/detect-flake-and-pass-on-threshold/package.json new file mode 100644 index 000000000000..f9ba6239dbc5 --- /dev/null +++ b/system-tests/projects/detect-flake-and-pass-on-threshold/package.json @@ -0,0 +1,3 @@ +{ + "projectFixtureDirectory": "runner-specs" +} \ No newline at end of file diff --git a/system-tests/projects/detect-flake-but-always-fail-stop-any-passed/cypress.config.js b/system-tests/projects/detect-flake-but-always-fail-stop-any-passed/cypress.config.js new file mode 100644 index 000000000000..5886802aa9d4 --- /dev/null +++ b/system-tests/projects/detect-flake-but-always-fail-stop-any-passed/cypress.config.js @@ -0,0 +1,15 @@ +module.exports = { + numTestsKeptInMemory: 0, + e2e: { + supportFile: false, + retries: { + openMode: true, + runMode: true, + experimentalStrategy: 'detect-flake-but-always-fail', + experimentalOptions: { + maxRetries: 9, + stopIfAnyPassed: true, + }, + }, + }, +} diff --git a/system-tests/projects/detect-flake-but-always-fail-stop-any-passed/package.json b/system-tests/projects/detect-flake-but-always-fail-stop-any-passed/package.json new file mode 100644 index 000000000000..f9ba6239dbc5 --- /dev/null +++ b/system-tests/projects/detect-flake-but-always-fail-stop-any-passed/package.json @@ -0,0 +1,3 @@ +{ + "projectFixtureDirectory": "runner-specs" +} \ No newline at end of file diff --git a/system-tests/projects/detect-flake-but-always-fail/cypress.config.js b/system-tests/projects/detect-flake-but-always-fail/cypress.config.js new file mode 100644 index 000000000000..b9f7f8c7bf0f --- /dev/null +++ b/system-tests/projects/detect-flake-but-always-fail/cypress.config.js @@ -0,0 +1,15 @@ +module.exports = { + numTestsKeptInMemory: 0, + e2e: { + supportFile: false, + retries: { + openMode: true, + runMode: true, + experimentalStrategy: 'detect-flake-but-always-fail', + experimentalOptions: { + maxRetries: 9, + stopIfAnyPassed: false, + }, + }, + }, +} diff --git a/system-tests/projects/detect-flake-but-always-fail/package.json b/system-tests/projects/detect-flake-but-always-fail/package.json new file mode 100644 index 000000000000..f9ba6239dbc5 --- /dev/null +++ b/system-tests/projects/detect-flake-but-always-fail/package.json @@ -0,0 +1,3 @@ +{ + "projectFixtureDirectory": "runner-specs" +} \ No newline at end of file