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

View file

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

View file

@ -1,12 +1,12 @@
![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.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1❌|1✖|116ms|
###  <a id="user-content-r0s0" href="#r0s0">org.apache.pulsar.AddMissingPatchVersionTest</a>
|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1:x:|1:no_entry_sign:|116ms|
### :x: <a id="user-content-r0s0" href="#r0s0">org.apache.pulsar.AddMissingPatchVersionTest</a>
```
✖️ testVersionStrings
testVersionStrings
:no_entry_sign: testVersionStrings
:x: testVersionStrings
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)
## ✔️ <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.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#r0s0)|6✔️|||30ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#r0s1)|2✔️||3✖|101ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#r0s2)|4✔️||3✖|166ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#r0s3)|2✔️|||7ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#r0s4)|1✔️||3✖|40ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#r0s5)|1✔️||3✖|15ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#r0s6)|5✔️|||16ms|
|[VanillaCloudStorageClientTest.CloudStorageTokenTest](#r0s7)|9✔️|||0ms|
|[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#r0s8)|3✔️|||3ms|
|[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#r0s9)|9✔️|||12ms|
|[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#r0s10)|5✔️|||13ms|
|[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#r0s11)|7✔️|||0ms|
|[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#r0s12)|13✔️|||43ms|
### ✔️ <a id="user-content-r0s0" href="#r0s0">VanillaCloudStorageClientTest.CloudStorageCredentialsTest</a>
|[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#r0s0)|6:white_check_mark:|||30ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#r0s1)|2:white_check_mark:||3:no_entry_sign:|101ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#r0s2)|4:white_check_mark:||3:no_entry_sign:|166ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#r0s3)|2:white_check_mark:|||7ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#r0s4)|1:white_check_mark:||3:no_entry_sign:|40ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#r0s5)|1:white_check_mark:||3:no_entry_sign:|15ms|
|[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#r0s6)|5:white_check_mark:|||16ms|
|[VanillaCloudStorageClientTest.CloudStorageTokenTest](#r0s7)|9:white_check_mark:|||0ms|
|[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#r0s8)|3:white_check_mark:|||3ms|
|[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#r0s9)|9:white_check_mark:|||12ms|
|[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#r0s10)|5:white_check_mark:|||13ms|
|[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#r0s11)|7:white_check_mark:|||0ms|
|[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#r0s12)|13:white_check_mark:|||43ms|
### :white_check_mark: <a id="user-content-r0s0" href="#r0s0">VanillaCloudStorageClientTest.CloudStorageCredentialsTest</a>
```
✔️ AreEqualWorksWithDifferentPassword
✔️ AreEqualWorksWithSameContent
✔️ CorrectlyConvertsSecureStringToString
✔️ CorrectlyConvertsStringToSecureString
✔️ ValidateAcceptsValidCredentials
✔️ ValidateRejectsInvalidCredentials
:white_check_mark: AreEqualWorksWithDifferentPassword
:white_check_mark: AreEqualWorksWithSameContent
:white_check_mark: CorrectlyConvertsSecureStringToString
:white_check_mark: CorrectlyConvertsStringToSecureString
:white_check_mark: ValidateAcceptsValidCredentials
: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
✖️ ReallyDoFetchToken
✖️ ReallyDoOpenAuthorizationPageInBrowser
✖️ ReallyDoRefreshToken
✔️ ThrowsAccessDeniedExceptionWithInvalidToken
:white_check_mark: FileLifecycleWorks
:no_entry_sign: ReallyDoFetchToken
:no_entry_sign: ReallyDoOpenAuthorizationPageInBrowser
:no_entry_sign: ReallyDoRefreshToken
: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
✔️ SanitizeCredentials_ChangesInvalidPrefix
✔️ SecureSslConnectionWorks
✔️ ThrowsWithHttpInsteadOfFtp
✖️ ThrowsWithInvalidPassword
✖️ ThrowsWithInvalidUrl
✖️ ThrowsWithInvalidUsername
:white_check_mark: FileLifecycleWorks
:white_check_mark: SanitizeCredentials_ChangesInvalidPrefix
:white_check_mark: SecureSslConnectionWorks
:white_check_mark: ThrowsWithHttpInsteadOfFtp
:no_entry_sign: ThrowsWithInvalidPassword
:no_entry_sign: ThrowsWithInvalidUrl
: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
✔️ ChoosesCorrectUrlForGmxNetEmail
:white_check_mark: ChoosesCorrectUrlForGmxComEmail
: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
✖️ ReallyDoFetchToken
✖️ ReallyDoOpenAuthorizationPageInBrowser
✖️ ReallyDoRefreshToken
:white_check_mark: FileLifecycleWorks
:no_entry_sign: ReallyDoFetchToken
:no_entry_sign: ReallyDoOpenAuthorizationPageInBrowser
: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
✖️ ReallyDoFetchToken
✖️ ReallyDoOpenAuthorizationPageInBrowser
✖️ ReallyDoRefreshToken
:white_check_mark: FileLifecycleWorks
:no_entry_sign: ReallyDoFetchToken
:no_entry_sign: ReallyDoOpenAuthorizationPageInBrowser
: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
✔️ ParseGmxWebdavResponseCorrectly
✔️ ParseStratoWebdavResponseCorrectly
✔️ ThrowsWithInvalidPath
✔️ ThrowsWithInvalidUsername
:white_check_mark: FileLifecycleWorks
:white_check_mark: ParseGmxWebdavResponseCorrectly
:white_check_mark: ParseStratoWebdavResponseCorrectly
:white_check_mark: ThrowsWithInvalidPath
: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
✔️ AreEqualWorksWithSameContent
✔️ NeedsRefreshReturnsFalseForTokenFlow
✔️ NeedsRefreshReturnsFalseIfNotExpired
✔️ NeedsRefreshReturnsTrueIfExpired
✔️ NeedsRefreshReturnsTrueIfNoExpirationDate
✔️ SetExpiryDateBySecondsWorks
✔️ SetExpiryDateBySecondsWorksWithNull
✔️ SetExpiryDateBySecondsWorksWithVeryShortPeriod
:white_check_mark: AreEqualWorksWithNullDate
:white_check_mark: AreEqualWorksWithSameContent
:white_check_mark: NeedsRefreshReturnsFalseForTokenFlow
:white_check_mark: NeedsRefreshReturnsFalseIfNotExpired
:white_check_mark: NeedsRefreshReturnsTrueIfExpired
:white_check_mark: NeedsRefreshReturnsTrueIfNoExpirationDate
:white_check_mark: SetExpiryDateBySecondsWorks
:white_check_mark: SetExpiryDateBySecondsWorksWithNull
: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
✔️ ParsesNullErrorCodeCorrectly
✔️ ParsesUnknownErrorCodeCorrectly
:white_check_mark: ParsesAllErrorCodesCorrectly
:white_check_mark: ParsesNullErrorCodeCorrectly
: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
✔️ BuildAuthorizationRequestUrlLeavesOutOptionalParameters
✔️ BuildAuthorizationRequestUrlThrowsWithMissingRedirectUrlForTokenFlow
✔️ BuildAuthorizationRequestUrlUsesAllParameters
✔️ BuildAuthorizationRequestUrlUsesCodeVerifier
✔️ ParseRealWorldDropboxRejectResponse
✔️ ParseRealWorldDropboxSuccessResponse
✔️ ParseRealWorldGoogleRejectResponse
✔️ ParseRealWorldGoogleSuccessResponse
:white_check_mark: BuildAuthorizationRequestUrlEscapesParameters
:white_check_mark: BuildAuthorizationRequestUrlLeavesOutOptionalParameters
:white_check_mark: BuildAuthorizationRequestUrlThrowsWithMissingRedirectUrlForTokenFlow
:white_check_mark: BuildAuthorizationRequestUrlUsesAllParameters
:white_check_mark: BuildAuthorizationRequestUrlUsesCodeVerifier
:white_check_mark: ParseRealWorldDropboxRejectResponse
:white_check_mark: ParseRealWorldDropboxSuccessResponse
:white_check_mark: ParseRealWorldGoogleRejectResponse
: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
✔️ FetchTokenCanInterpretGoogleResponse
✔️ FetchTokenReturnsNullForDeniedAccess
✔️ FetchTokenThrowsWithWrongState
✔️ RefreshTokenCanInterpretGoogleResponse
:white_check_mark: BuildOAuth2AuthorizationRequestUrlWorks
:white_check_mark: FetchTokenCanInterpretGoogleResponse
:white_check_mark: FetchTokenReturnsNullForDeniedAccess
:white_check_mark: FetchTokenThrowsWithWrongState
: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
✔️ CorrectlyConvertsSecureStringToString
✔️ CorrectlyConvertsSecureStringToUnicodeBytes
✔️ CorrectlyConvertsSecureStringToUtf8Bytes
✔️ CorrectlyConvertsStringToSecureString
✔️ CorrectlyConvertsUnicodeBytesToSecureString
✔️ CorrectlyConvertsUtf8BytesToSecureString
:white_check_mark: AreEqualsWorksCorrectly
:white_check_mark: CorrectlyConvertsSecureStringToString
:white_check_mark: CorrectlyConvertsSecureStringToUnicodeBytes
:white_check_mark: CorrectlyConvertsSecureStringToUtf8Bytes
:white_check_mark: CorrectlyConvertsStringToSecureString
:white_check_mark: CorrectlyConvertsUnicodeBytesToSecureString
: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
✔️ DecryptAfterDesrializationRespectsNullProperties
✔️ EncryptBeforeSerializationProtectsAllNecessaryProperties
✔️ EncryptBeforeSerializationRespectsNullProperties
✔️ SerializedDatacontractCanBeReadBack
✔️ SerializedDatacontractDoesNotContainNullProperties
✔️ SerializedDatacontractDoesNotContainPlaintextData
✔️ SerializedJsonCanBeReadBack
✔️ SerializedJsonDoesNotContainNullProperties
✔️ SerializedJsonDoesNotContainPlaintextData
✔️ SerializedXmlCanBeReadBack
✔️ SerializedXmlDoesNotContainNullProperties
✔️ SerializedXmlDoesNotContainPlaintextData
:white_check_mark: DecryptAfterDesrializationCanReadAllPropertiesBack
:white_check_mark: DecryptAfterDesrializationRespectsNullProperties
:white_check_mark: EncryptBeforeSerializationProtectsAllNecessaryProperties
:white_check_mark: EncryptBeforeSerializationRespectsNullProperties
:white_check_mark: SerializedDatacontractCanBeReadBack
:white_check_mark: SerializedDatacontractDoesNotContainNullProperties
:white_check_mark: SerializedDatacontractDoesNotContainPlaintextData
:white_check_mark: SerializedJsonCanBeReadBack
:white_check_mark: SerializedJsonDoesNotContainNullProperties
:white_check_mark: SerializedJsonDoesNotContainPlaintextData
:white_check_mark: SerializedXmlCanBeReadBack
:white_check_mark: SerializedXmlDoesNotContainNullProperties
:white_check_mark: SerializedXmlDoesNotContainPlaintextData
```

View file

@ -2,7 +2,7 @@
exports[`dotnet-trx tests matches report snapshot 1`] = `
TestRunResult {
"path": "fixtures/dotnet-trx.trx",
"path": "DotnetTests.XUnitTests",
"suites": Array [
TestSuiteResult {
"groups": Array [
@ -131,7 +131,7 @@ Actual: False",
exports[`dotnet-trx tests report from FluentValidation test results matches snapshot 1`] = `
TestRunResult {
"path": "fixtures/external/FluentValidation.Tests.trx",
"path": "FluentValidation.Tests",
"suites": Array [
TestSuiteResult {
"groups": Array [
@ -5646,7 +5646,7 @@ TestRunResult {
exports[`dotnet-trx tests report from SilentNotes test results matches snapshot 1`] = `
TestRunResult {
"path": "fixtures/external/SilentNotes.trx",
"path": "VanillaCloudStorageClientTest",
"suites": Array [
TestSuiteResult {
"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 }));
const core = __importStar(__nccwpck_require__(2186));
const github = __importStar(__nccwpck_require__(5438));
const fs = __importStar(__nccwpck_require__(7147));
const artifact_provider_1 = __nccwpck_require__(7171);
const local_file_provider_1 = __nccwpck_require__(9399);
const get_annotations_1 = __nccwpck_require__(5867);
const get_report_1 = __nccwpck_require__(3737);
const dart_json_parser_1 = __nccwpck_require__(4528);
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 path_utils_1 = __nccwpck_require__(4070);
const github_utils_1 = __nccwpck_require__(3522);
const markdown_utils_1 = __nccwpck_require__(6482);
function main() {
return __awaiter(this, void 0, void 0, function* () {
try {
@ -381,29 +380,46 @@ class TestReporter {
const tr = yield parser.parse(file, content);
results.push(tr);
}
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: {
title: name,
summary: ''
} }, github.context.repo));
// core.info(`Creating check run ${name}`)
// const createResp = await this.octokit.checks.create({
// head_sha: this.context.sha,
// name,
// status: 'in_progress',
// output: {
// title: name,
// summary: ''
// },
// ...github.context.repo
// })
core.info('Creating report summary');
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 });
core.info('Creating annotations');
const annotations = (0, get_annotations_1.getAnnotations)(results, this.maxAnnotations);
const isFailed = results.some(tr => tr.result === 'failed');
const conclusion = isFailed ? 'failure' : 'success';
const icon = isFailed ? markdown_utils_1.Icon.fail : markdown_utils_1.Icon.success;
core.info(`Updating check run conclusion (${conclusion}) and output`);
const resp = yield this.octokit.rest.checks.update(Object.assign({ check_run_id: createResp.data.id, 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}`);
core.info('Summary content:');
core.info(summary);
yield 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')
// const annotations = getAnnotations(results, this.maxAnnotations)
// const isFailed = results.some(tr => tr.result === 'failed')
// const conclusion = isFailed ? 'failure' : 'success'
// const icon = isFailed ? Icon.fail : Icon.success
// core.info(`Updating check run conclusion (${conclusion}) and output`)
// const resp = await this.octokit.checks.update({
// check_run_id: createResp.data.id,
// 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;
});
}
@ -725,8 +741,9 @@ const path_utils_1 = __nccwpck_require__(4070);
const parse_utils_1 = __nccwpck_require__(7811);
const test_results_1 = __nccwpck_require__(2768);
class TestClass {
constructor(name) {
constructor(name, assemblyName) {
this.name = name;
this.assemblyName = assemblyName;
this.tests = [];
}
}
@ -788,9 +805,12 @@ class DotnetTrxParser {
const testClasses = {};
for (const r of unitTestsResults) {
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];
if (tc === undefined) {
tc = new TestClass(className);
tc = new TestClass(className, assemblyName);
testClasses[tc.name] = tc;
}
const error = this.getErrorInfo(r.result);
@ -817,6 +837,9 @@ class DotnetTrxParser {
const group = new test_results_1.TestGroupResult(null, tests);
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);
}
getErrorInfo(testResult) {
@ -1337,94 +1360,6 @@ class 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:
@ -1566,15 +1501,15 @@ function getBadge(passed, failed, skipped) {
function getTestRunsReport(testRuns, options) {
const sections = [];
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 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 failed = tr.failed > 0 ? `${tr.failed}${markdown_utils_1.Icon.fail}` : '';
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);
sections.push(resultsTable);
@ -2036,9 +1971,9 @@ var Align;
Align["None"] = "---";
})(Align = exports.Align || (exports.Align = {}));
exports.Icon = {
skip: '✖️',
success: '✔️',
fail: '❌' // ':x:'
skip: ':no_entry_sign:',
success: ':white_check_mark:',
fail: ':x:'
};
function link(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 github from '@actions/github'
import * as fs from 'fs'
import {GitHub} from '@actions/github/lib/utils'
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 {ParseOptions, TestParser} from './test-parser'
import {TestRunResult} from './test-results'
import {getAnnotations} from './report/get-annotations'
import {getReport} from './report/get-report'
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 {getCheckRunContext} from './utils/github-utils'
import {Icon} from './utils/markdown-utils'
async function main(): Promise<void> {
try {
@ -154,45 +153,50 @@ class TestReporter {
results.push(tr)
}
core.info(`Creating check run ${name}`)
const createResp = await this.octokit.rest.checks.create({
head_sha: this.context.sha,
name,
status: 'in_progress',
output: {
title: name,
summary: ''
},
...github.context.repo
})
// core.info(`Creating check run ${name}`)
// const createResp = await this.octokit.checks.create({
// head_sha: this.context.sha,
// name,
// status: 'in_progress',
// output: {
// title: name,
// summary: ''
// },
// ...github.context.repo
// })
core.info('Creating report summary')
const {listSuites, listTests, onlySummary} = this
const baseUrl = createResp.data.html_url as string
const baseUrl = ''
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')
const annotations = getAnnotations(results, this.maxAnnotations)
// core.info('Creating annotations')
// const annotations = getAnnotations(results, this.maxAnnotations)
const isFailed = results.some(tr => tr.result === 'failed')
const conclusion = isFailed ? 'failure' : 'success'
const icon = isFailed ? Icon.fail : Icon.success
// const isFailed = results.some(tr => tr.result === 'failed')
// const conclusion = isFailed ? 'failure' : 'success'
// const icon = isFailed ? Icon.fail : Icon.success
core.info(`Updating check run conclusion (${conclusion}) and output`)
const resp = await this.octokit.rest.checks.update({
check_run_id: createResp.data.id,
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}`)
// core.info(`Updating check run conclusion (${conclusion}) and output`)
// const resp = await this.octokit.checks.update({
// check_run_id: createResp.data.id,
// 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
}

View file

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

View file

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

View file

@ -136,16 +136,16 @@ function getTestRunsReport(testRuns: TestRunResult[], options: ReportOptions): s
const sections: string[] = []
if (testRuns.length > 1 || options.onlySummary) {
const tableData = testRuns.map((tr, runIndex) => {
const time = formatTime(tr.time)
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 failed = tr.failed > 0 ? `${tr.failed}${Icon.fail}` : ''
const skipped = tr.skipped > 0 ? `${tr.skipped}${Icon.skip}` : ''
return [nameLink, passed, failed, skipped, time]
})
const tableData = testRuns
.filter(tr => tr.passed > 0 || tr.failed > 0 || tr.skipped > 0)
.map(tr => {
const time = formatTime(tr.time)
const name = tr.path
const passed = tr.passed > 0 ? `${tr.passed}${Icon.success}` : ''
const failed = tr.failed > 0 ? `${tr.failed}${Icon.fail}` : ''
const skipped = tr.skipped > 0 ? `${tr.skipped}${Icon.skip}` : ''
return [name, passed, failed, skipped, time]
})
const resultsTable = table(
['Report', 'Passed', 'Failed', 'Skipped', 'Time'],

View file

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