Skip to content

Commit

Permalink
Merge branch 'main' into mocha-json
Browse files Browse the repository at this point in the history
  • Loading branch information
Michal Dorner committed Mar 8, 2021
2 parents 63dddc9 + 51956ba commit 3768e4e
Show file tree
Hide file tree
Showing 30 changed files with 14,917 additions and 547 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog

## v1.3.0
- [Add support for java-junit](https://github.com/dorny/test-reporter/pull/80)
- [Fix: Handle test reports with no test cases](https://github.com/dorny/test-reporter/pull/70)
- [Fix: Reduce number of API calls to get list of files tracked by GitHub](https://github.com/dorny/test-reporter/pull/69)

## v1.2.0
- [Set `listTests` and `listSuites` to lower detail if report is too big](https://github.com/dorny/test-reporter/pull/60)

Expand Down
30 changes: 26 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ This [Github Action](https://github.com/features/actions) displays test results
- Dart / [test](https://pub.dev/packages/test)
- Flutter / [test](https://pub.dev/packages/test)
- JavaScript / [JEST](https://jestjs.io/)
- Java / [JUnit](https://junit.org/)

For more information see [Supported formats](#supported-formats) section.

Expand Down Expand Up @@ -122,6 +123,7 @@ jobs:
# dart-json
# dotnet-trx
# flutter-json
# java-junit
# jest-junit
# mocha-json
reporter: ''
Expand Down Expand Up @@ -235,14 +237,23 @@ For more information see:
</details>

<details>
<summary>jest-junit</summary>
<summary>java-junit (Experimental)</summary>

[JEST](https://jestjs.io/) testing framework support requires usage of [jest-junit](https://github.com/jest-community/jest-junit) reporter.
It will create test results in junit XML format which can be then processed by this action.
Support for [JUnit](https://Junit.org/) XML is experimental - should work but it was not extensively tested.
To have code annotations working properly it's required your directory structure matches package name.
This is due to the fact Java stacktraces doesn't contains full path to the source file.
Some heuristic was necessary to figure out mapping between line in stack trace and actual source file.
</details>

<details>
<summary>jest-Junit</summary>

[JEST](https://jestjs.io/) testing framework support requires usage of [jest-Junit](https://github.com/jest-community/jest-Junit) reporter.
It will create test results in Junit XML format which can be then processed by this action.
You can use following example configuration in `package.json`:
```json
"scripts": {
"test": "jest --ci --reporters=default --reporters=jest-junit"
"test": "jest --ci --reporters=default --reporters=jest-Junit"
},
"devDependencies": {
"jest": "^26.5.3",
Expand All @@ -262,6 +273,17 @@ You can use following example configuration in `package.json`:
Configuration of `uniqueOutputName`, `suiteNameTemplate`, `classNameTemplate`, `titleTemplate` is important for proper visualization of test results.
</details>

## GitHub limitations

Unfortunately there are some known issues and limitations caused by GitHub API:

- Test report (i.e. Check Run summary) is markdown text. No custom styling or HTML is possible.
- Maximum report size is 65535 bytes. Input parameters `list-suites` and `list-tests` will be automatically adjusted if max size is exceeded.
- Test report can't reference any additional files (e.g. screenshots). You can use `actions/upload-artifact@v2` to upload them and inspect manually.
- Check Runs are created for specific commit SHA. it's not possible to specify under which workflow test report should belong if there are more
workflows running for same SHA. Thanks to this GitHub "feature" it's possible your test report will appear in unexpected place in GitHub UI.
For more information see [#67](https://github.com/dorny/test-reporter/issues/67).

## See also
- [paths-filter](https://github.com/dorny/paths-filter) - Conditionally run actions based on files modified by PR, feature branch or pushed commits

Expand Down
13 changes: 13 additions & 0 deletions __tests__/__outputs__/pulsar-test-results-no-merge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
![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> ❌
**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> ❌
**2** tests were completed in **116ms** with **0** passed, **1** failed and **1** skipped.

|Result|Test|Time|
|:---:|:---|---:|
|✖️|testVersionStrings|99ms|
||testVersionStrings|17ms|
188 changes: 188 additions & 0 deletions __tests__/__outputs__/pulsar-test-results.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
![Tests failed](https://img.shields.io/badge/tests-793%20passed%2C%201%20failed%2C%2014%20skipped-critical)
## <a id="user-content-r0" href="#r0">fixtures/external/java/pulsar-test-report.xml</a> ❌
**808** tests were completed in **2126.531s** with **793** passed, **1** failed and **14** skipped.
|Test suite|Passed|Failed|Skipped|Time|
|:---|---:|---:|---:|---:|
|[org.apache.pulsar.AddMissingPatchVersionTest](#r0s0)||1❌|1✖️|116ms|
|org.apache.pulsar.broker.admin.AdminApiOffloadTest|7✔️|||18.584s|
|org.apache.pulsar.broker.auth.AuthenticationServiceTest|2✔️|||185ms|
|org.apache.pulsar.broker.auth.AuthLogsTest|2✔️|||1.389s|
|org.apache.pulsar.broker.auth.AuthorizationTest|1✔️|||2.384s|
|org.apache.pulsar.broker.lookup.http.HttpTopicLookupv2Test|4✔️|||1.930s|
|org.apache.pulsar.broker.namespace.NamespaceCreateBundlesTest|2✔️|||33.168s|
|org.apache.pulsar.broker.namespace.NamespaceOwnershipListenerTests|2✔️|||32.357s|
|org.apache.pulsar.broker.namespace.NamespaceServiceTest|10✔️|||75.272s|
|org.apache.pulsar.broker.namespace.NamespaceUnloadingTest|2✔️|||13.704s|
|org.apache.pulsar.broker.namespace.OwnerShipCacheForCurrentServerTest|1✔️|||15.709s|
|org.apache.pulsar.broker.namespace.OwnershipCacheTest|8✔️|||15.750s|
|org.apache.pulsar.broker.protocol.ProtocolHandlersTest|6✔️|||946ms|
|org.apache.pulsar.broker.protocol.ProtocolHandlerUtilsTest|3✔️|||7.398s|
|org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoaderTest|1✔️|||15ms|
|org.apache.pulsar.broker.PulsarServiceTest|2✔️|||96ms|
|org.apache.pulsar.broker.service.MessagePublishBufferThrottleTest|3✔️|||13.830s|
|org.apache.pulsar.broker.service.ReplicatorTest|22✔️|||40.154s|
|org.apache.pulsar.broker.service.TopicOwnerTest|8✔️|||114.278s|
|org.apache.pulsar.broker.SLAMonitoringTest|4✔️|||9.185s|
|org.apache.pulsar.broker.stats.BookieClientsStatsGeneratorTest|2✔️|||49ms|
|org.apache.pulsar.broker.stats.ConsumerStatsTest|3✔️|||21.164s|
|org.apache.pulsar.broker.stats.ManagedCursorMetricsTest|1✔️|||281ms|
|org.apache.pulsar.broker.stats.ManagedLedgerMetricsTest|1✔️|||285ms|
|org.apache.pulsar.broker.stats.prometheus.AggregatedNamespaceStatsTest|1✔️|||40ms|
|org.apache.pulsar.broker.stats.PrometheusMetricsTest|15✔️|||83.145s|
|org.apache.pulsar.broker.stats.SubscriptionStatsTest|2✔️|||1.806s|
|org.apache.pulsar.broker.systopic.NamespaceEventsSystemTopicServiceTest|1✔️|||1.043s|
|org.apache.pulsar.broker.transaction.buffer.InMemTransactionBufferReaderTest|3✔️|||28ms|
|org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest|4✔️|||93ms|
|org.apache.pulsar.broker.transaction.buffer.TransactionBufferTest|7✔️|||81ms|
|org.apache.pulsar.broker.transaction.buffer.TransactionEntryImplTest|1✔️|||14ms|
|org.apache.pulsar.broker.transaction.buffer.TransactionLowWaterMarkTest|2✔️|||37.577s|
|org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest|2✔️||1✖️|49.067s|
|org.apache.pulsar.broker.transaction.coordinator.TransactionCoordinatorClientTest|3✔️|||95ms|
|org.apache.pulsar.broker.transaction.coordinator.TransactionMetaStoreAssignmentTest|1✔️|||1.151s|
|org.apache.pulsar.broker.transaction.pendingack.PendingAckInMemoryDeleteTest|2✔️||1✖️|57.293s|
|org.apache.pulsar.broker.transaction.TransactionConsumeTest|2✔️|||29.646s|
|org.apache.pulsar.broker.web.RestExceptionTest|3✔️|||37ms|
|org.apache.pulsar.broker.web.WebServiceTest|9✔️|||27.442s|
|org.apache.pulsar.client.impl.AdminApiKeyStoreTlsAuthTest|4✔️|||8.297s|
|org.apache.pulsar.client.impl.BatchMessageIdImplSerializationTest|4✔️|||30ms|
|org.apache.pulsar.client.impl.BatchMessageIndexAckDisableTest|4✔️|||13.732s|
|org.apache.pulsar.client.impl.BatchMessageIndexAckTest|5✔️|||43.856s|
|org.apache.pulsar.client.impl.BrokerClientIntegrationTest|15✔️|||148.203s|
|org.apache.pulsar.client.impl.CompactedOutBatchMessageTest|1✔️|||1.385s|
|org.apache.pulsar.client.impl.ConsumerAckResponseTest|1✔️|||549ms|
|org.apache.pulsar.client.impl.ConsumerConfigurationTest|4✔️|||12.164s|
|org.apache.pulsar.client.impl.ConsumerDedupPermitsUpdate|7✔️|||3.522s|
|org.apache.pulsar.client.impl.ConsumerUnsubscribeTest|1✔️|||129ms|
|org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithAuth|3✔️|||23.461s|
|org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithoutAuth|3✔️|||7.675s|
|org.apache.pulsar.client.impl.KeyStoreTlsTest|1✔️|||183ms|
|org.apache.pulsar.client.impl.MessageChecksumTest|3✔️|||46.690s|
|org.apache.pulsar.client.impl.MessageChunkingTest|8✔️||1✖️|73.214s|
|org.apache.pulsar.client.impl.MessageParserTest|2✔️|||5.485s|
|org.apache.pulsar.client.impl.MultiTopicsReaderTest|8✔️|||35.143s|
|org.apache.pulsar.client.impl.NegativeAcksTest|32✔️|||10.662s|
|org.apache.pulsar.client.impl.PatternTopicsConsumerImplTest|11✔️|||62.620s|
|org.apache.pulsar.client.impl.PerMessageUnAcknowledgedRedeliveryTest|5✔️|||33.504s|
|org.apache.pulsar.client.impl.PulsarMultiHostClientTest|3✔️|||15.314s|
|org.apache.pulsar.client.impl.RawMessageSerDeserTest|1✔️|||10ms|
|org.apache.pulsar.client.impl.SchemaDeleteTest|1✔️|||1.937s|
|org.apache.pulsar.client.impl.SequenceIdWithErrorTest|3✔️||2✖️|17.976s|
|org.apache.pulsar.client.impl.TopicDoesNotExistsTest|2✔️|||4.053s|
|org.apache.pulsar.client.impl.TopicFromMessageTest|5✔️|||13.659s|
|org.apache.pulsar.client.impl.TopicsConsumerImplTest|17✔️|||133.445s|
|org.apache.pulsar.client.impl.UnAcknowledgedMessagesTimeoutTest|7✔️|||43.828s|
|org.apache.pulsar.client.impl.ZeroQueueSizeTest|14✔️|||15.712s|
|org.apache.pulsar.common.api.raw.RawMessageImplTest|1✔️|||316ms|
|org.apache.pulsar.common.compression.CommandsTest|1✔️|||30ms|
|org.apache.pulsar.common.compression.CompressorCodecBackwardCompatTest|6✔️|||223ms|
|org.apache.pulsar.common.compression.CompressorCodecTest|45✔️|||737ms|
|org.apache.pulsar.common.compression.Crc32cChecksumTest|6✔️|||5.403s|
|org.apache.pulsar.common.lookup.data.LookupDataTest|4✔️|||1.530s|
|org.apache.pulsar.common.naming.MetadataTests|2✔️|||161ms|
|org.apache.pulsar.common.naming.NamespaceBundlesTest|5✔️|||99ms|
|org.apache.pulsar.common.naming.NamespaceBundleTest|6✔️|||64ms|
|org.apache.pulsar.common.naming.NamespaceNameTest|2✔️|||207ms|
|org.apache.pulsar.common.naming.ServiceConfigurationTest|4✔️|||48ms|
|org.apache.pulsar.common.naming.TopicNameTest|4✔️|||529ms|
|org.apache.pulsar.common.net.ServiceURITest|21✔️|||237ms|
|org.apache.pulsar.common.policies.data.AutoFailoverPolicyDataTest|1✔️|||15ms|
|org.apache.pulsar.common.policies.data.AutoFailoverPolicyTypeTest|1✔️|||19ms|
|org.apache.pulsar.common.policies.data.AutoTopicCreationOverrideTest|6✔️|||64ms|
|org.apache.pulsar.common.policies.data.BacklogQuotaTest|1✔️|||12ms|
|org.apache.pulsar.common.policies.data.ClusterDataTest|1✔️|||9ms|
|org.apache.pulsar.common.policies.data.ConsumerStatsTest|1✔️|||8ms|
|org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfigTest|2✔️|||948ms|
|org.apache.pulsar.common.policies.data.LocalPolicesTest|1✔️|||48ms|
|org.apache.pulsar.common.policies.data.NamespaceIsolationDataTest|1✔️|||76ms|
|org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest|1✔️|||45ms|
|org.apache.pulsar.common.policies.data.OffloadPoliciesTest|6✔️|||216ms|
|org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest|1✔️|||12ms|
|org.apache.pulsar.common.policies.data.PersistencePoliciesTest|1✔️|||19ms|
|org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest|1✔️|||29ms|
|org.apache.pulsar.common.policies.data.PersistentTopicStatsTest|2✔️|||51ms|
|org.apache.pulsar.common.policies.data.PoliciesDataTest|4✔️|||1.386s|
|org.apache.pulsar.common.policies.data.PublisherStatsTest|2✔️|||37ms|
|org.apache.pulsar.common.policies.data.ReplicatorStatsTest|2✔️|||30ms|
|org.apache.pulsar.common.policies.data.ResourceQuotaTest|2✔️|||45ms|
|org.apache.pulsar.common.policies.data.RetentionPolicesTest|1✔️|||8ms|
|org.apache.pulsar.common.policies.impl.AutoFailoverPolicyFactoryTest|1✔️|||22ms|
|org.apache.pulsar.common.policies.impl.MinAvailablePolicyTest|1✔️|||1ms|
|org.apache.pulsar.common.policies.impl.NamespaceIsolationPoliciesTest|7✔️|||265ms|
|org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicyImplTest|7✔️|||309ms|
|org.apache.pulsar.common.protocol.ByteBufPairTest|2✔️|||4.999s|
|org.apache.pulsar.common.protocol.CommandUtilsTests|7✔️|||2.812s|
|org.apache.pulsar.common.protocol.MarkersTest|6✔️|||3.233s|
|org.apache.pulsar.common.protocol.PulsarDecoderTest|1✔️|||3.690s|
|org.apache.pulsar.common.stats.JvmDefaultGCMetricsLoggerTest|1✔️|||82ms|
|org.apache.pulsar.common.util.collections.BitSetRecyclableRecyclableTest|2✔️|||13ms|
|org.apache.pulsar.common.util.collections.ConcurrentBitSetRecyclableTest|2✔️|||63ms|
|org.apache.pulsar.common.util.collections.ConcurrentLongHashMapTest|13✔️|||28.351s|
|org.apache.pulsar.common.util.collections.ConcurrentLongPairSetTest|15✔️|||1.519s|
|org.apache.pulsar.common.util.collections.ConcurrentOpenHashMapTest|12✔️|||9.241s|
|org.apache.pulsar.common.util.collections.ConcurrentOpenHashSetTest|11✔️|||7.115s|
|org.apache.pulsar.common.util.collections.ConcurrentOpenLongPairRangeSetTest|13✔️|||1.356s|
|org.apache.pulsar.common.util.collections.ConcurrentSortedLongPairSetTest|9✔️|||342ms|
|org.apache.pulsar.common.util.collections.FieldParserTest|2✔️|||64ms|
|org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueueTest|6✔️|||350ms|
|org.apache.pulsar.common.util.collections.GrowablePriorityLongPairQueueTest|15✔️|||3.093s|
|org.apache.pulsar.common.util.collections.TripleLongPriorityQueueTest|3✔️|||238ms|
|org.apache.pulsar.common.util.FieldParserTest|1✔️|||242ms|
|org.apache.pulsar.common.util.FileModifiedTimeUpdaterTest|6✔️|||6.161s|
|org.apache.pulsar.common.util.netty.ChannelFuturesTest|5✔️|||1.549s|
|org.apache.pulsar.common.util.RateLimiterTest|11✔️|||7.200s|
|org.apache.pulsar.common.util.ReflectionsTest|12✔️|||172ms|
|org.apache.pulsar.common.util.RelativeTimeUtilTest|1✔️|||39ms|
|org.apache.pulsar.discovery.service.web.DiscoveryServiceWebTest|1✔️|||4.904s|
|org.apache.pulsar.functions.worker.PulsarFunctionE2ESecurityTest|2✔️|||27.527s|
|org.apache.pulsar.functions.worker.PulsarFunctionPublishTest|3✔️|||42.238s|
|org.apache.pulsar.functions.worker.PulsarFunctionTlsTest|1✔️|||12.012s|
|org.apache.pulsar.io.PulsarFunctionTlsTest|1✔️|||30.213s|
|org.apache.pulsar.proxy.server.AdminProxyHandlerTest|1✔️|||474ms|
|org.apache.pulsar.proxy.server.AuthedAdminProxyHandlerTest|1✔️|||2.159s|
|org.apache.pulsar.proxy.server.FunctionWorkerRoutingTest|1✔️|||10ms|
|org.apache.pulsar.proxy.server.ProxyAdditionalServletTest|1✔️|||125ms|
|org.apache.pulsar.proxy.server.ProxyAuthenticatedProducerConsumerTest|1✔️|||2.279s|
|org.apache.pulsar.proxy.server.ProxyAuthenticationTest|1✔️|||16.696s|
|org.apache.pulsar.proxy.server.ProxyConnectionThrottlingTest|1✔️|||1.792s|
|org.apache.pulsar.proxy.server.ProxyEnableHAProxyProtocolTest|1✔️|||511ms|
|org.apache.pulsar.proxy.server.ProxyForwardAuthDataTest|1✔️|||31.924s|
|org.apache.pulsar.proxy.server.ProxyIsAHttpProxyTest|10✔️|||1.660s|
|org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithAuth|3✔️|||6.701s|
|org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithoutAuth|3✔️|||7.220s|
|org.apache.pulsar.proxy.server.ProxyLookupThrottlingTest|1✔️|||2.568s|
|org.apache.pulsar.proxy.server.ProxyParserTest|5✔️|||1.346s|
|org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest|1✔️|||10.403s|
|org.apache.pulsar.proxy.server.ProxyStatsTest|3✔️|||533ms|
|org.apache.pulsar.proxy.server.ProxyTest|6✔️|||2.947s|
|org.apache.pulsar.proxy.server.ProxyTlsTest|2✔️|||414ms|
|org.apache.pulsar.proxy.server.ProxyTlsTestWithAuth|1✔️|||4ms|
|org.apache.pulsar.proxy.server.ProxyWithAuthorizationNegTest|1✔️|||2.128s|
|org.apache.pulsar.proxy.server.ProxyWithAuthorizationTest|13✔️|||32.897s|
|org.apache.pulsar.proxy.server.ProxyWithoutServiceDiscoveryTest|1✔️|||2.045s|
|org.apache.pulsar.proxy.server.SuperUserAuthedAdminProxyHandlerTest|3✔️|||8.235s|
|org.apache.pulsar.proxy.server.UnauthedAdminProxyHandlerTest|2✔️|||114ms|
|org.apache.pulsar.PulsarBrokerStarterTest|9✔️|||591ms|
|org.apache.pulsar.schema.compatibility.SchemaCompatibilityCheckTest|23✔️|||107.437s|
|org.apache.pulsar.schema.PartitionedTopicSchemaTest|1✔️|||29.041s|
|org.apache.pulsar.schema.SchemaTest|3✔️|||30.859s|
|org.apache.pulsar.stats.client.PulsarBrokerStatsClientTest|2✔️|||40.752s|
|org.apache.pulsar.tests.EnumValuesDataProviderTest|6✔️|||23ms|
|org.apache.pulsar.tests.TestRetrySupportBeforeMethodRetryTest|1✔️||4✖️|36ms|
|org.apache.pulsar.tests.TestRetrySupportRetryTest|1✔️||4✖️|27ms|
|org.apache.pulsar.tests.TestRetrySupportSuccessTest|3✔️|||1ms|
|org.apache.pulsar.tests.ThreadDumpUtilTest|2✔️|||17ms|
|org.apache.pulsar.utils.SimpleTextOutputStreamTest|4✔️|||50ms|
|org.apache.pulsar.utils.StatsOutputStreamTest|6✔️|||59ms|
|org.apache.pulsar.websocket.proxy.ProxyAuthenticationTest|4✔️|||28.904s|
|org.apache.pulsar.websocket.proxy.ProxyAuthorizationTest|1✔️|||1.263s|
|org.apache.pulsar.websocket.proxy.ProxyConfigurationTest|2✔️|||8.943s|
|org.apache.pulsar.websocket.proxy.ProxyPublishConsumeTlsTest|1✔️|||10.821s|
|org.apache.pulsar.websocket.proxy.ProxyPublishConsumeWithoutZKTest|1✔️|||7.280s|
|org.apache.pulsar.websocket.proxy.v1.V1_ProxyAuthenticationTest|4✔️|||29.941s|
### <a id="user-content-r0s0" href="#r0s0">org.apache.pulsar.AddMissingPatchVersionTest</a> ❌
**2** tests were completed in **116ms** with **0** passed, **1** failed and **1** skipped.

|Result|Test|Time|
|:---:|:---|---:|
|✖️|testVersionStrings|99ms|
||testVersionStrings|17ms|
Loading

0 comments on commit 3768e4e

Please sign in to comment.