Persist test summary on disk

This commit is contained in:
Ray Xu 2022-04-23 05:48:48 +00:00 committed by Zach Renner
parent c9b3d0e2bd
commit 83b7f42d2d
19 changed files with 1284 additions and 3655 deletions

View file

@ -1,28 +1,28 @@
![Tests failed](https://img.shields.io/badge/tests-1%20passed%2C%204%20failed%2C%201%20skipped-critical) ![Tests failed](https://img.shields.io/badge/tests-1%20passed%2C%204%20failed%2C%201%20skipped-critical)
##  <a id="user-content-r0" href="#r0">fixtures/dart-json.json</a> ## :x: <a id="user-content-r0" href="#r0">fixtures/dart-json.json</a>
**6** tests were completed in **4s** with **1** passed, **4** failed and **1** skipped. **6** tests were completed in **4s** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[test/main_test.dart](#r0s0)|1✔️|3❌||74ms| |[test/main_test.dart](#r0s0)|1:white_check_mark:|3:x:||74ms|
|[test/second_test.dart](#r0s1)||1❌|1✖|51ms| |[test/second_test.dart](#r0s1)||1:x:|1:no_entry_sign:|51ms|
###  <a id="user-content-r0s0" href="#r0s0">test/main_test.dart</a> ### :x: <a id="user-content-r0s0" href="#r0s0">test/main_test.dart</a>
``` ```
Test 1 Test 1
✔️ Passing test :white_check_mark: Passing test
Test 1 Test 1.1 Test 1 Test 1.1
Failing test :x: Failing test
Expected: <2> Expected: <2>
Actual: <1> Actual: <1>
Exception in target unit :x: Exception in target unit
Exception: Some error Exception: Some error
Test 2 Test 2
Exception in test :x: Exception in test
Exception: Some error Exception: Some error
``` ```
###  <a id="user-content-r0s1" href="#r0s1">test/second_test.dart</a> ### :x: <a id="user-content-r0s1" href="#r0s1">test/second_test.dart</a>
``` ```
Timeout test :x: Timeout test
TimeoutException after 0:00:00.000001: Test timed out after 0 seconds. TimeoutException after 0:00:00.000001: Test timed out after 0 seconds.
✖️ Skipped test :no_entry_sign: Skipped test
``` ```

View file

@ -1,31 +1,31 @@
![Tests failed](https://img.shields.io/badge/tests-5%20passed%2C%205%20failed%2C%201%20skipped-critical) ![Tests failed](https://img.shields.io/badge/tests-5%20passed%2C%205%20failed%2C%201%20skipped-critical)
##  <a id="user-content-r0" href="#r0">fixtures/dotnet-trx.trx</a> ## :x: <a id="user-content-r0" href="#r0">DotnetTests.XUnitTests</a>
**11** tests were completed in **1s** with **5** passed, **5** failed and **1** skipped. **11** tests were completed in **1s** with **5** passed, **5** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[DotnetTests.XUnitTests.CalculatorTests](#r0s0)|5✔️|5❌|1✖|118ms| |[DotnetTests.XUnitTests.CalculatorTests](#r0s0)|5:white_check_mark:|5:x:|1:no_entry_sign:|118ms|
###  <a id="user-content-r0s0" href="#r0s0">DotnetTests.XUnitTests.CalculatorTests</a> ### :x: <a id="user-content-r0s0" href="#r0s0">DotnetTests.XUnitTests.CalculatorTests</a>
``` ```
✔️ Custom Name :white_check_mark: Custom Name
Exception_In_TargetTest :x: Exception_In_TargetTest
System.DivideByZeroException : Attempted to divide by zero. System.DivideByZeroException : Attempted to divide by zero.
Exception_In_Test :x: Exception_In_Test
System.Exception : Test System.Exception : Test
Failing_Test :x: Failing_Test
Assert.Equal() Failure Assert.Equal() Failure
Expected: 3 Expected: 3
Actual: 2 Actual: 2
✔️ Is_Even_Number(i: 2) :white_check_mark: Is_Even_Number(i: 2)
Is_Even_Number(i: 3) :x: Is_Even_Number(i: 3)
Assert.True() Failure Assert.True() Failure
Expected: True Expected: True
Actual: False Actual: False
✔️ Passing_Test :white_check_mark: Passing_Test
✔️ Should be even number(i: 2) :white_check_mark: Should be even number(i: 2)
Should be even number(i: 3) :x: Should be even number(i: 3)
Assert.True() Failure Assert.True() Failure
Expected: True Expected: True
Actual: False Actual: False
✖️ Skipped_Test :no_entry_sign: Skipped_Test
✔️ Timeout_Test :white_check_mark: Timeout_Test
``` ```

File diff suppressed because it is too large Load diff

View file

@ -1,26 +1,26 @@
![Tests failed](https://img.shields.io/badge/tests-1%20passed%2C%204%20failed%2C%201%20skipped-critical) ![Tests failed](https://img.shields.io/badge/tests-1%20passed%2C%204%20failed%2C%201%20skipped-critical)
##  <a id="user-content-r0" href="#r0">fixtures/jest-junit.xml</a> ## :x: <a id="user-content-r0" href="#r0">fixtures/jest-junit.xml</a>
**6** tests were completed in **1s** with **1** passed, **4** failed and **1** skipped. **6** tests were completed in **1s** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[__tests__\main.test.js](#r0s0)|1✔️|3❌||486ms| |[__tests__\main.test.js](#r0s0)|1:white_check_mark:|3:x:||486ms|
|[__tests__\second.test.js](#r0s1)||1❌|1✖|82ms| |[__tests__\second.test.js](#r0s1)||1:x:|1:no_entry_sign:|82ms|
###  <a id="user-content-r0s0" href="#r0s0">__tests__\main.test.js</a> ### :x: <a id="user-content-r0s0" href="#r0s0">__tests__\main.test.js</a>
``` ```
Test 1 Test 1
✔️ Passing test :white_check_mark: Passing test
Test 1 Test 1.1 Test 1 Test 1.1
Failing test :x: Failing test
Error: expect(received).toBeTruthy() Error: expect(received).toBeTruthy()
Exception in target unit :x: Exception in target unit
Error: Some error Error: Some error
Test 2 Test 2
Exception in test :x: Exception in test
Error: Some error Error: Some error
``` ```
###  <a id="user-content-r0s1" href="#r0s1">__tests__\second.test.js</a> ### :x: <a id="user-content-r0s1" href="#r0s1">__tests__\second.test.js</a>
``` ```
Timeout test :x: Timeout test
: Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Error: : Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 1 ms timeout specified by jest.setTimeout.Error:
✖️ Skipped test :no_entry_sign: Skipped test
``` ```

View file

@ -1,432 +1,432 @@
![Tests failed](https://img.shields.io/badge/tests-4207%20passed%2C%202%20failed%2C%2030%20skipped-critical) ![Tests failed](https://img.shields.io/badge/tests-4207%20passed%2C%202%20failed%2C%2030%20skipped-critical)
##  <a id="user-content-r0" href="#r0">fixtures/external/jest/jest-test-results.xml</a> ## :x: <a id="user-content-r0" href="#r0">fixtures/external/jest/jest-test-results.xml</a>
**4239** tests were completed in **166s** with **4207** passed, **2** failed and **30** skipped. **4239** tests were completed in **166s** with **4207** passed, **2** failed and **30** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|e2e/__tests__/asyncAndCallback.test.ts|1✔️|||746ms| |e2e/__tests__/asyncAndCallback.test.ts|1:white_check_mark:|||746ms|
|e2e/__tests__/asyncRegenerator.test.ts|1✔️|||4s| |e2e/__tests__/asyncRegenerator.test.ts|1:white_check_mark:|||4s|
|e2e/__tests__/autoClearMocks.test.ts|2✔️|||2s| |e2e/__tests__/autoClearMocks.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/autoResetMocks.test.ts|2✔️|||2s| |e2e/__tests__/autoResetMocks.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/autoRestoreMocks.test.ts|2✔️|||2s| |e2e/__tests__/autoRestoreMocks.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/babelPluginJestHoist.test.ts|1✔️|||6s| |e2e/__tests__/babelPluginJestHoist.test.ts|1:white_check_mark:|||6s|
|e2e/__tests__/badSourceMap.test.ts|1✔️|||858ms| |e2e/__tests__/badSourceMap.test.ts|1:white_check_mark:|||858ms|
|e2e/__tests__/beforeAllFiltered.ts|1✔️|||958ms| |e2e/__tests__/beforeAllFiltered.ts|1:white_check_mark:|||958ms|
|e2e/__tests__/beforeEachQueue.ts|1✔️||1✖|55ms| |e2e/__tests__/beforeEachQueue.ts|1:white_check_mark:||1:no_entry_sign:|55ms|
|e2e/__tests__/callDoneTwice.test.ts|1✔️|||882ms| |e2e/__tests__/callDoneTwice.test.ts|1:white_check_mark:|||882ms|
|e2e/__tests__/chaiAssertionLibrary.ts|1✔️|||2s| |e2e/__tests__/chaiAssertionLibrary.ts|1:white_check_mark:|||2s|
|e2e/__tests__/circularInequality.test.ts|1✔️|||1s| |e2e/__tests__/circularInequality.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/circusConcurrentEach.test.ts|2✔️|||2s| |e2e/__tests__/circusConcurrentEach.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/circusDeclarationErrors.test.ts|1✔️|||869ms| |e2e/__tests__/circusDeclarationErrors.test.ts|1:white_check_mark:|||869ms|
|e2e/__tests__/clearCache.test.ts|2✔️|||1s| |e2e/__tests__/clearCache.test.ts|2:white_check_mark:|||1s|
|e2e/__tests__/cliHandlesExactFilenames.test.ts|2✔️|||1s| |e2e/__tests__/cliHandlesExactFilenames.test.ts|2:white_check_mark:|||1s|
|e2e/__tests__/compareDomNodes.test.ts|1✔️|||1s| |e2e/__tests__/compareDomNodes.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/config.test.ts|6✔️|||4s| |e2e/__tests__/config.test.ts|6:white_check_mark:|||4s|
|e2e/__tests__/console.test.ts|7✔️|||8s| |e2e/__tests__/console.test.ts|7:white_check_mark:|||8s|
|e2e/__tests__/consoleAfterTeardown.test.ts|1✔️|||1s| |e2e/__tests__/consoleAfterTeardown.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/consoleLogOutputWhenRunInBand.test.ts|1✔️|||793ms| |e2e/__tests__/consoleLogOutputWhenRunInBand.test.ts|1:white_check_mark:|||793ms|
|e2e/__tests__/coverageHandlebars.test.ts|1✔️|||2s| |e2e/__tests__/coverageHandlebars.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/coverageRemapping.test.ts|1✔️|||13s| |e2e/__tests__/coverageRemapping.test.ts|1:white_check_mark:|||13s|
|e2e/__tests__/coverageReport.test.ts|12✔️|||22s| |e2e/__tests__/coverageReport.test.ts|12:white_check_mark:|||22s|
|e2e/__tests__/coverageThreshold.test.ts|5✔️|||5s| |e2e/__tests__/coverageThreshold.test.ts|5:white_check_mark:|||5s|
|e2e/__tests__/coverageTransformInstrumented.test.ts|1✔️|||5s| |e2e/__tests__/coverageTransformInstrumented.test.ts|1:white_check_mark:|||5s|
|e2e/__tests__/coverageWithoutTransform.test.ts|1✔️|||1s| |e2e/__tests__/coverageWithoutTransform.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/createProcessObject.test.ts|1✔️|||908ms| |e2e/__tests__/createProcessObject.test.ts|1:white_check_mark:|||908ms|
|e2e/__tests__/customInlineSnapshotMatchers.test.ts|1✔️|||2s| |e2e/__tests__/customInlineSnapshotMatchers.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/customMatcherStackTrace.test.ts|2✔️|||2s| |e2e/__tests__/customMatcherStackTrace.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/customReporters.test.ts|9✔️|||7s| |e2e/__tests__/customReporters.test.ts|9:white_check_mark:|||7s|
|e2e/__tests__/customResolver.test.ts|1✔️|||826ms| |e2e/__tests__/customResolver.test.ts|1:white_check_mark:|||826ms|
|e2e/__tests__/customTestSequencers.test.ts|3✔️|||3s| |e2e/__tests__/customTestSequencers.test.ts|3:white_check_mark:|||3s|
|e2e/__tests__/debug.test.ts|1✔️|||899ms| |e2e/__tests__/debug.test.ts|1:white_check_mark:|||899ms|
|e2e/__tests__/declarationErrors.test.ts|3✔️|||2s| |e2e/__tests__/declarationErrors.test.ts|3:white_check_mark:|||2s|
|e2e/__tests__/dependencyClash.test.ts|1✔️|||833ms| |e2e/__tests__/dependencyClash.test.ts|1:white_check_mark:|||833ms|
|e2e/__tests__/detectOpenHandles.ts|8✔️|||8s| |e2e/__tests__/detectOpenHandles.ts|8:white_check_mark:|||8s|
|e2e/__tests__/domDiffing.test.ts|1✔️|||1s| |e2e/__tests__/domDiffing.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/doneInHooks.test.ts|1✔️|||855ms| |e2e/__tests__/doneInHooks.test.ts|1:white_check_mark:|||855ms|
|e2e/__tests__/dynamicRequireDependencies.ts|1✔️|||847ms| |e2e/__tests__/dynamicRequireDependencies.ts|1:white_check_mark:|||847ms|
|e2e/__tests__/each.test.ts|7✔️|||5s| |e2e/__tests__/each.test.ts|7:white_check_mark:|||5s|
|e2e/__tests__/emptyDescribeWithHooks.test.ts|4✔️|||3s| |e2e/__tests__/emptyDescribeWithHooks.test.ts|4:white_check_mark:|||3s|
|e2e/__tests__/emptySuiteError.test.ts|1✔️|||885ms| |e2e/__tests__/emptySuiteError.test.ts|1:white_check_mark:|||885ms|
|e2e/__tests__/env.test.ts|6✔️|||5s| |e2e/__tests__/env.test.ts|6:white_check_mark:|||5s|
|e2e/__tests__/environmentAfterTeardown.test.ts|1✔️|||892ms| |e2e/__tests__/environmentAfterTeardown.test.ts|1:white_check_mark:|||892ms|
|e2e/__tests__/errorOnDeprecated.test.ts|1✔️||24✖|56ms| |e2e/__tests__/errorOnDeprecated.test.ts|1:white_check_mark:||24:no_entry_sign:|56ms|
|e2e/__tests__/esmConfigFile.test.ts|3✔️|||526ms| |e2e/__tests__/esmConfigFile.test.ts|3:white_check_mark:|||526ms|
|e2e/__tests__/executeTestsOnceInMpr.ts|1✔️|||976ms| |e2e/__tests__/executeTestsOnceInMpr.ts|1:white_check_mark:|||976ms|
|e2e/__tests__/existentRoots.test.ts|4✔️|||627ms| |e2e/__tests__/existentRoots.test.ts|4:white_check_mark:|||627ms|
|e2e/__tests__/expectAsyncMatcher.test.ts|2✔️|||3s| |e2e/__tests__/expectAsyncMatcher.test.ts|2:white_check_mark:|||3s|
|e2e/__tests__/expectInVm.test.ts|1✔️|||2s| |e2e/__tests__/expectInVm.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/extraGlobals.test.ts|1✔️|||1s| |e2e/__tests__/extraGlobals.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/failureDetailsProperty.test.ts|1✔️|||907ms| |e2e/__tests__/failureDetailsProperty.test.ts|1:white_check_mark:|||907ms|
|e2e/__tests__/failures.test.ts|7✔️|||10s| |e2e/__tests__/failures.test.ts|7:white_check_mark:|||10s|
|e2e/__tests__/fakePromises.test.ts|2✔️|||2s| |e2e/__tests__/fakePromises.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/fatalWorkerError.test.ts|1✔️|||3s| |e2e/__tests__/fatalWorkerError.test.ts|1:white_check_mark:|||3s|
|e2e/__tests__/filter.test.ts|7✔️|||5s| |e2e/__tests__/filter.test.ts|7:white_check_mark:|||5s|
|e2e/__tests__/findRelatedFiles.test.ts|5✔️|||6s| |e2e/__tests__/findRelatedFiles.test.ts|5:white_check_mark:|||6s|
|e2e/__tests__/focusedTests.test.ts|1✔️|||888ms| |e2e/__tests__/focusedTests.test.ts|1:white_check_mark:|||888ms|
|e2e/__tests__/forceExit.test.ts|1✔️|||2s| |e2e/__tests__/forceExit.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/generatorMock.test.ts|1✔️|||1s| |e2e/__tests__/generatorMock.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/global-mutation.test.ts|1✔️|||40ms| |e2e/__tests__/global-mutation.test.ts|1:white_check_mark:|||40ms|
|e2e/__tests__/global.test.ts|1✔️|||31ms| |e2e/__tests__/global.test.ts|1:white_check_mark:|||31ms|
|e2e/__tests__/globals.test.ts|10✔️|||8s| |e2e/__tests__/globals.test.ts|10:white_check_mark:|||8s|
|e2e/__tests__/globalSetup.test.ts|10✔️|||14s| |e2e/__tests__/globalSetup.test.ts|10:white_check_mark:|||14s|
|e2e/__tests__/globalTeardown.test.ts|7✔️|||12s| |e2e/__tests__/globalTeardown.test.ts|7:white_check_mark:|||12s|
|e2e/__tests__/hasteMapMockChanged.test.ts|1✔️|||379ms| |e2e/__tests__/hasteMapMockChanged.test.ts|1:white_check_mark:|||379ms|
|e2e/__tests__/hasteMapSha1.test.ts|1✔️|||298ms| |e2e/__tests__/hasteMapSha1.test.ts|1:white_check_mark:|||298ms|
|e2e/__tests__/hasteMapSize.test.ts|2✔️|||397ms| |e2e/__tests__/hasteMapSize.test.ts|2:white_check_mark:|||397ms|
|e2e/__tests__/importedGlobals.test.ts|1✔️|||1s| |e2e/__tests__/importedGlobals.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/injectGlobals.test.ts|2✔️|||2s| |e2e/__tests__/injectGlobals.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/jasmineAsync.test.ts|15✔️|||28s| |e2e/__tests__/jasmineAsync.test.ts|15:white_check_mark:|||28s|
|e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts|1✔️||1✖|72ms| |e2e/__tests__/jasmineAsyncWithPendingDuringTest.ts|1:white_check_mark:||1:no_entry_sign:|72ms|
|e2e/__tests__/jest.config.js.test.ts|3✔️|||2s| |e2e/__tests__/jest.config.js.test.ts|3:white_check_mark:|||2s|
|e2e/__tests__/jest.config.ts.test.ts|5✔️|||14s| |e2e/__tests__/jest.config.ts.test.ts|5:white_check_mark:|||14s|
|[e2e/__tests__/jestChangedFiles.test.ts](#r0s75)|9✔️|1❌||9s| |[e2e/__tests__/jestChangedFiles.test.ts](#r0s75)|9:white_check_mark:|1:x:||9s|
|e2e/__tests__/jestEnvironmentJsdom.test.ts|1✔️|||2s| |e2e/__tests__/jestEnvironmentJsdom.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/jestRequireActual.test.ts|1✔️|||2s| |e2e/__tests__/jestRequireActual.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/jestRequireMock.test.ts|1✔️|||2s| |e2e/__tests__/jestRequireMock.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/json.test.ts|2✔️|||29ms| |e2e/__tests__/json.test.ts|2:white_check_mark:|||29ms|
|e2e/__tests__/jsonReporter.test.ts|2✔️|||2s| |e2e/__tests__/jsonReporter.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/lifecycles.ts|1✔️|||861ms| |e2e/__tests__/lifecycles.ts|1:white_check_mark:|||861ms|
|e2e/__tests__/listTests.test.ts|2✔️|||945ms| |e2e/__tests__/listTests.test.ts|2:white_check_mark:|||945ms|
|e2e/__tests__/locationInResults.test.ts|2✔️|||2s| |e2e/__tests__/locationInResults.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/logHeapUsage.test.ts|1✔️|||884ms| |e2e/__tests__/logHeapUsage.test.ts|1:white_check_mark:|||884ms|
|e2e/__tests__/mockNames.test.ts|8✔️|||7s| |e2e/__tests__/mockNames.test.ts|8:white_check_mark:|||7s|
|e2e/__tests__/modernFakeTimers.test.ts|2✔️|||2s| |e2e/__tests__/modernFakeTimers.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/moduleNameMapper.test.ts|5✔️|||5s| |e2e/__tests__/moduleNameMapper.test.ts|5:white_check_mark:|||5s|
|e2e/__tests__/moduleParentNullInTest.ts|1✔️|||886ms| |e2e/__tests__/moduleParentNullInTest.ts|1:white_check_mark:|||886ms|
|e2e/__tests__/multiProjectRunner.test.ts|14✔️|||16s| |e2e/__tests__/multiProjectRunner.test.ts|14:white_check_mark:|||16s|
|e2e/__tests__/nativeAsyncMock.test.ts|1✔️|||55ms| |e2e/__tests__/nativeAsyncMock.test.ts|1:white_check_mark:|||55ms|
|e2e/__tests__/nativeEsm.test.ts|2✔️||1✖|905ms| |e2e/__tests__/nativeEsm.test.ts|2:white_check_mark:||1:no_entry_sign:|905ms|
|e2e/__tests__/nativeEsmTypescript.test.ts|1✔️|||956ms| |e2e/__tests__/nativeEsmTypescript.test.ts|1:white_check_mark:|||956ms|
|e2e/__tests__/nestedEventLoop.test.ts|1✔️|||1s| |e2e/__tests__/nestedEventLoop.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/nestedTestDefinitions.test.ts|4✔️|||5s| |e2e/__tests__/nestedTestDefinitions.test.ts|4:white_check_mark:|||5s|
|e2e/__tests__/nodePath.test.ts|1✔️|||866ms| |e2e/__tests__/nodePath.test.ts|1:white_check_mark:|||866ms|
|e2e/__tests__/noTestFound.test.ts|2✔️|||1s| |e2e/__tests__/noTestFound.test.ts|2:white_check_mark:|||1s|
|e2e/__tests__/noTestsFound.test.ts|5✔️|||3s| |e2e/__tests__/noTestsFound.test.ts|5:white_check_mark:|||3s|
|[e2e/__tests__/onlyChanged.test.ts](#r0s98)|8✔️|1❌||22s| |[e2e/__tests__/onlyChanged.test.ts](#r0s98)|8:white_check_mark:|1:x:||22s|
|e2e/__tests__/onlyFailuresNonWatch.test.ts|1✔️|||3s| |e2e/__tests__/onlyFailuresNonWatch.test.ts|1:white_check_mark:|||3s|
|e2e/__tests__/overrideGlobals.test.ts|2✔️|||2s| |e2e/__tests__/overrideGlobals.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/pnp.test.ts|1✔️|||3s| |e2e/__tests__/pnp.test.ts|1:white_check_mark:|||3s|
|e2e/__tests__/presets.test.ts|2✔️|||2s| |e2e/__tests__/presets.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/processExit.test.ts|1✔️|||1s| |e2e/__tests__/processExit.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/promiseReject.test.ts|1✔️|||967ms| |e2e/__tests__/promiseReject.test.ts|1:white_check_mark:|||967ms|
|e2e/__tests__/regexCharInPath.test.ts|1✔️|||962ms| |e2e/__tests__/regexCharInPath.test.ts|1:white_check_mark:|||962ms|
|e2e/__tests__/requireAfterTeardown.test.ts|1✔️|||921ms| |e2e/__tests__/requireAfterTeardown.test.ts|1:white_check_mark:|||921ms|
|e2e/__tests__/requireMain.test.ts|1✔️|||1s| |e2e/__tests__/requireMain.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/requireMainAfterCreateRequire.test.ts|1✔️|||966ms| |e2e/__tests__/requireMainAfterCreateRequire.test.ts|1:white_check_mark:|||966ms|
|e2e/__tests__/requireMainIsolateModules.test.ts|1✔️|||976ms| |e2e/__tests__/requireMainIsolateModules.test.ts|1:white_check_mark:|||976ms|
|e2e/__tests__/requireMainResetModules.test.ts|2✔️|||2s| |e2e/__tests__/requireMainResetModules.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/requireV8Module.test.ts|1✔️|||30ms| |e2e/__tests__/requireV8Module.test.ts|1:white_check_mark:|||30ms|
|e2e/__tests__/resetModules.test.ts|1✔️|||926ms| |e2e/__tests__/resetModules.test.ts|1:white_check_mark:|||926ms|
|e2e/__tests__/resolve.test.ts|1✔️|||2s| |e2e/__tests__/resolve.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/resolveGetPaths.test.ts|1✔️|||1s| |e2e/__tests__/resolveGetPaths.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/resolveNodeModule.test.ts|1✔️|||943ms| |e2e/__tests__/resolveNodeModule.test.ts|1:white_check_mark:|||943ms|
|e2e/__tests__/resolveNoFileExtensions.test.ts|2✔️|||1s| |e2e/__tests__/resolveNoFileExtensions.test.ts|2:white_check_mark:|||1s|
|e2e/__tests__/resolveWithPaths.test.ts|1✔️|||1s| |e2e/__tests__/resolveWithPaths.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/runProgrammatically.test.ts|2✔️|||575ms| |e2e/__tests__/runProgrammatically.test.ts|2:white_check_mark:|||575ms|
|e2e/__tests__/runTestsByPath.test.ts|1✔️|||2s| |e2e/__tests__/runTestsByPath.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/runtimeInternalModuleRegistry.test.ts|1✔️|||1s| |e2e/__tests__/runtimeInternalModuleRegistry.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/selectProjects.test.ts|18✔️|||5s| |e2e/__tests__/selectProjects.test.ts|18:white_check_mark:|||5s|
|e2e/__tests__/setImmediate.test.ts|1✔️|||904ms| |e2e/__tests__/setImmediate.test.ts|1:white_check_mark:|||904ms|
|e2e/__tests__/setupFilesAfterEnvConfig.test.ts|2✔️|||2s| |e2e/__tests__/setupFilesAfterEnvConfig.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/showConfig.test.ts|1✔️|||195ms| |e2e/__tests__/showConfig.test.ts|1:white_check_mark:|||195ms|
|e2e/__tests__/skipBeforeAfterAll.test.ts|1✔️|||1s| |e2e/__tests__/skipBeforeAfterAll.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/snapshot-unknown.test.ts|1✔️|||838ms| |e2e/__tests__/snapshot-unknown.test.ts|1:white_check_mark:|||838ms|
|e2e/__tests__/snapshot.test.ts|9✔️|||14s| |e2e/__tests__/snapshot.test.ts|9:white_check_mark:|||14s|
|e2e/__tests__/snapshotMockFs.test.ts|1✔️|||883ms| |e2e/__tests__/snapshotMockFs.test.ts|1:white_check_mark:|||883ms|
|e2e/__tests__/snapshotResolver.test.ts|1✔️|||823ms| |e2e/__tests__/snapshotResolver.test.ts|1:white_check_mark:|||823ms|
|e2e/__tests__/snapshotSerializers.test.ts|2✔️|||2s| |e2e/__tests__/snapshotSerializers.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/stackTrace.test.ts|7✔️|||5s| |e2e/__tests__/stackTrace.test.ts|7:white_check_mark:|||5s|
|e2e/__tests__/stackTraceNoCaptureStackTrace.test.ts|1✔️|||899ms| |e2e/__tests__/stackTraceNoCaptureStackTrace.test.ts|1:white_check_mark:|||899ms|
|e2e/__tests__/stackTraceSourceMaps.test.ts|1✔️|||2s| |e2e/__tests__/stackTraceSourceMaps.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/stackTraceSourceMapsWithCoverage.test.ts|1✔️|||2s| |e2e/__tests__/stackTraceSourceMapsWithCoverage.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/supportsDashedArgs.ts|2✔️|||968ms| |e2e/__tests__/supportsDashedArgs.ts|2:white_check_mark:|||968ms|
|e2e/__tests__/symbol.test.ts|1✔️|||49ms| |e2e/__tests__/symbol.test.ts|1:white_check_mark:|||49ms|
|e2e/__tests__/testEnvironment.test.ts|1✔️|||2s| |e2e/__tests__/testEnvironment.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/testEnvironmentAsync.test.ts|1✔️|||1s| |e2e/__tests__/testEnvironmentAsync.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/testEnvironmentCircus.test.ts|1✔️|||2s| |e2e/__tests__/testEnvironmentCircus.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/testEnvironmentCircusAsync.test.ts|1✔️|||2s| |e2e/__tests__/testEnvironmentCircusAsync.test.ts|1:white_check_mark:|||2s|
|e2e/__tests__/testFailureExitCode.test.ts|2✔️|||4s| |e2e/__tests__/testFailureExitCode.test.ts|2:white_check_mark:|||4s|
|e2e/__tests__/testInRoot.test.ts|1✔️|||1s| |e2e/__tests__/testInRoot.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/testNamePattern.test.ts|1✔️|||859ms| |e2e/__tests__/testNamePattern.test.ts|1:white_check_mark:|||859ms|
|e2e/__tests__/testNamePatternSkipped.test.ts|1✔️|||991ms| |e2e/__tests__/testNamePatternSkipped.test.ts|1:white_check_mark:|||991ms|
|e2e/__tests__/testPathPatternReporterMessage.test.ts|1✔️|||3s| |e2e/__tests__/testPathPatternReporterMessage.test.ts|1:white_check_mark:|||3s|
|e2e/__tests__/testResultsProcessor.test.ts|1✔️|||910ms| |e2e/__tests__/testResultsProcessor.test.ts|1:white_check_mark:|||910ms|
|e2e/__tests__/testRetries.test.ts|4✔️|||3s| |e2e/__tests__/testRetries.test.ts|4:white_check_mark:|||3s|
|e2e/__tests__/testTodo.test.ts|5✔️|||4s| |e2e/__tests__/testTodo.test.ts|5:white_check_mark:|||4s|
|e2e/__tests__/timeouts.test.ts|4✔️|||4s| |e2e/__tests__/timeouts.test.ts|4:white_check_mark:|||4s|
|e2e/__tests__/timeoutsLegacy.test.ts|1✔️||3✖|71ms| |e2e/__tests__/timeoutsLegacy.test.ts|1:white_check_mark:||3:no_entry_sign:|71ms|
|e2e/__tests__/timerResetMocks.test.ts|2✔️|||2s| |e2e/__tests__/timerResetMocks.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/timerUseRealTimers.test.ts|1✔️|||1s| |e2e/__tests__/timerUseRealTimers.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/toMatchInlineSnapshot.test.ts|12✔️|||24s| |e2e/__tests__/toMatchInlineSnapshot.test.ts|12:white_check_mark:|||24s|
|e2e/__tests__/toMatchInlineSnapshotWithRetries.test.ts|3✔️|||5s| |e2e/__tests__/toMatchInlineSnapshotWithRetries.test.ts|3:white_check_mark:|||5s|
|e2e/__tests__/toMatchSnapshot.test.ts|9✔️|||17s| |e2e/__tests__/toMatchSnapshot.test.ts|9:white_check_mark:|||17s|
|e2e/__tests__/toMatchSnapshotWithRetries.test.ts|2✔️|||4s| |e2e/__tests__/toMatchSnapshotWithRetries.test.ts|2:white_check_mark:|||4s|
|e2e/__tests__/toMatchSnapshotWithStringSerializer.test.ts|3✔️|||4s| |e2e/__tests__/toMatchSnapshotWithStringSerializer.test.ts|3:white_check_mark:|||4s|
|e2e/__tests__/toThrowErrorMatchingInlineSnapshot.test.ts|4✔️|||4s| |e2e/__tests__/toThrowErrorMatchingInlineSnapshot.test.ts|4:white_check_mark:|||4s|
|e2e/__tests__/toThrowErrorMatchingSnapshot.test.ts|5✔️|||4s| |e2e/__tests__/toThrowErrorMatchingSnapshot.test.ts|5:white_check_mark:|||4s|
|e2e/__tests__/transform.test.ts|16✔️|||27s| |e2e/__tests__/transform.test.ts|16:white_check_mark:|||27s|
|e2e/__tests__/transformLinkedModules.test.ts|1✔️|||783ms| |e2e/__tests__/transformLinkedModules.test.ts|1:white_check_mark:|||783ms|
|e2e/__tests__/typescriptCoverage.test.ts|1✔️|||3s| |e2e/__tests__/typescriptCoverage.test.ts|1:white_check_mark:|||3s|
|e2e/__tests__/unexpectedToken.test.ts|3✔️|||3s| |e2e/__tests__/unexpectedToken.test.ts|3:white_check_mark:|||3s|
|e2e/__tests__/useStderr.test.ts|1✔️|||1s| |e2e/__tests__/useStderr.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/v8Coverage.test.ts|2✔️|||2s| |e2e/__tests__/v8Coverage.test.ts|2:white_check_mark:|||2s|
|e2e/__tests__/verbose.test.ts|1✔️|||683ms| |e2e/__tests__/verbose.test.ts|1:white_check_mark:|||683ms|
|e2e/__tests__/version.test.ts|1✔️|||138ms| |e2e/__tests__/version.test.ts|1:white_check_mark:|||138ms|
|e2e/__tests__/watchModeNoAccess.test.ts|1✔️|||4s| |e2e/__tests__/watchModeNoAccess.test.ts|1:white_check_mark:|||4s|
|e2e/__tests__/watchModeOnlyFailed.test.ts|1✔️|||1s| |e2e/__tests__/watchModeOnlyFailed.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/watchModePatterns.test.ts|2✔️|||4s| |e2e/__tests__/watchModePatterns.test.ts|2:white_check_mark:|||4s|
|e2e/__tests__/watchModeUpdateSnapshot.test.ts|1✔️|||1s| |e2e/__tests__/watchModeUpdateSnapshot.test.ts|1:white_check_mark:|||1s|
|e2e/__tests__/workerForceExit.test.ts|2✔️|||5s| |e2e/__tests__/workerForceExit.test.ts|2:white_check_mark:|||5s|
|e2e/__tests__/wrongEnv.test.ts|5✔️|||4s| |e2e/__tests__/wrongEnv.test.ts|5:white_check_mark:|||4s|
|e2e/custom-test-sequencer/a.test.js|1✔️|||29ms| |e2e/custom-test-sequencer/a.test.js|1:white_check_mark:|||29ms|
|e2e/custom-test-sequencer/b.test.js|1✔️|||21ms| |e2e/custom-test-sequencer/b.test.js|1:white_check_mark:|||21ms|
|e2e/custom-test-sequencer/c.test.js|1✔️|||42ms| |e2e/custom-test-sequencer/c.test.js|1:white_check_mark:|||42ms|
|e2e/custom-test-sequencer/d.test.js|1✔️|||21ms| |e2e/custom-test-sequencer/d.test.js|1:white_check_mark:|||21ms|
|e2e/custom-test-sequencer/e.test.js|1✔️|||27ms| |e2e/custom-test-sequencer/e.test.js|1:white_check_mark:|||27ms|
|e2e/test-in-root/spec.js|1✔️|||19ms| |e2e/test-in-root/spec.js|1:white_check_mark:|||19ms|
|e2e/test-in-root/test.js|1✔️|||37ms| |e2e/test-in-root/test.js|1:white_check_mark:|||37ms|
|e2e/timer-reset-mocks/after-reset-all-mocks/timerAndMock.test.js|2✔️|||30ms| |e2e/timer-reset-mocks/after-reset-all-mocks/timerAndMock.test.js|2:white_check_mark:|||30ms|
|e2e/timer-reset-mocks/with-reset-mocks/timerWithMock.test.js|1✔️|||34ms| |e2e/timer-reset-mocks/with-reset-mocks/timerWithMock.test.js|1:white_check_mark:|||34ms|
|e2e/v8-coverage/empty-sourcemap/test.ts|1✔️|||31ms| |e2e/v8-coverage/empty-sourcemap/test.ts|1:white_check_mark:|||31ms|
|examples/angular/app.component.spec.ts|3✔️|||654ms| |examples/angular/app.component.spec.ts|3:white_check_mark:|||654ms|
|examples/angular/shared/data.service.spec.ts|2✔️|||431ms| |examples/angular/shared/data.service.spec.ts|2:white_check_mark:|||431ms|
|examples/angular/shared/sub.service.spec.ts|1✔️|||109ms| |examples/angular/shared/sub.service.spec.ts|1:white_check_mark:|||109ms|
|examples/async/__tests__/user.test.js|8✔️|||96ms| |examples/async/__tests__/user.test.js|8:white_check_mark:|||96ms|
|examples/automatic-mocks/__tests__/automock.test.js|2✔️|||74ms| |examples/automatic-mocks/__tests__/automock.test.js|2:white_check_mark:|||74ms|
|examples/automatic-mocks/__tests__/createMockFromModule.test.js|2✔️|||115ms| |examples/automatic-mocks/__tests__/createMockFromModule.test.js|2:white_check_mark:|||115ms|
|examples/automatic-mocks/__tests__/disableAutomocking.test.js|1✔️|||24ms| |examples/automatic-mocks/__tests__/disableAutomocking.test.js|1:white_check_mark:|||24ms|
|examples/enzyme/__tests__/CheckboxWithLabel-test.js|1✔️|||434ms| |examples/enzyme/__tests__/CheckboxWithLabel-test.js|1:white_check_mark:|||434ms|
|examples/getting-started/sum.test.js|1✔️|||78ms| |examples/getting-started/sum.test.js|1:white_check_mark:|||78ms|
|examples/jquery/__tests__/display_user.test.js|1✔️|||196ms| |examples/jquery/__tests__/display_user.test.js|1:white_check_mark:|||196ms|
|examples/jquery/__tests__/fetch_current_user.test.js|2✔️|||196ms| |examples/jquery/__tests__/fetch_current_user.test.js|2:white_check_mark:|||196ms|
|examples/manual-mocks/__tests__/file_summarizer.test.js|1✔️|||87ms| |examples/manual-mocks/__tests__/file_summarizer.test.js|1:white_check_mark:|||87ms|
|examples/manual-mocks/__tests__/lodashMocking.test.js|1✔️|||109ms| |examples/manual-mocks/__tests__/lodashMocking.test.js|1:white_check_mark:|||109ms|
|examples/manual-mocks/__tests__/user.test.js|1✔️|||41ms| |examples/manual-mocks/__tests__/user.test.js|1:white_check_mark:|||41ms|
|examples/manual-mocks/__tests__/userMocked.test.js|1✔️|||105ms| |examples/manual-mocks/__tests__/userMocked.test.js|1:white_check_mark:|||105ms|
|examples/module-mock/__tests__/full_mock.js|1✔️|||60ms| |examples/module-mock/__tests__/full_mock.js|1:white_check_mark:|||60ms|
|examples/module-mock/__tests__/mock_per_test.js|2✔️|||116ms| |examples/module-mock/__tests__/mock_per_test.js|2:white_check_mark:|||116ms|
|examples/module-mock/__tests__/partial_mock.js|1✔️|||215ms| |examples/module-mock/__tests__/partial_mock.js|1:white_check_mark:|||215ms|
|examples/mongodb/__test__/db.test.js|1✔️|||236ms| |examples/mongodb/__test__/db.test.js|1:white_check_mark:|||236ms|
|examples/react-native/__tests__/intro.test.js|4✔️|||9s| |examples/react-native/__tests__/intro.test.js|4:white_check_mark:|||9s|
|examples/react-testing-library/__tests__/CheckboxWithLabel-test.js|1✔️|||469ms| |examples/react-testing-library/__tests__/CheckboxWithLabel-test.js|1:white_check_mark:|||469ms|
|examples/react/__tests__/CheckboxWithLabel-test.js|1✔️|||256ms| |examples/react/__tests__/CheckboxWithLabel-test.js|1:white_check_mark:|||256ms|
|examples/snapshot/__tests__/clock.react.test.js|1✔️|||62ms| |examples/snapshot/__tests__/clock.react.test.js|1:white_check_mark:|||62ms|
|examples/snapshot/__tests__/link.react.test.js|4✔️|||181ms| |examples/snapshot/__tests__/link.react.test.js|4:white_check_mark:|||181ms|
|examples/timer/__tests__/infinite_timer_game.test.js|1✔️|||94ms| |examples/timer/__tests__/infinite_timer_game.test.js|1:white_check_mark:|||94ms|
|examples/timer/__tests__/timer_game.test.js|3✔️|||74ms| |examples/timer/__tests__/timer_game.test.js|3:white_check_mark:|||74ms|
|examples/typescript/__tests__/calc.test.ts|6✔️|||276ms| |examples/typescript/__tests__/calc.test.ts|6:white_check_mark:|||276ms|
|examples/typescript/__tests__/CheckboxWithLabel-test.tsx|1✔️|||227ms| |examples/typescript/__tests__/CheckboxWithLabel-test.tsx|1:white_check_mark:|||227ms|
|examples/typescript/__tests__/sub-test.ts|1✔️|||43ms| |examples/typescript/__tests__/sub-test.ts|1:white_check_mark:|||43ms|
|examples/typescript/__tests__/sum-test.ts|2✔️|||69ms| |examples/typescript/__tests__/sum-test.ts|2:white_check_mark:|||69ms|
|examples/typescript/__tests__/sum.test.js|2✔️|||100ms| |examples/typescript/__tests__/sum.test.js|2:white_check_mark:|||100ms|
|packages/babel-jest/src/__tests__/index.ts|6✔️|||371ms| |packages/babel-jest/src/__tests__/index.ts|6:white_check_mark:|||371ms|
|packages/babel-plugin-jest-hoist/src/__tests__/hoistPlugin.test.ts|4✔️|||347ms| |packages/babel-plugin-jest-hoist/src/__tests__/hoistPlugin.test.ts|4:white_check_mark:|||347ms|
|packages/diff-sequences/src/__tests__/index.property.test.ts|7✔️|||357ms| |packages/diff-sequences/src/__tests__/index.property.test.ts|7:white_check_mark:|||357ms|
|packages/diff-sequences/src/__tests__/index.test.ts|48✔️|||195ms| |packages/diff-sequences/src/__tests__/index.test.ts|48:white_check_mark:|||195ms|
|packages/expect/src/__tests__/assertionCounts.test.ts|6✔️|||60ms| |packages/expect/src/__tests__/assertionCounts.test.ts|6:white_check_mark:|||60ms|
|packages/expect/src/__tests__/asymmetricMatchers.test.ts|38✔️|||207ms| |packages/expect/src/__tests__/asymmetricMatchers.test.ts|38:white_check_mark:|||207ms|
|packages/expect/src/__tests__/extend.test.ts|10✔️|||99ms| |packages/expect/src/__tests__/extend.test.ts|10:white_check_mark:|||99ms|
|packages/expect/src/__tests__/isError.test.ts|4✔️|||43ms| |packages/expect/src/__tests__/isError.test.ts|4:white_check_mark:|||43ms|
|packages/expect/src/__tests__/matchers-toContain.property.test.ts|2✔️|||236ms| |packages/expect/src/__tests__/matchers-toContain.property.test.ts|2:white_check_mark:|||236ms|
|packages/expect/src/__tests__/matchers-toContainEqual.property.test.ts|2✔️|||287ms| |packages/expect/src/__tests__/matchers-toContainEqual.property.test.ts|2:white_check_mark:|||287ms|
|packages/expect/src/__tests__/matchers-toEqual.property.test.ts|2✔️|||1s| |packages/expect/src/__tests__/matchers-toEqual.property.test.ts|2:white_check_mark:|||1s|
|packages/expect/src/__tests__/matchers-toStrictEqual.property.test.ts|3✔️|||394ms| |packages/expect/src/__tests__/matchers-toStrictEqual.property.test.ts|3:white_check_mark:|||394ms|
|packages/expect/src/__tests__/matchers.test.js|592✔️|||862ms| |packages/expect/src/__tests__/matchers.test.js|592:white_check_mark:|||862ms|
|packages/expect/src/__tests__/spyMatchers.test.ts|248✔️|||395ms| |packages/expect/src/__tests__/spyMatchers.test.ts|248:white_check_mark:|||395ms|
|packages/expect/src/__tests__/stacktrace.test.ts|3✔️|||69ms| |packages/expect/src/__tests__/stacktrace.test.ts|3:white_check_mark:|||69ms|
|packages/expect/src/__tests__/symbolInObjects.test.ts|3✔️|||33ms| |packages/expect/src/__tests__/symbolInObjects.test.ts|3:white_check_mark:|||33ms|
|packages/expect/src/__tests__/toEqual-dom.test.ts|12✔️|||99ms| |packages/expect/src/__tests__/toEqual-dom.test.ts|12:white_check_mark:|||99ms|
|packages/expect/src/__tests__/toThrowMatchers.test.ts|98✔️|||257ms| |packages/expect/src/__tests__/toThrowMatchers.test.ts|98:white_check_mark:|||257ms|
|packages/expect/src/__tests__/utils.test.ts|41✔️|||147ms| |packages/expect/src/__tests__/utils.test.ts|41:white_check_mark:|||147ms|
|packages/jest-circus/src/__tests__/afterAll.test.ts|6✔️|||6s| |packages/jest-circus/src/__tests__/afterAll.test.ts|6:white_check_mark:|||6s|
|packages/jest-circus/src/__tests__/baseTest.test.ts|2✔️|||3s| |packages/jest-circus/src/__tests__/baseTest.test.ts|2:white_check_mark:|||3s|
|packages/jest-circus/src/__tests__/circusItTestError.test.ts|8✔️|||300ms| |packages/jest-circus/src/__tests__/circusItTestError.test.ts|8:white_check_mark:|||300ms|
|packages/jest-circus/src/__tests__/circusItTodoTestError.test.ts|3✔️|||81ms| |packages/jest-circus/src/__tests__/circusItTodoTestError.test.ts|3:white_check_mark:|||81ms|
|packages/jest-circus/src/__tests__/hooks.test.ts|3✔️|||4s| |packages/jest-circus/src/__tests__/hooks.test.ts|3:white_check_mark:|||4s|
|packages/jest-circus/src/__tests__/hooksError.test.ts|32✔️|||127ms| |packages/jest-circus/src/__tests__/hooksError.test.ts|32:white_check_mark:|||127ms|
|packages/jest-cli/src/__tests__/cli/args.test.ts|17✔️|||345ms| |packages/jest-cli/src/__tests__/cli/args.test.ts|17:white_check_mark:|||345ms|
|packages/jest-cli/src/init/__tests__/init.test.js|24✔️|||119ms| |packages/jest-cli/src/init/__tests__/init.test.js|24:white_check_mark:|||119ms|
|packages/jest-cli/src/init/__tests__/modifyPackageJson.test.ts|4✔️|||30ms| |packages/jest-cli/src/init/__tests__/modifyPackageJson.test.ts|4:white_check_mark:|||30ms|
|packages/jest-config/src/__tests__/Defaults.test.ts|1✔️|||672ms| |packages/jest-config/src/__tests__/Defaults.test.ts|1:white_check_mark:|||672ms|
|packages/jest-config/src/__tests__/getMaxWorkers.test.ts|7✔️|||67ms| |packages/jest-config/src/__tests__/getMaxWorkers.test.ts|7:white_check_mark:|||67ms|
|packages/jest-config/src/__tests__/normalize.test.js|118✔️|||798ms| |packages/jest-config/src/__tests__/normalize.test.js|118:white_check_mark:|||798ms|
|packages/jest-config/src/__tests__/readConfig.test.ts|1✔️|||76ms| |packages/jest-config/src/__tests__/readConfig.test.ts|1:white_check_mark:|||76ms|
|packages/jest-config/src/__tests__/readConfigs.test.ts|3✔️|||135ms| |packages/jest-config/src/__tests__/readConfigs.test.ts|3:white_check_mark:|||135ms|
|packages/jest-config/src/__tests__/resolveConfigPath.test.ts|10✔️|||183ms| |packages/jest-config/src/__tests__/resolveConfigPath.test.ts|10:white_check_mark:|||183ms|
|packages/jest-config/src/__tests__/setFromArgv.test.ts|4✔️|||53ms| |packages/jest-config/src/__tests__/setFromArgv.test.ts|4:white_check_mark:|||53ms|
|packages/jest-config/src/__tests__/validatePattern.test.ts|4✔️|||52ms| |packages/jest-config/src/__tests__/validatePattern.test.ts|4:white_check_mark:|||52ms|
|packages/jest-console/src/__tests__/bufferedConsole.test.ts|20✔️|||171ms| |packages/jest-console/src/__tests__/bufferedConsole.test.ts|20:white_check_mark:|||171ms|
|packages/jest-console/src/__tests__/CustomConsole.test.ts|23✔️|||115ms| |packages/jest-console/src/__tests__/CustomConsole.test.ts|23:white_check_mark:|||115ms|
|packages/jest-console/src/__tests__/getConsoleOutput.test.ts|12✔️|||56ms| |packages/jest-console/src/__tests__/getConsoleOutput.test.ts|12:white_check_mark:|||56ms|
|packages/jest-core/src/__tests__/FailedTestsCache.test.js|1✔️|||25ms| |packages/jest-core/src/__tests__/FailedTestsCache.test.js|1:white_check_mark:|||25ms|
|packages/jest-core/src/__tests__/getNoTestsFoundMessage.test.js|5✔️|||61ms| |packages/jest-core/src/__tests__/getNoTestsFoundMessage.test.js|5:white_check_mark:|||61ms|
|packages/jest-core/src/__tests__/globals.test.ts|1✔️|||22ms| |packages/jest-core/src/__tests__/globals.test.ts|1:white_check_mark:|||22ms|
|packages/jest-core/src/__tests__/runJest.test.js|2✔️|||261ms| |packages/jest-core/src/__tests__/runJest.test.js|2:white_check_mark:|||261ms|
|packages/jest-core/src/__tests__/SearchSource.test.ts|27✔️|||3s| |packages/jest-core/src/__tests__/SearchSource.test.ts|27:white_check_mark:|||3s|
|packages/jest-core/src/__tests__/SnapshotInteractiveMode.test.js|13✔️|||89ms| |packages/jest-core/src/__tests__/SnapshotInteractiveMode.test.js|13:white_check_mark:|||89ms|
|packages/jest-core/src/__tests__/TestScheduler.test.js|8✔️|||520ms| |packages/jest-core/src/__tests__/TestScheduler.test.js|8:white_check_mark:|||520ms|
|packages/jest-core/src/__tests__/testSchedulerHelper.test.js|12✔️|||48ms| |packages/jest-core/src/__tests__/testSchedulerHelper.test.js|12:white_check_mark:|||48ms|
|packages/jest-core/src/__tests__/watch.test.js|80✔️|||7s| |packages/jest-core/src/__tests__/watch.test.js|80:white_check_mark:|||7s|
|packages/jest-core/src/__tests__/watchFileChanges.test.ts|1✔️|||2s| |packages/jest-core/src/__tests__/watchFileChanges.test.ts|1:white_check_mark:|||2s|
|packages/jest-core/src/__tests__/watchFilenamePatternMode.test.js|2✔️|||165ms| |packages/jest-core/src/__tests__/watchFilenamePatternMode.test.js|2:white_check_mark:|||165ms|
|packages/jest-core/src/__tests__/watchTestNamePatternMode.test.js|1✔️|||246ms| |packages/jest-core/src/__tests__/watchTestNamePatternMode.test.js|1:white_check_mark:|||246ms|
|packages/jest-core/src/lib/__tests__/isValidPath.test.ts|3✔️|||166ms| |packages/jest-core/src/lib/__tests__/isValidPath.test.ts|3:white_check_mark:|||166ms|
|packages/jest-core/src/lib/__tests__/logDebugMessages.test.ts|3✔️|||48ms| |packages/jest-core/src/lib/__tests__/logDebugMessages.test.ts|3:white_check_mark:|||48ms|
|packages/jest-create-cache-key-function/src/__tests__/index.test.ts|1✔️|||75ms| |packages/jest-create-cache-key-function/src/__tests__/index.test.ts|1:white_check_mark:|||75ms|
|packages/jest-diff/src/__tests__/diff.test.ts|107✔️|||625ms| |packages/jest-diff/src/__tests__/diff.test.ts|107:white_check_mark:|||625ms|
|packages/jest-diff/src/__tests__/diffStringsRaw.test.ts|2✔️|||55ms| |packages/jest-diff/src/__tests__/diffStringsRaw.test.ts|2:white_check_mark:|||55ms|
|packages/jest-diff/src/__tests__/getAlignedDiffs.test.ts|24✔️|||72ms| |packages/jest-diff/src/__tests__/getAlignedDiffs.test.ts|24:white_check_mark:|||72ms|
|packages/jest-diff/src/__tests__/joinAlignedDiffs.test.ts|6✔️|||44ms| |packages/jest-diff/src/__tests__/joinAlignedDiffs.test.ts|6:white_check_mark:|||44ms|
|packages/jest-docblock/src/__tests__/index.test.ts|36✔️|||177ms| |packages/jest-docblock/src/__tests__/index.test.ts|36:white_check_mark:|||177ms|
|packages/jest-each/src/__tests__/array.test.ts|159✔️|||192ms| |packages/jest-each/src/__tests__/array.test.ts|159:white_check_mark:|||192ms|
|packages/jest-each/src/__tests__/index.test.ts|10✔️|||44ms| |packages/jest-each/src/__tests__/index.test.ts|10:white_check_mark:|||44ms|
|packages/jest-each/src/__tests__/template.test.ts|242✔️|||483ms| |packages/jest-each/src/__tests__/template.test.ts|242:white_check_mark:|||483ms|
|packages/jest-environment-jsdom/src/__tests__/jsdom_environment.test.ts|2✔️|||783ms| |packages/jest-environment-jsdom/src/__tests__/jsdom_environment.test.ts|2:white_check_mark:|||783ms|
|packages/jest-environment-node/src/__tests__/node_environment.test.ts|6✔️|||184ms| |packages/jest-environment-node/src/__tests__/node_environment.test.ts|6:white_check_mark:|||184ms|
|packages/jest-fake-timers/src/__tests__/legacyFakeTimers.test.ts|50✔️|||302ms| |packages/jest-fake-timers/src/__tests__/legacyFakeTimers.test.ts|50:white_check_mark:|||302ms|
|packages/jest-fake-timers/src/__tests__/modernFakeTimers.test.ts|40✔️|||317ms| |packages/jest-fake-timers/src/__tests__/modernFakeTimers.test.ts|40:white_check_mark:|||317ms|
|packages/jest-get-type/src/__tests__/getType.test.ts|14✔️|||45ms| |packages/jest-get-type/src/__tests__/getType.test.ts|14:white_check_mark:|||45ms|
|packages/jest-get-type/src/__tests__/isPrimitive.test.ts|18✔️|||36ms| |packages/jest-get-type/src/__tests__/isPrimitive.test.ts|18:white_check_mark:|||36ms|
|packages/jest-globals/src/__tests__/index.ts|1✔️|||533ms| |packages/jest-globals/src/__tests__/index.ts|1:white_check_mark:|||533ms|
|packages/jest-haste-map/src/__tests__/get_mock_name.test.js|1✔️|||22ms| |packages/jest-haste-map/src/__tests__/get_mock_name.test.js|1:white_check_mark:|||22ms|
|packages/jest-haste-map/src/__tests__/includes_dotfiles.test.ts|1✔️|||337ms| |packages/jest-haste-map/src/__tests__/includes_dotfiles.test.ts|1:white_check_mark:|||337ms|
|packages/jest-haste-map/src/__tests__/index.test.js|44✔️|||1s| |packages/jest-haste-map/src/__tests__/index.test.js|44:white_check_mark:|||1s|
|packages/jest-haste-map/src/__tests__/worker.test.js|7✔️|||100ms| |packages/jest-haste-map/src/__tests__/worker.test.js|7:white_check_mark:|||100ms|
|packages/jest-haste-map/src/crawlers/__tests__/node.test.js|10✔️|||170ms| |packages/jest-haste-map/src/crawlers/__tests__/node.test.js|10:white_check_mark:|||170ms|
|packages/jest-haste-map/src/crawlers/__tests__/watchman.test.js|8✔️|||153ms| |packages/jest-haste-map/src/crawlers/__tests__/watchman.test.js|8:white_check_mark:|||153ms|
|packages/jest-haste-map/src/lib/__tests__/dependencyExtractor.test.js|15✔️|||56ms| |packages/jest-haste-map/src/lib/__tests__/dependencyExtractor.test.js|15:white_check_mark:|||56ms|
|packages/jest-haste-map/src/lib/__tests__/fast_path.test.js|5✔️|||29ms| |packages/jest-haste-map/src/lib/__tests__/fast_path.test.js|5:white_check_mark:|||29ms|
|packages/jest-haste-map/src/lib/__tests__/getPlatformExtension.test.js|1✔️|||35ms| |packages/jest-haste-map/src/lib/__tests__/getPlatformExtension.test.js|1:white_check_mark:|||35ms|
|packages/jest-haste-map/src/lib/__tests__/isRegExpSupported.test.js|2✔️|||31ms| |packages/jest-haste-map/src/lib/__tests__/isRegExpSupported.test.js|2:white_check_mark:|||31ms|
|packages/jest-haste-map/src/lib/__tests__/normalizePathSep.test.js|2✔️|||35ms| |packages/jest-haste-map/src/lib/__tests__/normalizePathSep.test.js|2:white_check_mark:|||35ms|
|packages/jest-jasmine2/src/__tests__/concurrent.test.ts|3✔️|||24ms| |packages/jest-jasmine2/src/__tests__/concurrent.test.ts|3:white_check_mark:|||24ms|
|packages/jest-jasmine2/src/__tests__/expectationResultFactory.test.ts|7✔️|||70ms| |packages/jest-jasmine2/src/__tests__/expectationResultFactory.test.ts|7:white_check_mark:|||70ms|
|packages/jest-jasmine2/src/__tests__/hooksError.test.ts|32✔️|||51ms| |packages/jest-jasmine2/src/__tests__/hooksError.test.ts|32:white_check_mark:|||51ms|
|packages/jest-jasmine2/src/__tests__/iterators.test.ts|4✔️|||43ms| |packages/jest-jasmine2/src/__tests__/iterators.test.ts|4:white_check_mark:|||43ms|
|packages/jest-jasmine2/src/__tests__/itTestError.test.ts|6✔️|||32ms| |packages/jest-jasmine2/src/__tests__/itTestError.test.ts|6:white_check_mark:|||32ms|
|packages/jest-jasmine2/src/__tests__/itToTestAlias.test.ts|1✔️|||23ms| |packages/jest-jasmine2/src/__tests__/itToTestAlias.test.ts|1:white_check_mark:|||23ms|
|packages/jest-jasmine2/src/__tests__/pTimeout.test.ts|3✔️|||44ms| |packages/jest-jasmine2/src/__tests__/pTimeout.test.ts|3:white_check_mark:|||44ms|
|packages/jest-jasmine2/src/__tests__/queueRunner.test.ts|6✔️|||93ms| |packages/jest-jasmine2/src/__tests__/queueRunner.test.ts|6:white_check_mark:|||93ms|
|packages/jest-jasmine2/src/__tests__/reporter.test.ts|1✔️|||107ms| |packages/jest-jasmine2/src/__tests__/reporter.test.ts|1:white_check_mark:|||107ms|
|packages/jest-jasmine2/src/__tests__/Suite.test.ts|1✔️|||84ms| |packages/jest-jasmine2/src/__tests__/Suite.test.ts|1:white_check_mark:|||84ms|
|packages/jest-jasmine2/src/__tests__/todoError.test.ts|3✔️|||27ms| |packages/jest-jasmine2/src/__tests__/todoError.test.ts|3:white_check_mark:|||27ms|
|packages/jest-leak-detector/src/__tests__/index.test.ts|6✔️|||986ms| |packages/jest-leak-detector/src/__tests__/index.test.ts|6:white_check_mark:|||986ms|
|packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceable.test.ts|11✔️|||49ms| |packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceable.test.ts|11:white_check_mark:|||49ms|
|packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceableDom.test.ts|2✔️|||48ms| |packages/jest-matcher-utils/src/__tests__/deepCyclicCopyReplaceableDom.test.ts|2:white_check_mark:|||48ms|
|packages/jest-matcher-utils/src/__tests__/index.test.ts|48✔️|||391ms| |packages/jest-matcher-utils/src/__tests__/index.test.ts|48:white_check_mark:|||391ms|
|packages/jest-matcher-utils/src/__tests__/printDiffOrStringify.test.ts|21✔️|||114ms| |packages/jest-matcher-utils/src/__tests__/printDiffOrStringify.test.ts|21:white_check_mark:|||114ms|
|packages/jest-matcher-utils/src/__tests__/Replaceable.test.ts|17✔️|||111ms| |packages/jest-matcher-utils/src/__tests__/Replaceable.test.ts|17:white_check_mark:|||111ms|
|packages/jest-message-util/src/__tests__/messages.test.ts|11✔️|||205ms| |packages/jest-message-util/src/__tests__/messages.test.ts|11:white_check_mark:|||205ms|
|packages/jest-mock/src/__tests__/index.test.ts|84✔️|||509ms| |packages/jest-mock/src/__tests__/index.test.ts|84:white_check_mark:|||509ms|
|packages/jest-regex-util/src/__tests__/index.test.ts|8✔️|||56ms| |packages/jest-regex-util/src/__tests__/index.test.ts|8:white_check_mark:|||56ms|
|packages/jest-repl/src/__tests__/jest_repl.test.js|1✔️|||1s| |packages/jest-repl/src/__tests__/jest_repl.test.js|1:white_check_mark:|||1s|
|packages/jest-repl/src/__tests__/runtime_cli.test.js|4✔️|||4s| |packages/jest-repl/src/__tests__/runtime_cli.test.js|4:white_check_mark:|||4s|
|packages/jest-reporters/src/__tests__/CoverageReporter.test.js|12✔️|||397ms| |packages/jest-reporters/src/__tests__/CoverageReporter.test.js|12:white_check_mark:|||397ms|
|packages/jest-reporters/src/__tests__/CoverageWorker.test.js|2✔️|||199ms| |packages/jest-reporters/src/__tests__/CoverageWorker.test.js|2:white_check_mark:|||199ms|
|packages/jest-reporters/src/__tests__/DefaultReporter.test.js|2✔️|||148ms| |packages/jest-reporters/src/__tests__/DefaultReporter.test.js|2:white_check_mark:|||148ms|
|packages/jest-reporters/src/__tests__/generateEmptyCoverage.test.js|3✔️|||1s| |packages/jest-reporters/src/__tests__/generateEmptyCoverage.test.js|3:white_check_mark:|||1s|
|packages/jest-reporters/src/__tests__/getResultHeader.test.js|4✔️|||30ms| |packages/jest-reporters/src/__tests__/getResultHeader.test.js|4:white_check_mark:|||30ms|
|packages/jest-reporters/src/__tests__/getSnapshotStatus.test.js|3✔️|||28ms| |packages/jest-reporters/src/__tests__/getSnapshotStatus.test.js|3:white_check_mark:|||28ms|
|packages/jest-reporters/src/__tests__/getSnapshotSummary.test.js|4✔️|||49ms| |packages/jest-reporters/src/__tests__/getSnapshotSummary.test.js|4:white_check_mark:|||49ms|
|packages/jest-reporters/src/__tests__/getWatermarks.test.ts|2✔️|||37ms| |packages/jest-reporters/src/__tests__/getWatermarks.test.ts|2:white_check_mark:|||37ms|
|packages/jest-reporters/src/__tests__/NotifyReporter.test.ts|18✔️|||166ms| |packages/jest-reporters/src/__tests__/NotifyReporter.test.ts|18:white_check_mark:|||166ms|
|packages/jest-reporters/src/__tests__/SummaryReporter.test.js|4✔️|||366ms| |packages/jest-reporters/src/__tests__/SummaryReporter.test.js|4:white_check_mark:|||366ms|
|packages/jest-reporters/src/__tests__/utils.test.ts|10✔️|||85ms| |packages/jest-reporters/src/__tests__/utils.test.ts|10:white_check_mark:|||85ms|
|packages/jest-reporters/src/__tests__/VerboseReporter.test.js|11✔️|||425ms| |packages/jest-reporters/src/__tests__/VerboseReporter.test.js|11:white_check_mark:|||425ms|
|packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts|11✔️|||666ms| |packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts|11:white_check_mark:|||666ms|
|packages/jest-resolve/src/__tests__/isBuiltinModule.test.ts|4✔️|||36ms| |packages/jest-resolve/src/__tests__/isBuiltinModule.test.ts|4:white_check_mark:|||36ms|
|packages/jest-resolve/src/__tests__/resolve.test.ts|16✔️|||1s| |packages/jest-resolve/src/__tests__/resolve.test.ts|16:white_check_mark:|||1s|
|packages/jest-runner/src/__tests__/testRunner.test.ts|2✔️|||905ms| |packages/jest-runner/src/__tests__/testRunner.test.ts|2:white_check_mark:|||905ms|
|packages/jest-runtime/src/__tests__/instrumentation.test.ts|1✔️|||275ms| |packages/jest-runtime/src/__tests__/instrumentation.test.ts|1:white_check_mark:|||275ms|
|packages/jest-runtime/src/__tests__/runtime_create_mock_from_module.test.js|3✔️|||606ms| |packages/jest-runtime/src/__tests__/runtime_create_mock_from_module.test.js|3:white_check_mark:|||606ms|
|packages/jest-runtime/src/__tests__/runtime_environment.test.js|2✔️|||497ms| |packages/jest-runtime/src/__tests__/runtime_environment.test.js|2:white_check_mark:|||497ms|
|packages/jest-runtime/src/__tests__/runtime_internal_module.test.js|4✔️|||727ms| |packages/jest-runtime/src/__tests__/runtime_internal_module.test.js|4:white_check_mark:|||727ms|
|packages/jest-runtime/src/__tests__/runtime_jest_fn.js|4✔️|||479ms| |packages/jest-runtime/src/__tests__/runtime_jest_fn.js|4:white_check_mark:|||479ms|
|packages/jest-runtime/src/__tests__/runtime_jest_spy_on.test.js|2✔️|||521ms| |packages/jest-runtime/src/__tests__/runtime_jest_spy_on.test.js|2:white_check_mark:|||521ms|
|packages/jest-runtime/src/__tests__/runtime_mock.test.js|4✔️|||743ms| |packages/jest-runtime/src/__tests__/runtime_mock.test.js|4:white_check_mark:|||743ms|
|packages/jest-runtime/src/__tests__/runtime_module_directories.test.js|4✔️|||525ms| |packages/jest-runtime/src/__tests__/runtime_module_directories.test.js|4:white_check_mark:|||525ms|
|packages/jest-runtime/src/__tests__/runtime_node_path.test.js|4✔️|||1s| |packages/jest-runtime/src/__tests__/runtime_node_path.test.js|4:white_check_mark:|||1s|
|packages/jest-runtime/src/__tests__/runtime_require_actual.test.js|2✔️|||478ms| |packages/jest-runtime/src/__tests__/runtime_require_actual.test.js|2:white_check_mark:|||478ms|
|packages/jest-runtime/src/__tests__/runtime_require_cache.test.js|2✔️|||454ms| |packages/jest-runtime/src/__tests__/runtime_require_cache.test.js|2:white_check_mark:|||454ms|
|packages/jest-runtime/src/__tests__/runtime_require_mock.test.js|13✔️|||962ms| |packages/jest-runtime/src/__tests__/runtime_require_mock.test.js|13:white_check_mark:|||962ms|
|packages/jest-runtime/src/__tests__/runtime_require_module_no_ext.test.js|1✔️|||261ms| |packages/jest-runtime/src/__tests__/runtime_require_module_no_ext.test.js|1:white_check_mark:|||261ms|
|packages/jest-runtime/src/__tests__/runtime_require_module_or_mock_transitive_deps.test.js|6✔️|||2s| |packages/jest-runtime/src/__tests__/runtime_require_module_or_mock_transitive_deps.test.js|6:white_check_mark:|||2s|
|packages/jest-runtime/src/__tests__/runtime_require_module_or_mock.test.js|17✔️|||1s| |packages/jest-runtime/src/__tests__/runtime_require_module_or_mock.test.js|17:white_check_mark:|||1s|
|packages/jest-runtime/src/__tests__/runtime_require_module.test.js|27✔️|||2s| |packages/jest-runtime/src/__tests__/runtime_require_module.test.js|27:white_check_mark:|||2s|
|packages/jest-runtime/src/__tests__/runtime_require_resolve.test.ts|5✔️|||707ms| |packages/jest-runtime/src/__tests__/runtime_require_resolve.test.ts|5:white_check_mark:|||707ms|
|packages/jest-runtime/src/__tests__/runtime_wrap.js|2✔️|||263ms| |packages/jest-runtime/src/__tests__/runtime_wrap.js|2:white_check_mark:|||263ms|
|packages/jest-runtime/src/__tests__/Runtime-sourceMaps.test.js|1✔️|||584ms| |packages/jest-runtime/src/__tests__/Runtime-sourceMaps.test.js|1:white_check_mark:|||584ms|
|packages/jest-runtime/src/__tests__/Runtime-statics.test.js|2✔️|||162ms| |packages/jest-runtime/src/__tests__/Runtime-statics.test.js|2:white_check_mark:|||162ms|
|packages/jest-serializer/src/__tests__/index.test.ts|17✔️|||158ms| |packages/jest-serializer/src/__tests__/index.test.ts|17:white_check_mark:|||158ms|
|packages/jest-snapshot/src/__tests__/dedentLines.test.ts|17✔️|||94ms| |packages/jest-snapshot/src/__tests__/dedentLines.test.ts|17:white_check_mark:|||94ms|
|packages/jest-snapshot/src/__tests__/InlineSnapshots.test.ts|22✔️|||1s| |packages/jest-snapshot/src/__tests__/InlineSnapshots.test.ts|22:white_check_mark:|||1s|
|packages/jest-snapshot/src/__tests__/matcher.test.ts|1✔️|||131ms| |packages/jest-snapshot/src/__tests__/matcher.test.ts|1:white_check_mark:|||131ms|
|packages/jest-snapshot/src/__tests__/mockSerializer.test.ts|10✔️|||45ms| |packages/jest-snapshot/src/__tests__/mockSerializer.test.ts|10:white_check_mark:|||45ms|
|packages/jest-snapshot/src/__tests__/printSnapshot.test.ts|71✔️|||1s| |packages/jest-snapshot/src/__tests__/printSnapshot.test.ts|71:white_check_mark:|||1s|
|packages/jest-snapshot/src/__tests__/SnapshotResolver.test.ts|10✔️|||98ms| |packages/jest-snapshot/src/__tests__/SnapshotResolver.test.ts|10:white_check_mark:|||98ms|
|packages/jest-snapshot/src/__tests__/throwMatcher.test.ts|3✔️|||481ms| |packages/jest-snapshot/src/__tests__/throwMatcher.test.ts|3:white_check_mark:|||481ms|
|packages/jest-snapshot/src/__tests__/utils.test.ts|26✔️|||214ms| |packages/jest-snapshot/src/__tests__/utils.test.ts|26:white_check_mark:|||214ms|
|packages/jest-source-map/src/__tests__/getCallsite.test.ts|3✔️|||86ms| |packages/jest-source-map/src/__tests__/getCallsite.test.ts|3:white_check_mark:|||86ms|
|packages/jest-test-result/src/__tests__/formatTestResults.test.ts|1✔️|||53ms| |packages/jest-test-result/src/__tests__/formatTestResults.test.ts|1:white_check_mark:|||53ms|
|packages/jest-test-sequencer/src/__tests__/test_sequencer.test.js|8✔️|||251ms| |packages/jest-test-sequencer/src/__tests__/test_sequencer.test.js|8:white_check_mark:|||251ms|
|packages/jest-transform/src/__tests__/ScriptTransformer.test.ts|22✔️|||2s| |packages/jest-transform/src/__tests__/ScriptTransformer.test.ts|22:white_check_mark:|||2s|
|packages/jest-transform/src/__tests__/shouldInstrument.test.ts|25✔️|||155ms| |packages/jest-transform/src/__tests__/shouldInstrument.test.ts|25:white_check_mark:|||155ms|
|packages/jest-util/src/__tests__/createProcessObject.test.ts|4✔️|||81ms| |packages/jest-util/src/__tests__/createProcessObject.test.ts|4:white_check_mark:|||81ms|
|packages/jest-util/src/__tests__/deepCyclicCopy.test.ts|12✔️|||86ms| |packages/jest-util/src/__tests__/deepCyclicCopy.test.ts|12:white_check_mark:|||86ms|
|packages/jest-util/src/__tests__/errorWithStack.test.ts|1✔️|||41ms| |packages/jest-util/src/__tests__/errorWithStack.test.ts|1:white_check_mark:|||41ms|
|packages/jest-util/src/__tests__/formatTime.test.ts|11✔️|||82ms| |packages/jest-util/src/__tests__/formatTime.test.ts|11:white_check_mark:|||82ms|
|packages/jest-util/src/__tests__/globsToMatcher.test.ts|4✔️|||56ms| |packages/jest-util/src/__tests__/globsToMatcher.test.ts|4:white_check_mark:|||56ms|
|packages/jest-util/src/__tests__/installCommonGlobals.test.ts|2✔️|||68ms| |packages/jest-util/src/__tests__/installCommonGlobals.test.ts|2:white_check_mark:|||68ms|
|packages/jest-util/src/__tests__/isInteractive.test.ts|2✔️|||35ms| |packages/jest-util/src/__tests__/isInteractive.test.ts|2:white_check_mark:|||35ms|
|packages/jest-util/src/__tests__/isPromise.test.ts|10✔️|||30ms| |packages/jest-util/src/__tests__/isPromise.test.ts|10:white_check_mark:|||30ms|
|packages/jest-validate/src/__tests__/validate.test.ts|23✔️|||283ms| |packages/jest-validate/src/__tests__/validate.test.ts|23:white_check_mark:|||283ms|
|packages/jest-validate/src/__tests__/validateCLIOptions.test.js|6✔️|||83ms| |packages/jest-validate/src/__tests__/validateCLIOptions.test.js|6:white_check_mark:|||83ms|
|packages/jest-watcher/src/lib/__tests__/formatTestNameByPattern.test.ts|11✔️|||129ms| |packages/jest-watcher/src/lib/__tests__/formatTestNameByPattern.test.ts|11:white_check_mark:|||129ms|
|packages/jest-watcher/src/lib/__tests__/prompt.test.ts|3✔️|||91ms| |packages/jest-watcher/src/lib/__tests__/prompt.test.ts|3:white_check_mark:|||91ms|
|packages/jest-watcher/src/lib/__tests__/scroll.test.ts|5✔️|||57ms| |packages/jest-watcher/src/lib/__tests__/scroll.test.ts|5:white_check_mark:|||57ms|
|packages/jest-worker/src/__tests__/Farm.test.js|10✔️|||158ms| |packages/jest-worker/src/__tests__/Farm.test.js|10:white_check_mark:|||158ms|
|packages/jest-worker/src/__tests__/FifoQueue.test.js|3✔️|||48ms| |packages/jest-worker/src/__tests__/FifoQueue.test.js|3:white_check_mark:|||48ms|
|packages/jest-worker/src/__tests__/index.test.js|8✔️|||230ms| |packages/jest-worker/src/__tests__/index.test.js|8:white_check_mark:|||230ms|
|packages/jest-worker/src/__tests__/PriorityQueue.test.js|5✔️|||63ms| |packages/jest-worker/src/__tests__/PriorityQueue.test.js|5:white_check_mark:|||63ms|
|packages/jest-worker/src/__tests__/process-integration.test.js|5✔️|||62ms| |packages/jest-worker/src/__tests__/process-integration.test.js|5:white_check_mark:|||62ms|
|packages/jest-worker/src/__tests__/thread-integration.test.js|6✔️|||114ms| |packages/jest-worker/src/__tests__/thread-integration.test.js|6:white_check_mark:|||114ms|
|packages/jest-worker/src/__tests__/WorkerPool.test.js|3✔️|||51ms| |packages/jest-worker/src/__tests__/WorkerPool.test.js|3:white_check_mark:|||51ms|
|packages/jest-worker/src/base/__tests__/BaseWorkerPool.test.js|11✔️|||653ms| |packages/jest-worker/src/base/__tests__/BaseWorkerPool.test.js|11:white_check_mark:|||653ms|
|packages/jest-worker/src/workers/__tests__/ChildProcessWorker.test.js|17✔️|||184ms| |packages/jest-worker/src/workers/__tests__/ChildProcessWorker.test.js|17:white_check_mark:|||184ms|
|packages/jest-worker/src/workers/__tests__/NodeThreadsWorker.test.js|15✔️|||258ms| |packages/jest-worker/src/workers/__tests__/NodeThreadsWorker.test.js|15:white_check_mark:|||258ms|
|packages/jest-worker/src/workers/__tests__/processChild.test.js|10✔️|||135ms| |packages/jest-worker/src/workers/__tests__/processChild.test.js|10:white_check_mark:|||135ms|
|packages/jest-worker/src/workers/__tests__/threadChild.test.js|10✔️|||120ms| |packages/jest-worker/src/workers/__tests__/threadChild.test.js|10:white_check_mark:|||120ms|
|packages/pretty-format/src/__tests__/AsymmetricMatcher.test.ts|38✔️|||137ms| |packages/pretty-format/src/__tests__/AsymmetricMatcher.test.ts|38:white_check_mark:|||137ms|
|packages/pretty-format/src/__tests__/ConvertAnsi.test.ts|6✔️|||43ms| |packages/pretty-format/src/__tests__/ConvertAnsi.test.ts|6:white_check_mark:|||43ms|
|packages/pretty-format/src/__tests__/DOMCollection.test.ts|10✔️|||64ms| |packages/pretty-format/src/__tests__/DOMCollection.test.ts|10:white_check_mark:|||64ms|
|packages/pretty-format/src/__tests__/DOMElement.test.ts|28✔️|||148ms| |packages/pretty-format/src/__tests__/DOMElement.test.ts|28:white_check_mark:|||148ms|
|packages/pretty-format/src/__tests__/Immutable.test.ts|111✔️|||443ms| |packages/pretty-format/src/__tests__/Immutable.test.ts|111:white_check_mark:|||443ms|
|packages/pretty-format/src/__tests__/prettyFormat.test.ts|86✔️|||219ms| |packages/pretty-format/src/__tests__/prettyFormat.test.ts|86:white_check_mark:|||219ms|
|packages/pretty-format/src/__tests__/react.test.tsx|55✔️|||325ms| |packages/pretty-format/src/__tests__/react.test.tsx|55:white_check_mark:|||325ms|
|packages/pretty-format/src/__tests__/ReactElement.test.ts|3✔️|||64ms| |packages/pretty-format/src/__tests__/ReactElement.test.ts|3:white_check_mark:|||64ms|
###  <a id="user-content-r0s75" href="#r0s75">e2e/__tests__/jestChangedFiles.test.ts</a> ### :x: <a id="user-content-r0s75" href="#r0s75">e2e/__tests__/jestChangedFiles.test.ts</a>
``` ```
✔️ gets hg SCM roots and dedupes them :white_check_mark: gets hg SCM roots and dedupes them
✔️ gets git SCM roots and dedupes them :white_check_mark: gets git SCM roots and dedupes them
✔️ gets mixed git and hg SCM roots and dedupes them :white_check_mark: gets mixed git and hg SCM roots and dedupes them
✔️ gets changed files for git :white_check_mark: gets changed files for git
✔️ monitors only root paths for git :white_check_mark: monitors only root paths for git
✔️ does not find changes in files with no diff, for git :white_check_mark: does not find changes in files with no diff, for git
✔️ handles a bad revision for "changedSince", for git :white_check_mark: handles a bad revision for "changedSince", for git
gets changed files for hg :x: gets changed files for hg
Error: abort: empty revision range Error: abort: empty revision range
✔️ monitors only root paths for hg :white_check_mark: monitors only root paths for hg
✔️ handles a bad revision for "changedSince", for hg :white_check_mark: handles a bad revision for "changedSince", for hg
``` ```
###  <a id="user-content-r0s98" href="#r0s98">e2e/__tests__/onlyChanged.test.ts</a> ### :x: <a id="user-content-r0s98" href="#r0s98">e2e/__tests__/onlyChanged.test.ts</a>
``` ```
✔️ run for "onlyChanged" and "changedSince" :white_check_mark: run for "onlyChanged" and "changedSince"
✔️ run only changed files :white_check_mark: run only changed files
✔️ report test coverage for only changed files :white_check_mark: report test coverage for only changed files
✔️ report test coverage of source on test file change under only changed files :white_check_mark: report test coverage of source on test file change under only changed files
✔️ do not pickup non-tested files when reporting coverage on only changed files :white_check_mark: do not pickup non-tested files when reporting coverage on only changed files
✔️ collect test coverage when using onlyChanged :white_check_mark: collect test coverage when using onlyChanged
✔️ onlyChanged in config is overwritten by --all or testPathPattern :white_check_mark: onlyChanged in config is overwritten by --all or testPathPattern
gets changed files for hg :x: gets changed files for hg
Error: expect(received).toMatch(expected) Error: expect(received).toMatch(expected)
✔️ path on Windows is case-insensitive :white_check_mark: path on Windows is case-insensitive
``` ```

View file

@ -1,29 +1,29 @@
![Tests failed](https://img.shields.io/badge/tests-1%20passed%2C%204%20failed%2C%201%20skipped-critical) ![Tests failed](https://img.shields.io/badge/tests-1%20passed%2C%204%20failed%2C%201%20skipped-critical)
##  <a id="user-content-r0" href="#r0">fixtures/mocha-json.json</a> ## :x: <a id="user-content-r0" href="#r0">fixtures/mocha-json.json</a>
**6** tests were completed in **12ms** with **1** passed, **4** failed and **1** skipped. **6** tests were completed in **12ms** with **1** passed, **4** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[test/main.test.js](#r0s0)|1✔️|3❌||1ms| |[test/main.test.js](#r0s0)|1:white_check_mark:|3:x:||1ms|
|[test/second.test.js](#r0s1)||1❌|1✖|8ms| |[test/second.test.js](#r0s1)||1:x:|1:no_entry_sign:|8ms|
###  <a id="user-content-r0s0" href="#r0s0">test/main.test.js</a> ### :x: <a id="user-content-r0s0" href="#r0s0">test/main.test.js</a>
``` ```
Test 1 Test 1
✔️ Passing test :white_check_mark: Passing test
Test 1 Test 1.1 Test 1 Test 1.1
Exception in target unit :x: Exception in target unit
Some error Some error
Failing test :x: Failing test
Expected values to be strictly equal: Expected values to be strictly equal:
false !== true false !== true
Test 2 Test 2
Exception in test :x: Exception in test
Some error Some error
``` ```
###  <a id="user-content-r0s1" href="#r0s1">test/second.test.js</a> ### :x: <a id="user-content-r0s1" href="#r0s1">test/second.test.js</a>
``` ```
✖️ Skipped test :no_entry_sign: Skipped test
Timeout test :x: Timeout test
Timeout of 1ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (C:\Users\Michal\Workspace\dorny\test-reporter\reports\mocha\test\second.test.js) Timeout of 1ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (C:\Users\Michal\Workspace\dorny\test-reporter\reports\mocha\test\second.test.js)
``` ```

View file

@ -1,41 +1,41 @@
![Tests passed successfully](https://img.shields.io/badge/tests-833%20passed%2C%206%20skipped-success) ![Tests passed successfully](https://img.shields.io/badge/tests-833%20passed%2C%206%20skipped-success)
## ✔️ <a id="user-content-r0" href="#r0">fixtures/external/mocha/mocha-test-results.json</a> ## :white_check_mark: <a id="user-content-r0" href="#r0">fixtures/external/mocha/mocha-test-results.json</a>
**839** tests were completed in **6s** with **833** passed, **0** failed and **6** skipped. **839** tests were completed in **6s** with **833** passed, **0** failed and **6** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|test/node-unit/buffered-worker-pool.spec.js|14✔️|||8ms| |test/node-unit/buffered-worker-pool.spec.js|14:white_check_mark:|||8ms|
|test/node-unit/cli/config.spec.js|10✔️|||8ms| |test/node-unit/cli/config.spec.js|10:white_check_mark:|||8ms|
|test/node-unit/cli/node-flags.spec.js|105✔️|||9ms| |test/node-unit/cli/node-flags.spec.js|105:white_check_mark:|||9ms|
|test/node-unit/cli/options.spec.js|36✔️|||250ms| |test/node-unit/cli/options.spec.js|36:white_check_mark:|||250ms|
|test/node-unit/cli/run-helpers.spec.js|9✔️|||8ms| |test/node-unit/cli/run-helpers.spec.js|9:white_check_mark:|||8ms|
|test/node-unit/cli/run.spec.js|40✔️|||4ms| |test/node-unit/cli/run.spec.js|40:white_check_mark:|||4ms|
|test/node-unit/mocha.spec.js|24✔️|||33ms| |test/node-unit/mocha.spec.js|24:white_check_mark:|||33ms|
|test/node-unit/parallel-buffered-runner.spec.js|19✔️|||23ms| |test/node-unit/parallel-buffered-runner.spec.js|19:white_check_mark:|||23ms|
|test/node-unit/reporters/parallel-buffered.spec.js|6✔️|||16ms| |test/node-unit/reporters/parallel-buffered.spec.js|6:white_check_mark:|||16ms|
|test/node-unit/serializer.spec.js|40✔️|||31ms| |test/node-unit/serializer.spec.js|40:white_check_mark:|||31ms|
|test/node-unit/stack-trace-filter.spec.js|2✔️||4✖|1ms| |test/node-unit/stack-trace-filter.spec.js|2:white_check_mark:||4:no_entry_sign:|1ms|
|test/node-unit/utils.spec.js|5✔️|||1ms| |test/node-unit/utils.spec.js|5:white_check_mark:|||1ms|
|test/node-unit/worker.spec.js|15✔️|||92ms| |test/node-unit/worker.spec.js|15:white_check_mark:|||92ms|
|test/unit/context.spec.js|8✔️|||5ms| |test/unit/context.spec.js|8:white_check_mark:|||5ms|
|test/unit/duration.spec.js|3✔️|||166ms| |test/unit/duration.spec.js|3:white_check_mark:|||166ms|
|test/unit/errors.spec.js|13✔️|||5ms| |test/unit/errors.spec.js|13:white_check_mark:|||5ms|
|test/unit/globals.spec.js|4✔️|||0ms| |test/unit/globals.spec.js|4:white_check_mark:|||0ms|
|test/unit/grep.spec.js|8✔️|||2ms| |test/unit/grep.spec.js|8:white_check_mark:|||2ms|
|test/unit/hook-async.spec.js|3✔️|||1ms| |test/unit/hook-async.spec.js|3:white_check_mark:|||1ms|
|test/unit/hook-sync-nested.spec.js|4✔️|||1ms| |test/unit/hook-sync-nested.spec.js|4:white_check_mark:|||1ms|
|test/unit/hook-sync.spec.js|3✔️|||0ms| |test/unit/hook-sync.spec.js|3:white_check_mark:|||0ms|
|test/unit/hook-timeout.spec.js|1✔️|||0ms| |test/unit/hook-timeout.spec.js|1:white_check_mark:|||0ms|
|test/unit/hook.spec.js|4✔️|||0ms| |test/unit/hook.spec.js|4:white_check_mark:|||0ms|
|test/unit/mocha.spec.js|115✔️||1✖|128ms| |test/unit/mocha.spec.js|115:white_check_mark:||1:no_entry_sign:|128ms|
|test/unit/overspecified-async.spec.js|1✔️|||3ms| |test/unit/overspecified-async.spec.js|1:white_check_mark:|||3ms|
|test/unit/parse-query.spec.js|2✔️|||1ms| |test/unit/parse-query.spec.js|2:white_check_mark:|||1ms|
|test/unit/plugin-loader.spec.js|41✔️||1✖|16ms| |test/unit/plugin-loader.spec.js|41:white_check_mark:||1:no_entry_sign:|16ms|
|test/unit/required-tokens.spec.js|1✔️|||0ms| |test/unit/required-tokens.spec.js|1:white_check_mark:|||0ms|
|test/unit/root.spec.js|1✔️|||0ms| |test/unit/root.spec.js|1:white_check_mark:|||0ms|
|test/unit/runnable.spec.js|55✔️|||122ms| |test/unit/runnable.spec.js|55:white_check_mark:|||122ms|
|test/unit/runner.spec.js|77✔️|||43ms| |test/unit/runner.spec.js|77:white_check_mark:|||43ms|
|test/unit/suite.spec.js|57✔️|||14ms| |test/unit/suite.spec.js|57:white_check_mark:|||14ms|
|test/unit/test.spec.js|15✔️|||0ms| |test/unit/test.spec.js|15:white_check_mark:|||0ms|
|test/unit/throw.spec.js|9✔️|||9ms| |test/unit/throw.spec.js|9:white_check_mark:|||9ms|
|test/unit/timeout.spec.js|8✔️|||109ms| |test/unit/timeout.spec.js|8:white_check_mark:|||109ms|
|test/unit/utils.spec.js|75✔️|||24ms| |test/unit/utils.spec.js|75:white_check_mark:|||24ms|

View file

@ -1,371 +1,371 @@
![Tests failed](https://img.shields.io/badge/tests-268%20passed%2C%201%20failed-critical) ![Tests failed](https://img.shields.io/badge/tests-268%20passed%2C%201%20failed-critical)
##  <a id="user-content-r0" href="#r0">fixtures/external/flutter/provider-test-results.json</a> ## :x: <a id="user-content-r0" href="#r0">fixtures/external/flutter/provider-test-results.json</a>
**269** tests were completed in **0ms** with **268** passed, **1** failed and **0** skipped. **269** tests were completed in **0ms** with **268** passed, **1** failed and **0** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[test/builder_test.dart](#r0s0)|24✔️|||402ms| |[test/builder_test.dart](#r0s0)|24:white_check_mark:|||402ms|
|[test/change_notifier_provider_test.dart](#r0s1)|10✔️|||306ms| |[test/change_notifier_provider_test.dart](#r0s1)|10:white_check_mark:|||306ms|
|[test/consumer_test.dart](#r0s2)|18✔️|||340ms| |[test/consumer_test.dart](#r0s2)|18:white_check_mark:|||340ms|
|[test/context_test.dart](#r0s3)|31✔️|||698ms| |[test/context_test.dart](#r0s3)|31:white_check_mark:|||698ms|
|[test/future_provider_test.dart](#r0s4)|10✔️|||305ms| |[test/future_provider_test.dart](#r0s4)|10:white_check_mark:|||305ms|
|[test/inherited_provider_test.dart](#r0s5)|81✔️|||1s| |[test/inherited_provider_test.dart](#r0s5)|81:white_check_mark:|||1s|
|[test/listenable_provider_test.dart](#r0s6)|16✔️|||353ms| |[test/listenable_provider_test.dart](#r0s6)|16:white_check_mark:|||353ms|
|[test/listenable_proxy_provider_test.dart](#r0s7)|12✔️|||373ms| |[test/listenable_proxy_provider_test.dart](#r0s7)|12:white_check_mark:|||373ms|
|[test/multi_provider_test.dart](#r0s8)|3✔️|||198ms| |[test/multi_provider_test.dart](#r0s8)|3:white_check_mark:|||198ms|
|[test/provider_test.dart](#r0s9)|11✔️|||306ms| |[test/provider_test.dart](#r0s9)|11:white_check_mark:|||306ms|
|[test/proxy_provider_test.dart](#r0s10)|16✔️|||438ms| |[test/proxy_provider_test.dart](#r0s10)|16:white_check_mark:|||438ms|
|[test/reassemble_test.dart](#r0s11)|3✔️|||221ms| |[test/reassemble_test.dart](#r0s11)|3:white_check_mark:|||221ms|
|[test/selector_test.dart](#r0s12)|17✔️|||364ms| |[test/selector_test.dart](#r0s12)|17:white_check_mark:|||364ms|
|[test/stateful_provider_test.dart](#r0s13)|4✔️|||254ms| |[test/stateful_provider_test.dart](#r0s13)|4:white_check_mark:|||254ms|
|[test/stream_provider_test.dart](#r0s14)|8✔️|||282ms| |[test/stream_provider_test.dart](#r0s14)|8:white_check_mark:|||282ms|
|[test/value_listenable_provider_test.dart](#r0s15)|4✔️|1❌||327ms| |[test/value_listenable_provider_test.dart](#r0s15)|4:white_check_mark:|1:x:||327ms|
### ✔️ <a id="user-content-r0s0" href="#r0s0">test/builder_test.dart</a> ### :white_check_mark: <a id="user-content-r0s0" href="#r0s0">test/builder_test.dart</a>
``` ```
ChangeNotifierProvider ChangeNotifierProvider
✔️ default :white_check_mark: default
✔️ .value :white_check_mark: .value
ListenableProvider ListenableProvider
✔️ default :white_check_mark: default
✔️ .value :white_check_mark: .value
Provider Provider
✔️ default :white_check_mark: default
✔️ .value :white_check_mark: .value
ProxyProvider ProxyProvider
✔️ 0 :white_check_mark: 0
✔️ 1 :white_check_mark: 1
✔️ 2 :white_check_mark: 2
✔️ 3 :white_check_mark: 3
✔️ 4 :white_check_mark: 4
✔️ 5 :white_check_mark: 5
✔️ 6 :white_check_mark: 6
MultiProvider MultiProvider
✔️ with 1 ChangeNotifierProvider default :white_check_mark: with 1 ChangeNotifierProvider default
✔️ with 2 ChangeNotifierProvider default :white_check_mark: with 2 ChangeNotifierProvider default
✔️ with ListenableProvider default :white_check_mark: with ListenableProvider default
✔️ with Provider default :white_check_mark: with Provider default
✔️ with ProxyProvider0 :white_check_mark: with ProxyProvider0
✔️ with ProxyProvider1 :white_check_mark: with ProxyProvider1
✔️ with ProxyProvider2 :white_check_mark: with ProxyProvider2
✔️ with ProxyProvider3 :white_check_mark: with ProxyProvider3
✔️ with ProxyProvider4 :white_check_mark: with ProxyProvider4
✔️ with ProxyProvider5 :white_check_mark: with ProxyProvider5
✔️ with ProxyProvider6 :white_check_mark: with ProxyProvider6
``` ```
### ✔️ <a id="user-content-r0s1" href="#r0s1">test/change_notifier_provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s1" href="#r0s1">test/change_notifier_provider_test.dart</a>
``` ```
✔️ Use builder property, not child :white_check_mark: Use builder property, not child
ChangeNotifierProvider ChangeNotifierProvider
✔️ value :white_check_mark: value
✔️ builder :white_check_mark: builder
✔️ builder1 :white_check_mark: builder1
✔️ builder2 :white_check_mark: builder2
✔️ builder3 :white_check_mark: builder3
✔️ builder4 :white_check_mark: builder4
✔️ builder5 :white_check_mark: builder5
✔️ builder6 :white_check_mark: builder6
✔️ builder0 :white_check_mark: builder0
``` ```
### ✔️ <a id="user-content-r0s2" href="#r0s2">test/consumer_test.dart</a> ### :white_check_mark: <a id="user-content-r0s2" href="#r0s2">test/consumer_test.dart</a>
``` ```
consumer consumer
✔️ obtains value from Provider<T> :white_check_mark: obtains value from Provider<T>
✔️ crashed with no builder :white_check_mark: crashed with no builder
✔️ can be used inside MultiProvider :white_check_mark: can be used inside MultiProvider
consumer2 consumer2
✔️ obtains value from Provider<T> :white_check_mark: obtains value from Provider<T>
✔️ crashed with no builder :white_check_mark: crashed with no builder
✔️ can be used inside MultiProvider :white_check_mark: can be used inside MultiProvider
consumer3 consumer3
✔️ obtains value from Provider<T> :white_check_mark: obtains value from Provider<T>
✔️ crashed with no builder :white_check_mark: crashed with no builder
✔️ can be used inside MultiProvider :white_check_mark: can be used inside MultiProvider
consumer4 consumer4
✔️ obtains value from Provider<T> :white_check_mark: obtains value from Provider<T>
✔️ crashed with no builder :white_check_mark: crashed with no builder
✔️ can be used inside MultiProvider :white_check_mark: can be used inside MultiProvider
consumer5 consumer5
✔️ obtains value from Provider<T> :white_check_mark: obtains value from Provider<T>
✔️ crashed with no builder :white_check_mark: crashed with no builder
✔️ can be used inside MultiProvider :white_check_mark: can be used inside MultiProvider
consumer6 consumer6
✔️ obtains value from Provider<T> :white_check_mark: obtains value from Provider<T>
✔️ crashed with no builder :white_check_mark: crashed with no builder
✔️ can be used inside MultiProvider :white_check_mark: can be used inside MultiProvider
``` ```
### ✔️ <a id="user-content-r0s3" href="#r0s3">test/context_test.dart</a> ### :white_check_mark: <a id="user-content-r0s3" href="#r0s3">test/context_test.dart</a>
``` ```
✔️ watch in layoutbuilder :white_check_mark: watch in layoutbuilder
✔️ select in layoutbuilder :white_check_mark: select in layoutbuilder
✔️ cannot select in listView :white_check_mark: cannot select in listView
✔️ watch in listView :white_check_mark: watch in listView
✔️ watch in gridView :white_check_mark: watch in gridView
✔️ clears select dependencies for all dependents :white_check_mark: clears select dependencies for all dependents
BuildContext BuildContext
✔️ internal selected value is updated :white_check_mark: internal selected value is updated
✔️ create can use read without being lazy :white_check_mark: create can use read without being lazy
✔️ watch can be used inside InheritedProvider.update :white_check_mark: watch can be used inside InheritedProvider.update
✔️ select doesn't fail if it loads a provider that depends on other providers :white_check_mark: select doesn't fail if it loads a provider that depends on other providers
✔️ don't call old selectors if the child rebuilds individually :white_check_mark: don't call old selectors if the child rebuilds individually
✔️ selects throws inside click handlers :white_check_mark: selects throws inside click handlers
✔️ select throws if try to read dynamic :white_check_mark: select throws if try to read dynamic
✔️ select throws ProviderNotFoundException :white_check_mark: select throws ProviderNotFoundException
✔️ select throws if watch called inside the callback from build :white_check_mark: select throws if watch called inside the callback from build
✔️ select throws if read called inside the callback from build :white_check_mark: select throws if read called inside the callback from build
✔️ select throws if select called inside the callback from build :white_check_mark: select throws if select called inside the callback from build
✔️ select throws if read called inside the callback on dependency change :white_check_mark: select throws if read called inside the callback on dependency change
✔️ select throws if watch called inside the callback on dependency change :white_check_mark: select throws if watch called inside the callback on dependency change
✔️ select throws if select called inside the callback on dependency change :white_check_mark: select throws if select called inside the callback on dependency change
✔️ can call read inside didChangeDependencies :white_check_mark: can call read inside didChangeDependencies
✔️ select cannot be called inside didChangeDependencies :white_check_mark: select cannot be called inside didChangeDependencies
✔️ select in initState throws :white_check_mark: select in initState throws
✔️ watch in initState throws :white_check_mark: watch in initState throws
✔️ read in initState works :white_check_mark: read in initState works
✔️ consumer can be removed and selector stops to be called :white_check_mark: consumer can be removed and selector stops to be called
✔️ context.select deeply compares maps :white_check_mark: context.select deeply compares maps
✔️ context.select deeply compares lists :white_check_mark: context.select deeply compares lists
✔️ context.select deeply compares iterables :white_check_mark: context.select deeply compares iterables
✔️ context.select deeply compares sets :white_check_mark: context.select deeply compares sets
✔️ context.watch listens to value changes :white_check_mark: context.watch listens to value changes
``` ```
### ✔️ <a id="user-content-r0s4" href="#r0s4">test/future_provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s4" href="#r0s4">test/future_provider_test.dart</a>
``` ```
✔️ works with MultiProvider :white_check_mark: works with MultiProvider
✔️ (catchError) previous future completes after transition is no-op :white_check_mark: (catchError) previous future completes after transition is no-op
✔️ previous future completes after transition is no-op :white_check_mark: previous future completes after transition is no-op
✔️ transition from future to future preserve state :white_check_mark: transition from future to future preserve state
✔️ throws if future has error and catchError is missing :white_check_mark: throws if future has error and catchError is missing
✔️ calls catchError if present and future has error :white_check_mark: calls catchError if present and future has error
✔️ works with null :white_check_mark: works with null
✔️ create and dispose future with builder :white_check_mark: create and dispose future with builder
✔️ FutureProvider() crashes if builder is null :white_check_mark: FutureProvider() crashes if builder is null
FutureProvider() FutureProvider()
✔️ crashes if builder is null :white_check_mark: crashes if builder is null
``` ```
### ✔️ <a id="user-content-r0s5" href="#r0s5">test/inherited_provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s5" href="#r0s5">test/inherited_provider_test.dart</a>
``` ```
✔️ regression test #377 :white_check_mark: regression test #377
✔️ rebuild on dependency flags update :white_check_mark: rebuild on dependency flags update
✔️ properly update debug flags if a create triggers another deferred create :white_check_mark: properly update debug flags if a create triggers another deferred create
✔️ properly update debug flags if a create triggers another deferred create :white_check_mark: properly update debug flags if a create triggers another deferred create
✔️ properly update debug flags if an update triggers another create/update :white_check_mark: properly update debug flags if an update triggers another create/update
✔️ properly update debug flags if a create triggers another create/update :white_check_mark: properly update debug flags if a create triggers another create/update
✔️ Provider.of(listen: false) outside of build works when it loads a provider :white_check_mark: Provider.of(listen: false) outside of build works when it loads a provider
✔️ new value is available in didChangeDependencies :white_check_mark: new value is available in didChangeDependencies
✔️ builder receives the current value and updates independently from `update` :white_check_mark: builder receives the current value and updates independently from `update`
✔️ builder can _not_ rebuild when provider updates :white_check_mark: builder can _not_ rebuild when provider updates
✔️ builder rebuilds if provider is recreated :white_check_mark: builder rebuilds if provider is recreated
✔️ provider.of throws if listen:true outside of the widget tree :white_check_mark: provider.of throws if listen:true outside of the widget tree
✔️ InheritedProvider throws if no child is provided with default constructor :white_check_mark: InheritedProvider throws if no child is provided with default constructor
✔️ InheritedProvider throws if no child is provided with value constructor :white_check_mark: InheritedProvider throws if no child is provided with value constructor
✔️ DeferredInheritedProvider throws if no child is provided with default constructor :white_check_mark: DeferredInheritedProvider throws if no child is provided with default constructor
✔️ DeferredInheritedProvider throws if no child is provided with value constructor :white_check_mark: DeferredInheritedProvider throws if no child is provided with value constructor
✔️ startListening markNeedsNotifyDependents :white_check_mark: startListening markNeedsNotifyDependents
✔️ InheritedProvider can be subclassed :white_check_mark: InheritedProvider can be subclassed
✔️ DeferredInheritedProvider can be subclassed :white_check_mark: DeferredInheritedProvider can be subclassed
✔️ can be used with MultiProvider :white_check_mark: can be used with MultiProvider
✔️ throw if the widget ctor changes :white_check_mark: throw if the widget ctor changes
✔️ InheritedProvider lazy loading can be disabled :white_check_mark: InheritedProvider lazy loading can be disabled
✔️ InheritedProvider.value lazy loading can be disabled :white_check_mark: InheritedProvider.value lazy loading can be disabled
✔️ InheritedProvider subclass don't have to specify default lazy value :white_check_mark: InheritedProvider subclass don't have to specify default lazy value
✔️ DeferredInheritedProvider lazy loading can be disabled :white_check_mark: DeferredInheritedProvider lazy loading can be disabled
✔️ DeferredInheritedProvider.value lazy loading can be disabled :white_check_mark: DeferredInheritedProvider.value lazy loading can be disabled
✔️ selector :white_check_mark: selector
✔️ can select multiple types from same provider :white_check_mark: can select multiple types from same provider
✔️ can select same type on two different providers :white_check_mark: can select same type on two different providers
✔️ can select same type twice on same provider :white_check_mark: can select same type twice on same provider
✔️ Provider.of has a proper error message if context is null :white_check_mark: Provider.of has a proper error message if context is null
diagnostics diagnostics
✔️ InheritedProvider.value :white_check_mark: InheritedProvider.value
✔️ InheritedProvider doesn't break lazy loading :white_check_mark: InheritedProvider doesn't break lazy loading
✔️ InheritedProvider show if listening :white_check_mark: InheritedProvider show if listening
✔️ DeferredInheritedProvider.value :white_check_mark: DeferredInheritedProvider.value
✔️ DeferredInheritedProvider :white_check_mark: DeferredInheritedProvider
InheritedProvider.value() InheritedProvider.value()
✔️ markNeedsNotifyDependents during startListening is noop :white_check_mark: markNeedsNotifyDependents during startListening is noop
✔️ startListening called again when create returns new value :white_check_mark: startListening called again when create returns new value
✔️ startListening :white_check_mark: startListening
✔️ stopListening not called twice if rebuild doesn't have listeners :white_check_mark: stopListening not called twice if rebuild doesn't have listeners
✔️ removeListener cannot be null :white_check_mark: removeListener cannot be null
✔️ pass down current value :white_check_mark: pass down current value
✔️ default updateShouldNotify :white_check_mark: default updateShouldNotify
✔️ custom updateShouldNotify :white_check_mark: custom updateShouldNotify
InheritedProvider() InheritedProvider()
✔️ hasValue :white_check_mark: hasValue
✔️ provider calls update if rebuilding only due to didChangeDependencies :white_check_mark: provider calls update if rebuilding only due to didChangeDependencies
✔️ provider notifying dependents doesn't call update :white_check_mark: provider notifying dependents doesn't call update
✔️ update can call Provider.of with listen:true :white_check_mark: update can call Provider.of with listen:true
✔️ update lazy loaded can call Provider.of with listen:true :white_check_mark: update lazy loaded can call Provider.of with listen:true
✔️ markNeedsNotifyDependents during startListening is noop :white_check_mark: markNeedsNotifyDependents during startListening is noop
✔️ update can obtain parent of the same type than self :white_check_mark: update can obtain parent of the same type than self
✔️ _debugCheckInvalidValueType :white_check_mark: _debugCheckInvalidValueType
✔️ startListening :white_check_mark: startListening
✔️ startListening called again when create returns new value :white_check_mark: startListening called again when create returns new value
✔️ stopListening not called twice if rebuild doesn't have listeners :white_check_mark: stopListening not called twice if rebuild doesn't have listeners
✔️ removeListener cannot be null :white_check_mark: removeListener cannot be null
✔️ fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType :white_check_mark: fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType
✔️ builder is called on every rebuild and after a dependency change :white_check_mark: builder is called on every rebuild and after a dependency change
✔️ builder with no updateShouldNotify use == :white_check_mark: builder with no updateShouldNotify use ==
✔️ builder calls updateShouldNotify callback :white_check_mark: builder calls updateShouldNotify callback
✔️ initialValue is transmitted to valueBuilder :white_check_mark: initialValue is transmitted to valueBuilder
✔️ calls builder again if dependencies change :white_check_mark: calls builder again if dependencies change
✔️ exposes initialValue if valueBuilder is null :white_check_mark: exposes initialValue if valueBuilder is null
✔️ call dispose on unmount :white_check_mark: call dispose on unmount
✔️ builder unmount, dispose not called if value never read :white_check_mark: builder unmount, dispose not called if value never read
✔️ call dispose after new value :white_check_mark: call dispose after new value
✔️ valueBuilder works without initialBuilder :white_check_mark: valueBuilder works without initialBuilder
✔️ calls initialValueBuilder lazily once :white_check_mark: calls initialValueBuilder lazily once
✔️ throws if both builder and initialBuilder are missing :white_check_mark: throws if both builder and initialBuilder are missing
DeferredInheritedProvider.value() DeferredInheritedProvider.value()
✔️ hasValue :white_check_mark: hasValue
✔️ startListening :white_check_mark: startListening
✔️ stopListening cannot be null :white_check_mark: stopListening cannot be null
✔️ startListening doesn't need setState if already initialized :white_check_mark: startListening doesn't need setState if already initialized
✔️ setState without updateShouldNotify :white_check_mark: setState without updateShouldNotify
✔️ setState with updateShouldNotify :white_check_mark: setState with updateShouldNotify
✔️ startListening never leave the widget uninitialized :white_check_mark: startListening never leave the widget uninitialized
✔️ startListening called again on controller change :white_check_mark: startListening called again on controller change
DeferredInheritedProvider() DeferredInheritedProvider()
✔️ create can't call inherited widgets :white_check_mark: create can't call inherited widgets
✔️ creates the value lazily :white_check_mark: creates the value lazily
✔️ dispose :white_check_mark: dispose
✔️ dispose no-op if never built :white_check_mark: dispose no-op if never built
``` ```
### ✔️ <a id="user-content-r0s6" href="#r0s6">test/listenable_provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s6" href="#r0s6">test/listenable_provider_test.dart</a>
``` ```
ListenableProvider ListenableProvider
✔️ works with MultiProvider :white_check_mark: works with MultiProvider
✔️ asserts that the created notifier can have listeners :white_check_mark: asserts that the created notifier can have listeners
✔️ don't listen again if listenable instance doesn't change :white_check_mark: don't listen again if listenable instance doesn't change
✔️ works with null (default) :white_check_mark: works with null (default)
✔️ works with null (create) :white_check_mark: works with null (create)
✔️ stateful create called once :white_check_mark: stateful create called once
✔️ dispose called on unmount :white_check_mark: dispose called on unmount
✔️ dispose can be null :white_check_mark: dispose can be null
✔️ changing listenable rebuilds descendants :white_check_mark: changing listenable rebuilds descendants
✔️ rebuilding with the same provider don't rebuilds descendants :white_check_mark: rebuilding with the same provider don't rebuilds descendants
✔️ notifylistener rebuilds descendants :white_check_mark: notifylistener rebuilds descendants
ListenableProvider value constructor ListenableProvider value constructor
✔️ pass down key :white_check_mark: pass down key
✔️ changing the Listenable instance rebuilds dependents :white_check_mark: changing the Listenable instance rebuilds dependents
ListenableProvider stateful constructor ListenableProvider stateful constructor
✔️ called with context :white_check_mark: called with context
✔️ pass down key :white_check_mark: pass down key
✔️ throws if create is null :white_check_mark: throws if create is null
``` ```
### ✔️ <a id="user-content-r0s7" href="#r0s7">test/listenable_proxy_provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s7" href="#r0s7">test/listenable_proxy_provider_test.dart</a>
``` ```
ListenableProxyProvider ListenableProxyProvider
✔️ throws if update is missing :white_check_mark: throws if update is missing
✔️ asserts that the created notifier has no listener :white_check_mark: asserts that the created notifier has no listener
✔️ asserts that the created notifier has no listener after rebuild :white_check_mark: asserts that the created notifier has no listener after rebuild
✔️ rebuilds dependendents when listeners are called :white_check_mark: rebuilds dependendents when listeners are called
✔️ update returning a new Listenable disposes the previously created value and update dependents :white_check_mark: update returning a new Listenable disposes the previously created value and update dependents
✔️ disposes of created value :white_check_mark: disposes of created value
ListenableProxyProvider variants ListenableProxyProvider variants
✔️ ListenableProxyProvider :white_check_mark: ListenableProxyProvider
✔️ ListenableProxyProvider2 :white_check_mark: ListenableProxyProvider2
✔️ ListenableProxyProvider3 :white_check_mark: ListenableProxyProvider3
✔️ ListenableProxyProvider4 :white_check_mark: ListenableProxyProvider4
✔️ ListenableProxyProvider5 :white_check_mark: ListenableProxyProvider5
✔️ ListenableProxyProvider6 :white_check_mark: ListenableProxyProvider6
``` ```
### ✔️ <a id="user-content-r0s8" href="#r0s8">test/multi_provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s8" href="#r0s8">test/multi_provider_test.dart</a>
``` ```
MultiProvider MultiProvider
✔️ throw if providers is null :white_check_mark: throw if providers is null
✔️ MultiProvider children can only access parent providers :white_check_mark: MultiProvider children can only access parent providers
✔️ MultiProvider.providers with ignored child :white_check_mark: MultiProvider.providers with ignored child
``` ```
### ✔️ <a id="user-content-r0s9" href="#r0s9">test/provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s9" href="#r0s9">test/provider_test.dart</a>
``` ```
✔️ works with MultiProvider :white_check_mark: works with MultiProvider
Provider.of Provider.of
✔️ throws if T is dynamic :white_check_mark: throws if T is dynamic
✔️ listen defaults to true when building widgets :white_check_mark: listen defaults to true when building widgets
✔️ listen defaults to false outside of the widget tree :white_check_mark: listen defaults to false outside of the widget tree
✔️ listen:false doesn't trigger rebuild :white_check_mark: listen:false doesn't trigger rebuild
✔️ listen:true outside of the widget tree throws :white_check_mark: listen:true outside of the widget tree throws
Provider Provider
✔️ throws if the provided value is a Listenable/Stream :white_check_mark: throws if the provided value is a Listenable/Stream
✔️ debugCheckInvalidValueType can be disabled :white_check_mark: debugCheckInvalidValueType can be disabled
✔️ simple usage :white_check_mark: simple usage
✔️ throws an error if no provider found :white_check_mark: throws an error if no provider found
✔️ update should notify :white_check_mark: update should notify
``` ```
### ✔️ <a id="user-content-r0s10" href="#r0s10">test/proxy_provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s10" href="#r0s10">test/proxy_provider_test.dart</a>
``` ```
ProxyProvider ProxyProvider
✔️ throws if the provided value is a Listenable/Stream :white_check_mark: throws if the provided value is a Listenable/Stream
✔️ debugCheckInvalidValueType can be disabled :white_check_mark: debugCheckInvalidValueType can be disabled
✔️ create creates initial value :white_check_mark: create creates initial value
✔️ consume another providers :white_check_mark: consume another providers
✔️ rebuild descendants if value change :white_check_mark: rebuild descendants if value change
✔️ call dispose when unmounted with the latest result :white_check_mark: call dispose when unmounted with the latest result
✔️ don't rebuild descendants if value doesn't change :white_check_mark: don't rebuild descendants if value doesn't change
✔️ pass down updateShouldNotify :white_check_mark: pass down updateShouldNotify
✔️ works with MultiProvider :white_check_mark: works with MultiProvider
✔️ update callback can trigger descendants setState synchronously :white_check_mark: update callback can trigger descendants setState synchronously
✔️ throws if update is null :white_check_mark: throws if update is null
ProxyProvider variants ProxyProvider variants
✔️ ProxyProvider2 :white_check_mark: ProxyProvider2
✔️ ProxyProvider3 :white_check_mark: ProxyProvider3
✔️ ProxyProvider4 :white_check_mark: ProxyProvider4
✔️ ProxyProvider5 :white_check_mark: ProxyProvider5
✔️ ProxyProvider6 :white_check_mark: ProxyProvider6
``` ```
### ✔️ <a id="user-content-r0s11" href="#r0s11">test/reassemble_test.dart</a> ### :white_check_mark: <a id="user-content-r0s11" href="#r0s11">test/reassemble_test.dart</a>
``` ```
✔️ ReassembleHandler :white_check_mark: ReassembleHandler
✔️ unevaluated create :white_check_mark: unevaluated create
✔️ unevaluated create :white_check_mark: unevaluated create
``` ```
### ✔️ <a id="user-content-r0s12" href="#r0s12">test/selector_test.dart</a> ### :white_check_mark: <a id="user-content-r0s12" href="#r0s12">test/selector_test.dart</a>
``` ```
✔️ asserts that builder/selector are not null :white_check_mark: asserts that builder/selector are not null
✔️ Deep compare maps by default :white_check_mark: Deep compare maps by default
✔️ Deep compare iterables by default :white_check_mark: Deep compare iterables by default
✔️ Deep compare sets by default :white_check_mark: Deep compare sets by default
✔️ Deep compare lists by default :white_check_mark: Deep compare lists by default
✔️ custom shouldRebuid :white_check_mark: custom shouldRebuid
✔️ passes `child` and `key` :white_check_mark: passes `child` and `key`
✔️ calls builder if the callback changes :white_check_mark: calls builder if the callback changes
✔️ works with MultiProvider :white_check_mark: works with MultiProvider
✔️ don't call builder again if it rebuilds but selector returns the same thing :white_check_mark: don't call builder again if it rebuilds but selector returns the same thing
✔️ call builder again if it rebuilds abd selector returns the a different variable :white_check_mark: call builder again if it rebuilds abd selector returns the a different variable
✔️ Selector :white_check_mark: Selector
✔️ Selector2 :white_check_mark: Selector2
✔️ Selector3 :white_check_mark: Selector3
✔️ Selector4 :white_check_mark: Selector4
✔️ Selector5 :white_check_mark: Selector5
✔️ Selector6 :white_check_mark: Selector6
``` ```
### ✔️ <a id="user-content-r0s13" href="#r0s13">test/stateful_provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s13" href="#r0s13">test/stateful_provider_test.dart</a>
``` ```
✔️ asserts :white_check_mark: asserts
✔️ works with MultiProvider :white_check_mark: works with MultiProvider
✔️ calls create only once :white_check_mark: calls create only once
✔️ dispose :white_check_mark: dispose
``` ```
### ✔️ <a id="user-content-r0s14" href="#r0s14">test/stream_provider_test.dart</a> ### :white_check_mark: <a id="user-content-r0s14" href="#r0s14">test/stream_provider_test.dart</a>
``` ```
✔️ works with MultiProvider :white_check_mark: works with MultiProvider
✔️ transition from stream to stream preserve state :white_check_mark: transition from stream to stream preserve state
✔️ throws if stream has error and catchError is missing :white_check_mark: throws if stream has error and catchError is missing
✔️ calls catchError if present and stream has error :white_check_mark: calls catchError if present and stream has error
✔️ works with null :white_check_mark: works with null
✔️ StreamProvider() crashes if builder is null :white_check_mark: StreamProvider() crashes if builder is null
StreamProvider() StreamProvider()
✔️ create and dispose stream with builder :white_check_mark: create and dispose stream with builder
✔️ crashes if builder is null :white_check_mark: crashes if builder is null
``` ```
###  <a id="user-content-r0s15" href="#r0s15">test/value_listenable_provider_test.dart</a> ### :x: <a id="user-content-r0s15" href="#r0s15">test/value_listenable_provider_test.dart</a>
``` ```
valueListenableProvider valueListenableProvider
✔️ rebuilds when value change :white_check_mark: rebuilds when value change
✔️ don't rebuild dependents by default :white_check_mark: don't rebuild dependents by default
✔️ pass keys :white_check_mark: pass keys
✔️ don't listen again if stream instance doesn't change :white_check_mark: don't listen again if stream instance doesn't change
pass updateShouldNotify :x: pass updateShouldNotify
The following TestFailure object was thrown running a test: The following TestFailure object was thrown running a test:
Expected: <2> Expected: <2>
Actual: <1> Actual: <1>

View file

@ -1,12 +1,12 @@
![Tests failed](https://img.shields.io/badge/tests-1%20failed%2C%201%20skipped-critical) ![Tests failed](https://img.shields.io/badge/tests-1%20failed%2C%201%20skipped-critical)
##  <a id="user-content-r0" href="#r0">fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml</a> ## :x: <a id="user-content-r0" href="#r0">fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml</a>
**2** tests were completed in **116ms** with **0** passed, **1** failed and **1** skipped. **2** tests were completed in **116ms** with **0** passed, **1** failed and **1** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1❌|1✖|116ms| |[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1:x:|1:no_entry_sign:|116ms|
###  <a id="user-content-r0s0" href="#r0s0">org.apache.pulsar.AddMissingPatchVersionTest</a> ### :x: <a id="user-content-r0s0" href="#r0s0">org.apache.pulsar.AddMissingPatchVersionTest</a>
``` ```
✖️ testVersionStrings :no_entry_sign: testVersionStrings
testVersionStrings :x: testVersionStrings
java.lang.AssertionError: expected [1.2.1] but found [1.2.0] java.lang.AssertionError: expected [1.2.1] but found [1.2.0]
``` ```

File diff suppressed because it is too large Load diff

View file

@ -1,136 +1,136 @@
![Tests passed successfully](https://img.shields.io/badge/tests-67%20passed%2C%2012%20skipped-success) ![Tests passed successfully](https://img.shields.io/badge/tests-67%20passed%2C%2012%20skipped-success)
## ✔️ <a id="user-content-r0" href="#r0">fixtures/external/SilentNotes.trx</a> ## :white_check_mark: <a id="user-content-r0" href="#r0">VanillaCloudStorageClientTest</a>
**79** tests were completed in **1s** with **67** passed, **0** failed and **12** skipped. **79** tests were completed in **1s** with **67** passed, **0** failed and **12** skipped.
|Test suite|Passed|Failed|Skipped|Time| |Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:| |:---|---:|---:|---:|---:|
|[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#r0s0)|6✔️|||30ms| |[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#r0s0)|6:white_check_mark:|||30ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#r0s1)|2✔️||3✖|101ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#r0s1)|2:white_check_mark:||3:no_entry_sign:|101ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#r0s2)|4✔️||3✖|166ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#r0s2)|4:white_check_mark:||3:no_entry_sign:|166ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#r0s3)|2✔️|||7ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#r0s3)|2:white_check_mark:|||7ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#r0s4)|1✔️||3✖|40ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#r0s4)|1:white_check_mark:||3:no_entry_sign:|40ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#r0s5)|1✔️||3✖|15ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#r0s5)|1:white_check_mark:||3:no_entry_sign:|15ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#r0s6)|5✔️|||16ms| |[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#r0s6)|5:white_check_mark:|||16ms|
|[VanillaCloudStorageClientTest.CloudStorageTokenTest](#r0s7)|9✔️|||0ms| |[VanillaCloudStorageClientTest.CloudStorageTokenTest](#r0s7)|9:white_check_mark:|||0ms|
|[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#r0s8)|3✔️|||3ms| |[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#r0s8)|3:white_check_mark:|||3ms|
|[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#r0s9)|9✔️|||12ms| |[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#r0s9)|9:white_check_mark:|||12ms|
|[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#r0s10)|5✔️|||13ms| |[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#r0s10)|5:white_check_mark:|||13ms|
|[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#r0s11)|7✔️|||0ms| |[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#r0s11)|7:white_check_mark:|||0ms|
|[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#r0s12)|13✔️|||43ms| |[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#r0s12)|13:white_check_mark:|||43ms|
### ✔️ <a id="user-content-r0s0" href="#r0s0">VanillaCloudStorageClientTest.CloudStorageCredentialsTest</a> ### :white_check_mark: <a id="user-content-r0s0" href="#r0s0">VanillaCloudStorageClientTest.CloudStorageCredentialsTest</a>
``` ```
✔️ AreEqualWorksWithDifferentPassword :white_check_mark: AreEqualWorksWithDifferentPassword
✔️ AreEqualWorksWithSameContent :white_check_mark: AreEqualWorksWithSameContent
✔️ CorrectlyConvertsSecureStringToString :white_check_mark: CorrectlyConvertsSecureStringToString
✔️ CorrectlyConvertsStringToSecureString :white_check_mark: CorrectlyConvertsStringToSecureString
✔️ ValidateAcceptsValidCredentials :white_check_mark: ValidateAcceptsValidCredentials
✔️ ValidateRejectsInvalidCredentials :white_check_mark: ValidateRejectsInvalidCredentials
``` ```
### ✔️ <a id="user-content-r0s1" href="#r0s1">VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest</a> ### :white_check_mark: <a id="user-content-r0s1" href="#r0s1">VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks :white_check_mark: FileLifecycleWorks
✖️ ReallyDoFetchToken :no_entry_sign: ReallyDoFetchToken
✖️ ReallyDoOpenAuthorizationPageInBrowser :no_entry_sign: ReallyDoOpenAuthorizationPageInBrowser
✖️ ReallyDoRefreshToken :no_entry_sign: ReallyDoRefreshToken
✔️ ThrowsAccessDeniedExceptionWithInvalidToken :white_check_mark: ThrowsAccessDeniedExceptionWithInvalidToken
``` ```
### ✔️ <a id="user-content-r0s2" href="#r0s2">VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest</a> ### :white_check_mark: <a id="user-content-r0s2" href="#r0s2">VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks :white_check_mark: FileLifecycleWorks
✔️ SanitizeCredentials_ChangesInvalidPrefix :white_check_mark: SanitizeCredentials_ChangesInvalidPrefix
✔️ SecureSslConnectionWorks :white_check_mark: SecureSslConnectionWorks
✔️ ThrowsWithHttpInsteadOfFtp :white_check_mark: ThrowsWithHttpInsteadOfFtp
✖️ ThrowsWithInvalidPassword :no_entry_sign: ThrowsWithInvalidPassword
✖️ ThrowsWithInvalidUrl :no_entry_sign: ThrowsWithInvalidUrl
✖️ ThrowsWithInvalidUsername :no_entry_sign: ThrowsWithInvalidUsername
``` ```
### ✔️ <a id="user-content-r0s3" href="#r0s3">VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest</a> ### :white_check_mark: <a id="user-content-r0s3" href="#r0s3">VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest</a>
``` ```
✔️ ChoosesCorrectUrlForGmxComEmail :white_check_mark: ChoosesCorrectUrlForGmxComEmail
✔️ ChoosesCorrectUrlForGmxNetEmail :white_check_mark: ChoosesCorrectUrlForGmxNetEmail
``` ```
### ✔️ <a id="user-content-r0s4" href="#r0s4">VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest</a> ### :white_check_mark: <a id="user-content-r0s4" href="#r0s4">VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks :white_check_mark: FileLifecycleWorks
✖️ ReallyDoFetchToken :no_entry_sign: ReallyDoFetchToken
✖️ ReallyDoOpenAuthorizationPageInBrowser :no_entry_sign: ReallyDoOpenAuthorizationPageInBrowser
✖️ ReallyDoRefreshToken :no_entry_sign: ReallyDoRefreshToken
``` ```
### ✔️ <a id="user-content-r0s5" href="#r0s5">VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest</a> ### :white_check_mark: <a id="user-content-r0s5" href="#r0s5">VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks :white_check_mark: FileLifecycleWorks
✖️ ReallyDoFetchToken :no_entry_sign: ReallyDoFetchToken
✖️ ReallyDoOpenAuthorizationPageInBrowser :no_entry_sign: ReallyDoOpenAuthorizationPageInBrowser
✖️ ReallyDoRefreshToken :no_entry_sign: ReallyDoRefreshToken
``` ```
### ✔️ <a id="user-content-r0s6" href="#r0s6">VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest</a> ### :white_check_mark: <a id="user-content-r0s6" href="#r0s6">VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest</a>
``` ```
✔️ FileLifecycleWorks :white_check_mark: FileLifecycleWorks
✔️ ParseGmxWebdavResponseCorrectly :white_check_mark: ParseGmxWebdavResponseCorrectly
✔️ ParseStratoWebdavResponseCorrectly :white_check_mark: ParseStratoWebdavResponseCorrectly
✔️ ThrowsWithInvalidPath :white_check_mark: ThrowsWithInvalidPath
✔️ ThrowsWithInvalidUsername :white_check_mark: ThrowsWithInvalidUsername
``` ```
### ✔️ <a id="user-content-r0s7" href="#r0s7">VanillaCloudStorageClientTest.CloudStorageTokenTest</a> ### :white_check_mark: <a id="user-content-r0s7" href="#r0s7">VanillaCloudStorageClientTest.CloudStorageTokenTest</a>
``` ```
✔️ AreEqualWorksWithNullDate :white_check_mark: AreEqualWorksWithNullDate
✔️ AreEqualWorksWithSameContent :white_check_mark: AreEqualWorksWithSameContent
✔️ NeedsRefreshReturnsFalseForTokenFlow :white_check_mark: NeedsRefreshReturnsFalseForTokenFlow
✔️ NeedsRefreshReturnsFalseIfNotExpired :white_check_mark: NeedsRefreshReturnsFalseIfNotExpired
✔️ NeedsRefreshReturnsTrueIfExpired :white_check_mark: NeedsRefreshReturnsTrueIfExpired
✔️ NeedsRefreshReturnsTrueIfNoExpirationDate :white_check_mark: NeedsRefreshReturnsTrueIfNoExpirationDate
✔️ SetExpiryDateBySecondsWorks :white_check_mark: SetExpiryDateBySecondsWorks
✔️ SetExpiryDateBySecondsWorksWithNull :white_check_mark: SetExpiryDateBySecondsWorksWithNull
✔️ SetExpiryDateBySecondsWorksWithVeryShortPeriod :white_check_mark: SetExpiryDateBySecondsWorksWithVeryShortPeriod
``` ```
### ✔️ <a id="user-content-r0s8" href="#r0s8">VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest</a> ### :white_check_mark: <a id="user-content-r0s8" href="#r0s8">VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest</a>
``` ```
✔️ ParsesAllErrorCodesCorrectly :white_check_mark: ParsesAllErrorCodesCorrectly
✔️ ParsesNullErrorCodeCorrectly :white_check_mark: ParsesNullErrorCodeCorrectly
✔️ ParsesUnknownErrorCodeCorrectly :white_check_mark: ParsesUnknownErrorCodeCorrectly
``` ```
### ✔️ <a id="user-content-r0s9" href="#r0s9">VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest</a> ### :white_check_mark: <a id="user-content-r0s9" href="#r0s9">VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest</a>
``` ```
✔️ BuildAuthorizationRequestUrlEscapesParameters :white_check_mark: BuildAuthorizationRequestUrlEscapesParameters
✔️ BuildAuthorizationRequestUrlLeavesOutOptionalParameters :white_check_mark: BuildAuthorizationRequestUrlLeavesOutOptionalParameters
✔️ BuildAuthorizationRequestUrlThrowsWithMissingRedirectUrlForTokenFlow :white_check_mark: BuildAuthorizationRequestUrlThrowsWithMissingRedirectUrlForTokenFlow
✔️ BuildAuthorizationRequestUrlUsesAllParameters :white_check_mark: BuildAuthorizationRequestUrlUsesAllParameters
✔️ BuildAuthorizationRequestUrlUsesCodeVerifier :white_check_mark: BuildAuthorizationRequestUrlUsesCodeVerifier
✔️ ParseRealWorldDropboxRejectResponse :white_check_mark: ParseRealWorldDropboxRejectResponse
✔️ ParseRealWorldDropboxSuccessResponse :white_check_mark: ParseRealWorldDropboxSuccessResponse
✔️ ParseRealWorldGoogleRejectResponse :white_check_mark: ParseRealWorldGoogleRejectResponse
✔️ ParseRealWorldGoogleSuccessResponse :white_check_mark: ParseRealWorldGoogleSuccessResponse
``` ```
### ✔️ <a id="user-content-r0s10" href="#r0s10">VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest</a> ### :white_check_mark: <a id="user-content-r0s10" href="#r0s10">VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest</a>
``` ```
✔️ BuildOAuth2AuthorizationRequestUrlWorks :white_check_mark: BuildOAuth2AuthorizationRequestUrlWorks
✔️ FetchTokenCanInterpretGoogleResponse :white_check_mark: FetchTokenCanInterpretGoogleResponse
✔️ FetchTokenReturnsNullForDeniedAccess :white_check_mark: FetchTokenReturnsNullForDeniedAccess
✔️ FetchTokenThrowsWithWrongState :white_check_mark: FetchTokenThrowsWithWrongState
✔️ RefreshTokenCanInterpretGoogleResponse :white_check_mark: RefreshTokenCanInterpretGoogleResponse
``` ```
### ✔️ <a id="user-content-r0s11" href="#r0s11">VanillaCloudStorageClientTest.SecureStringExtensionsTest</a> ### :white_check_mark: <a id="user-content-r0s11" href="#r0s11">VanillaCloudStorageClientTest.SecureStringExtensionsTest</a>
``` ```
✔️ AreEqualsWorksCorrectly :white_check_mark: AreEqualsWorksCorrectly
✔️ CorrectlyConvertsSecureStringToString :white_check_mark: CorrectlyConvertsSecureStringToString
✔️ CorrectlyConvertsSecureStringToUnicodeBytes :white_check_mark: CorrectlyConvertsSecureStringToUnicodeBytes
✔️ CorrectlyConvertsSecureStringToUtf8Bytes :white_check_mark: CorrectlyConvertsSecureStringToUtf8Bytes
✔️ CorrectlyConvertsStringToSecureString :white_check_mark: CorrectlyConvertsStringToSecureString
✔️ CorrectlyConvertsUnicodeBytesToSecureString :white_check_mark: CorrectlyConvertsUnicodeBytesToSecureString
✔️ CorrectlyConvertsUtf8BytesToSecureString :white_check_mark: CorrectlyConvertsUtf8BytesToSecureString
``` ```
### ✔️ <a id="user-content-r0s12" href="#r0s12">VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest</a> ### :white_check_mark: <a id="user-content-r0s12" href="#r0s12">VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest</a>
``` ```
✔️ DecryptAfterDesrializationCanReadAllPropertiesBack :white_check_mark: DecryptAfterDesrializationCanReadAllPropertiesBack
✔️ DecryptAfterDesrializationRespectsNullProperties :white_check_mark: DecryptAfterDesrializationRespectsNullProperties
✔️ EncryptBeforeSerializationProtectsAllNecessaryProperties :white_check_mark: EncryptBeforeSerializationProtectsAllNecessaryProperties
✔️ EncryptBeforeSerializationRespectsNullProperties :white_check_mark: EncryptBeforeSerializationRespectsNullProperties
✔️ SerializedDatacontractCanBeReadBack :white_check_mark: SerializedDatacontractCanBeReadBack
✔️ SerializedDatacontractDoesNotContainNullProperties :white_check_mark: SerializedDatacontractDoesNotContainNullProperties
✔️ SerializedDatacontractDoesNotContainPlaintextData :white_check_mark: SerializedDatacontractDoesNotContainPlaintextData
✔️ SerializedJsonCanBeReadBack :white_check_mark: SerializedJsonCanBeReadBack
✔️ SerializedJsonDoesNotContainNullProperties :white_check_mark: SerializedJsonDoesNotContainNullProperties
✔️ SerializedJsonDoesNotContainPlaintextData :white_check_mark: SerializedJsonDoesNotContainPlaintextData
✔️ SerializedXmlCanBeReadBack :white_check_mark: SerializedXmlCanBeReadBack
✔️ SerializedXmlDoesNotContainNullProperties :white_check_mark: SerializedXmlDoesNotContainNullProperties
✔️ SerializedXmlDoesNotContainPlaintextData :white_check_mark: SerializedXmlDoesNotContainPlaintextData
``` ```

View file

@ -2,7 +2,7 @@
exports[`dotnet-trx tests matches report snapshot 1`] = ` exports[`dotnet-trx tests matches report snapshot 1`] = `
TestRunResult { TestRunResult {
"path": "fixtures/dotnet-trx.trx", "path": "DotnetTests.XUnitTests",
"suites": Array [ "suites": Array [
TestSuiteResult { TestSuiteResult {
"groups": Array [ "groups": Array [
@ -131,7 +131,7 @@ Actual: False",
exports[`dotnet-trx tests report from FluentValidation test results matches snapshot 1`] = ` exports[`dotnet-trx tests report from FluentValidation test results matches snapshot 1`] = `
TestRunResult { TestRunResult {
"path": "fixtures/external/FluentValidation.Tests.trx", "path": "FluentValidation.Tests",
"suites": Array [ "suites": Array [
TestSuiteResult { TestSuiteResult {
"groups": Array [ "groups": Array [
@ -5646,7 +5646,7 @@ TestRunResult {
exports[`dotnet-trx tests report from SilentNotes test results matches snapshot 1`] = ` exports[`dotnet-trx tests report from SilentNotes test results matches snapshot 1`] = `
TestRunResult { TestRunResult {
"path": "fixtures/external/SilentNotes.trx", "path": "VanillaCloudStorageClientTest",
"suites": Array [ "suites": Array [
TestSuiteResult { TestSuiteResult {
"groups": Array [ "groups": Array [

173
dist/index.js generated vendored
View file

@ -256,9 +256,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
Object.defineProperty(exports, "__esModule", ({ value: true })); Object.defineProperty(exports, "__esModule", ({ value: true }));
const core = __importStar(__nccwpck_require__(2186)); const core = __importStar(__nccwpck_require__(2186));
const github = __importStar(__nccwpck_require__(5438)); const github = __importStar(__nccwpck_require__(5438));
const fs = __importStar(__nccwpck_require__(7147));
const artifact_provider_1 = __nccwpck_require__(7171); const artifact_provider_1 = __nccwpck_require__(7171);
const local_file_provider_1 = __nccwpck_require__(9399); const local_file_provider_1 = __nccwpck_require__(9399);
const get_annotations_1 = __nccwpck_require__(5867);
const get_report_1 = __nccwpck_require__(3737); const get_report_1 = __nccwpck_require__(3737);
const dart_json_parser_1 = __nccwpck_require__(4528); const dart_json_parser_1 = __nccwpck_require__(4528);
const dotnet_trx_parser_1 = __nccwpck_require__(2664); const dotnet_trx_parser_1 = __nccwpck_require__(2664);
@ -267,7 +267,6 @@ const jest_junit_parser_1 = __nccwpck_require__(1113);
const mocha_json_parser_1 = __nccwpck_require__(6043); const mocha_json_parser_1 = __nccwpck_require__(6043);
const path_utils_1 = __nccwpck_require__(4070); const path_utils_1 = __nccwpck_require__(4070);
const github_utils_1 = __nccwpck_require__(3522); const github_utils_1 = __nccwpck_require__(3522);
const markdown_utils_1 = __nccwpck_require__(6482);
function main() { function main() {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
try { try {
@ -381,29 +380,46 @@ class TestReporter {
const tr = yield parser.parse(file, content); const tr = yield parser.parse(file, content);
results.push(tr); results.push(tr);
} }
core.info(`Creating check run ${name}`); // core.info(`Creating check run ${name}`)
const createResp = yield this.octokit.rest.checks.create(Object.assign({ head_sha: this.context.sha, name, status: 'in_progress', output: { // const createResp = await this.octokit.checks.create({
title: name, // head_sha: this.context.sha,
summary: '' // name,
} }, github.context.repo)); // status: 'in_progress',
// output: {
// title: name,
// summary: ''
// },
// ...github.context.repo
// })
core.info('Creating report summary'); core.info('Creating report summary');
const { listSuites, listTests, onlySummary } = this; const { listSuites, listTests, onlySummary } = this;
const baseUrl = createResp.data.html_url; const baseUrl = '';
const summary = (0, get_report_1.getReport)(results, { listSuites, listTests, baseUrl, onlySummary }); const summary = (0, get_report_1.getReport)(results, { listSuites, listTests, baseUrl, onlySummary });
core.info('Creating annotations'); core.info('Summary content:');
const annotations = (0, get_annotations_1.getAnnotations)(results, this.maxAnnotations); core.info(summary);
const isFailed = results.some(tr => tr.result === 'failed'); yield fs.promises.writeFile(this.path.replace('*.trx', 'test-summary.md'), summary);
const conclusion = isFailed ? 'failure' : 'success'; core.info('File content:');
const icon = isFailed ? markdown_utils_1.Icon.fail : markdown_utils_1.Icon.success; core.info(fs.readFileSync(this.path.replace('*.trx', 'test-summary.md'), 'utf8'));
core.info(`Updating check run conclusion (${conclusion}) and output`); // core.info('Creating annotations')
const resp = yield this.octokit.rest.checks.update(Object.assign({ check_run_id: createResp.data.id, conclusion, status: 'completed', output: { // const annotations = getAnnotations(results, this.maxAnnotations)
title: `${name} ${icon}`, // const isFailed = results.some(tr => tr.result === 'failed')
summary, // const conclusion = isFailed ? 'failure' : 'success'
annotations // const icon = isFailed ? Icon.fail : Icon.success
} }, github.context.repo)); // core.info(`Updating check run conclusion (${conclusion}) and output`)
core.info(`Check run create response: ${resp.status}`); // const resp = await this.octokit.checks.update({
core.info(`Check run URL: ${resp.data.url}`); // check_run_id: createResp.data.id,
core.info(`Check run HTML: ${resp.data.html_url}`); // conclusion,
// status: 'completed',
// output: {
// title: `${name} ${icon}`,
// summary,
// annotations
// },
// ...github.context.repo
// })
// core.info(`Check run create response: ${resp.status}`)
// core.info(`Check run URL: ${resp.data.url}`)
// core.info(`Check run HTML: ${resp.data.html_url}`)
return results; return results;
}); });
} }
@ -725,8 +741,9 @@ const path_utils_1 = __nccwpck_require__(4070);
const parse_utils_1 = __nccwpck_require__(7811); const parse_utils_1 = __nccwpck_require__(7811);
const test_results_1 = __nccwpck_require__(2768); const test_results_1 = __nccwpck_require__(2768);
class TestClass { class TestClass {
constructor(name) { constructor(name, assemblyName) {
this.name = name; this.name = name;
this.assemblyName = assemblyName;
this.tests = []; this.tests = [];
} }
} }
@ -788,9 +805,12 @@ class DotnetTrxParser {
const testClasses = {}; const testClasses = {};
for (const r of unitTestsResults) { for (const r of unitTestsResults) {
const className = r.test.TestMethod[0].$.className; const className = r.test.TestMethod[0].$.className;
const codeBase = r.test.TestMethod[0].$.codeBase;
const pathSegments = codeBase.replace(/\\/g, '/').split('/');
const assemblyName = pathSegments[pathSegments.length - 1].replace('.dll', '');
let tc = testClasses[className]; let tc = testClasses[className];
if (tc === undefined) { if (tc === undefined) {
tc = new TestClass(className); tc = new TestClass(className, assemblyName);
testClasses[tc.name] = tc; testClasses[tc.name] = tc;
} }
const error = this.getErrorInfo(r.result); const error = this.getErrorInfo(r.result);
@ -817,6 +837,9 @@ class DotnetTrxParser {
const group = new test_results_1.TestGroupResult(null, tests); const group = new test_results_1.TestGroupResult(null, tests);
return new test_results_1.TestSuiteResult(testClass.name, [group]); return new test_results_1.TestSuiteResult(testClass.name, [group]);
}); });
if (testClasses.length > 0) {
return new test_results_1.TestRunResult(testClasses[0].assemblyName, suites, totalTime);
}
return new test_results_1.TestRunResult(path, suites, totalTime); return new test_results_1.TestRunResult(path, suites, totalTime);
} }
getErrorInfo(testResult) { getErrorInfo(testResult) {
@ -1337,94 +1360,6 @@ class MochaJsonParser {
exports.MochaJsonParser = MochaJsonParser; exports.MochaJsonParser = MochaJsonParser;
/***/ }),
/***/ 5867:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getAnnotations = void 0;
const markdown_utils_1 = __nccwpck_require__(6482);
const parse_utils_1 = __nccwpck_require__(7811);
function getAnnotations(results, maxCount) {
var _a, _b, _c, _d;
if (maxCount === 0) {
return [];
}
// Collect errors from TestRunResults
// Merge duplicates if there are more test results files processed
const errors = [];
const mergeDup = results.length > 1;
for (const tr of results) {
for (const ts of tr.suites) {
for (const tg of ts.groups) {
for (const tc of tg.tests) {
const err = tc.error;
if (err === undefined) {
continue;
}
const path = (_a = err.path) !== null && _a !== void 0 ? _a : tr.path;
const line = (_b = err.line) !== null && _b !== void 0 ? _b : 0;
if (mergeDup) {
const dup = errors.find(e => path === e.path && line === e.line && err.details === e.details);
if (dup !== undefined) {
dup.testRunPaths.push(tr.path);
continue;
}
}
errors.push({
testRunPaths: [tr.path],
suiteName: ts.name,
testName: tg.name ? `${tg.name}${tc.name}` : tc.name,
details: err.details,
message: (_d = (_c = err.message) !== null && _c !== void 0 ? _c : (0, parse_utils_1.getFirstNonEmptyLine)(err.details)) !== null && _d !== void 0 ? _d : 'Test failed',
path,
line
});
}
}
}
}
// Limit number of created annotations
errors.splice(maxCount + 1);
const annotations = errors.map(e => {
const message = [
'Failed test found in:',
e.testRunPaths.map(p => ` ${p}`).join('\n'),
'Error:',
ident((0, markdown_utils_1.fixEol)(e.message), ' ')
].join('\n');
return enforceCheckRunLimits({
path: e.path,
start_line: e.line,
end_line: e.line,
annotation_level: 'failure',
title: `${e.suiteName}${e.testName}`,
raw_details: (0, markdown_utils_1.fixEol)(e.details),
message
});
});
return annotations;
}
exports.getAnnotations = getAnnotations;
function enforceCheckRunLimits(err) {
err.title = (0, markdown_utils_1.ellipsis)(err.title || '', 255);
err.message = (0, markdown_utils_1.ellipsis)(err.message, 65535);
if (err.raw_details) {
err.raw_details = (0, markdown_utils_1.ellipsis)(err.raw_details, 65535);
}
return err;
}
function ident(text, prefix) {
return text
.split(/\n/g)
.map(line => prefix + line)
.join('\n');
}
/***/ }), /***/ }),
/***/ 3737: /***/ 3737:
@ -1566,15 +1501,15 @@ function getBadge(passed, failed, skipped) {
function getTestRunsReport(testRuns, options) { function getTestRunsReport(testRuns, options) {
const sections = []; const sections = [];
if (testRuns.length > 1 || options.onlySummary) { if (testRuns.length > 1 || options.onlySummary) {
const tableData = testRuns.map((tr, runIndex) => { const tableData = testRuns
.filter(tr => tr.passed > 0 || tr.failed > 0 || tr.skipped > 0)
.map(tr => {
const time = (0, markdown_utils_1.formatTime)(tr.time); const time = (0, markdown_utils_1.formatTime)(tr.time);
const name = tr.path; const name = tr.path;
const addr = options.baseUrl + makeRunSlug(runIndex).link;
const nameLink = (0, markdown_utils_1.link)(name, addr);
const passed = tr.passed > 0 ? `${tr.passed}${markdown_utils_1.Icon.success}` : ''; const passed = tr.passed > 0 ? `${tr.passed}${markdown_utils_1.Icon.success}` : '';
const failed = tr.failed > 0 ? `${tr.failed}${markdown_utils_1.Icon.fail}` : ''; const failed = tr.failed > 0 ? `${tr.failed}${markdown_utils_1.Icon.fail}` : '';
const skipped = tr.skipped > 0 ? `${tr.skipped}${markdown_utils_1.Icon.skip}` : ''; const skipped = tr.skipped > 0 ? `${tr.skipped}${markdown_utils_1.Icon.skip}` : '';
return [nameLink, passed, failed, skipped, time]; return [name, passed, failed, skipped, time];
}); });
const resultsTable = (0, markdown_utils_1.table)(['Report', 'Passed', 'Failed', 'Skipped', 'Time'], [markdown_utils_1.Align.Left, markdown_utils_1.Align.Right, markdown_utils_1.Align.Right, markdown_utils_1.Align.Right, markdown_utils_1.Align.Right], ...tableData); const resultsTable = (0, markdown_utils_1.table)(['Report', 'Passed', 'Failed', 'Skipped', 'Time'], [markdown_utils_1.Align.Left, markdown_utils_1.Align.Right, markdown_utils_1.Align.Right, markdown_utils_1.Align.Right, markdown_utils_1.Align.Right], ...tableData);
sections.push(resultsTable); sections.push(resultsTable);
@ -2036,9 +1971,9 @@ var Align;
Align["None"] = "---"; Align["None"] = "---";
})(Align = exports.Align || (exports.Align = {})); })(Align = exports.Align || (exports.Align = {}));
exports.Icon = { exports.Icon = {
skip: '✖️', skip: ':no_entry_sign:',
success: '✔️', success: ':white_check_mark:',
fail: '❌' // ':x:' fail: ':x:'
}; };
function link(title, address) { function link(title, address) {
return `[${title}](${address})`; return `[${title}](${address})`;

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,6 @@
import * as core from '@actions/core' import * as core from '@actions/core'
import * as github from '@actions/github' import * as github from '@actions/github'
import * as fs from 'fs'
import {GitHub} from '@actions/github/lib/utils' import {GitHub} from '@actions/github/lib/utils'
import {ArtifactProvider} from './input-providers/artifact-provider' import {ArtifactProvider} from './input-providers/artifact-provider'
@ -7,7 +8,6 @@ import {LocalFileProvider} from './input-providers/local-file-provider'
import {FileContent} from './input-providers/input-provider' import {FileContent} from './input-providers/input-provider'
import {ParseOptions, TestParser} from './test-parser' import {ParseOptions, TestParser} from './test-parser'
import {TestRunResult} from './test-results' import {TestRunResult} from './test-results'
import {getAnnotations} from './report/get-annotations'
import {getReport} from './report/get-report' import {getReport} from './report/get-report'
import {DartJsonParser} from './parsers/dart-json/dart-json-parser' import {DartJsonParser} from './parsers/dart-json/dart-json-parser'
@ -18,7 +18,6 @@ import {MochaJsonParser} from './parsers/mocha-json/mocha-json-parser'
import {normalizeDirPath, normalizeFilePath} from './utils/path-utils' import {normalizeDirPath, normalizeFilePath} from './utils/path-utils'
import {getCheckRunContext} from './utils/github-utils' import {getCheckRunContext} from './utils/github-utils'
import {Icon} from './utils/markdown-utils'
async function main(): Promise<void> { async function main(): Promise<void> {
try { try {
@ -154,45 +153,50 @@ class TestReporter {
results.push(tr) results.push(tr)
} }
core.info(`Creating check run ${name}`) // core.info(`Creating check run ${name}`)
const createResp = await this.octokit.rest.checks.create({ // const createResp = await this.octokit.checks.create({
head_sha: this.context.sha, // head_sha: this.context.sha,
name, // name,
status: 'in_progress', // status: 'in_progress',
output: { // output: {
title: name, // title: name,
summary: '' // summary: ''
}, // },
...github.context.repo // ...github.context.repo
}) // })
core.info('Creating report summary') core.info('Creating report summary')
const {listSuites, listTests, onlySummary} = this const {listSuites, listTests, onlySummary} = this
const baseUrl = createResp.data.html_url as string const baseUrl = ''
const summary = getReport(results, {listSuites, listTests, baseUrl, onlySummary}) const summary = getReport(results, {listSuites, listTests, baseUrl, onlySummary})
core.info('Summary content:')
core.info(summary)
await fs.promises.writeFile(this.path.replace('*.trx', 'test-summary.md'), summary)
core.info('File content:')
core.info(fs.readFileSync(this.path.replace('*.trx', 'test-summary.md'), 'utf8'))
core.info('Creating annotations') // core.info('Creating annotations')
const annotations = getAnnotations(results, this.maxAnnotations) // const annotations = getAnnotations(results, this.maxAnnotations)
const isFailed = results.some(tr => tr.result === 'failed') // const isFailed = results.some(tr => tr.result === 'failed')
const conclusion = isFailed ? 'failure' : 'success' // const conclusion = isFailed ? 'failure' : 'success'
const icon = isFailed ? Icon.fail : Icon.success // const icon = isFailed ? Icon.fail : Icon.success
core.info(`Updating check run conclusion (${conclusion}) and output`) // core.info(`Updating check run conclusion (${conclusion}) and output`)
const resp = await this.octokit.rest.checks.update({ // const resp = await this.octokit.checks.update({
check_run_id: createResp.data.id, // check_run_id: createResp.data.id,
conclusion, // conclusion,
status: 'completed', // status: 'completed',
output: { // output: {
title: `${name} ${icon}`, // title: `${name} ${icon}`,
summary, // summary,
annotations // annotations
}, // },
...github.context.repo // ...github.context.repo
}) // })
core.info(`Check run create response: ${resp.status}`) // core.info(`Check run create response: ${resp.status}`)
core.info(`Check run URL: ${resp.data.url}`) // core.info(`Check run URL: ${resp.data.url}`)
core.info(`Check run HTML: ${resp.data.html_url}`) // core.info(`Check run HTML: ${resp.data.html_url}`)
return results return results
} }

View file

@ -16,7 +16,10 @@ import {
} from '../../test-results' } from '../../test-results'
class TestClass { class TestClass {
constructor(readonly name: string) {} constructor(
readonly name: string,
readonly assemblyName: string
) {}
readonly tests: Test[] = [] readonly tests: Test[] = []
} }
@ -81,9 +84,12 @@ export class DotnetTrxParser implements TestParser {
const testClasses: {[name: string]: TestClass} = {} const testClasses: {[name: string]: TestClass} = {}
for (const r of unitTestsResults) { for (const r of unitTestsResults) {
const className = r.test.TestMethod[0].$.className const className = r.test.TestMethod[0].$.className
const codeBase = r.test.TestMethod[0].$.codeBase
const pathSegments = codeBase.replace(/\\/g, '/').split('/')
const assemblyName = pathSegments[pathSegments.length - 1].replace('.dll', '')
let tc = testClasses[className] let tc = testClasses[className]
if (tc === undefined) { if (tc === undefined) {
tc = new TestClass(className) tc = new TestClass(className, assemblyName)
testClasses[tc.name] = tc testClasses[tc.name] = tc
} }
const error = this.getErrorInfo(r.result) const error = this.getErrorInfo(r.result)
@ -117,6 +123,10 @@ export class DotnetTrxParser implements TestParser {
return new TestSuiteResult(testClass.name, [group]) return new TestSuiteResult(testClass.name, [group])
}) })
if (testClasses.length > 0) {
return new TestRunResult(testClasses[0].assemblyName, suites, totalTime)
}
return new TestRunResult(path, suites, totalTime) return new TestRunResult(path, suites, totalTime)
} }

View file

@ -30,6 +30,7 @@ export interface UnitTest {
export interface TestMethod { export interface TestMethod {
$: { $: {
codeBase: string
className: string className: string
name: string name: string
} }

View file

@ -136,15 +136,15 @@ function getTestRunsReport(testRuns: TestRunResult[], options: ReportOptions): s
const sections: string[] = [] const sections: string[] = []
if (testRuns.length > 1 || options.onlySummary) { if (testRuns.length > 1 || options.onlySummary) {
const tableData = testRuns.map((tr, runIndex) => { const tableData = testRuns
.filter(tr => tr.passed > 0 || tr.failed > 0 || tr.skipped > 0)
.map(tr => {
const time = formatTime(tr.time) const time = formatTime(tr.time)
const name = tr.path const name = tr.path
const addr = options.baseUrl + makeRunSlug(runIndex).link
const nameLink = link(name, addr)
const passed = tr.passed > 0 ? `${tr.passed}${Icon.success}` : '' const passed = tr.passed > 0 ? `${tr.passed}${Icon.success}` : ''
const failed = tr.failed > 0 ? `${tr.failed}${Icon.fail}` : '' const failed = tr.failed > 0 ? `${tr.failed}${Icon.fail}` : ''
const skipped = tr.skipped > 0 ? `${tr.skipped}${Icon.skip}` : '' const skipped = tr.skipped > 0 ? `${tr.skipped}${Icon.skip}` : ''
return [nameLink, passed, failed, skipped, time] return [name, passed, failed, skipped, time]
}) })
const resultsTable = table( const resultsTable = table(

View file

@ -6,9 +6,9 @@ export enum Align {
} }
export const Icon = { export const Icon = {
skip: '✖️', // ':heavy_multiplication_x:' skip: ':no_entry_sign:',
success: '✔️', // ':heavy_check_mark:' success: ':white_check_mark:',
fail: '❌' // ':x:' fail: ':x:'
} }
export function link(title: string, address: string): string { export function link(title: string, address: string): string {