From 314ef1dd497449ecba0d539afa9e52493247393a Mon Sep 17 00:00:00 2001 From: Michael Marcus Date: Tue, 25 Mar 2025 14:35:49 -0400 Subject: [PATCH 1/2] Fix broken links in report summary Resolves #566 --- __tests__/__outputs__/dart-json.md | 10 +- __tests__/__outputs__/dotnet-nunit.md | 6 +- __tests__/__outputs__/dotnet-trx.md | 6 +- .../fluent-validation-test-results.md | 250 +++---- __tests__/__outputs__/jest-junit-eslint.md | 6 +- __tests__/__outputs__/jest-junit.md | 10 +- .../jest-react-component-test-results.md | 6 +- __tests__/__outputs__/jest-test-results.md | 10 +- __tests__/__outputs__/junit-with-message.md | 6 +- __tests__/__outputs__/mocha-json.md | 10 +- __tests__/__outputs__/mocha-test-results.md | 146 ++-- .../__outputs__/provider-test-results.md | 66 +- .../pulsar-test-results-no-merge.md | 6 +- __tests__/__outputs__/pulsar-test-results.md | 706 +++++++++--------- __tests__/__outputs__/rspec-json.md | 6 +- .../__outputs__/silent-notes-test-results.md | 54 +- __tests__/__outputs__/swift-xunit.md | 6 +- src/report/get-report.ts | 14 +- src/utils/slugger.ts | 7 +- 19 files changed, 667 insertions(+), 664 deletions(-) diff --git a/__tests__/__outputs__/dart-json.md b/__tests__/__outputs__/dart-json.md index dfe8e05..9805d20 100644 --- a/__tests__/__outputs__/dart-json.md +++ b/__tests__/__outputs__/dart-json.md @@ -2,13 +2,13 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/dart-json.json|1 ✅|4 ❌|1 ⚪|4s| -## ❌ fixtures/dart-json.json +## ❌ fixtures/dart-json.json **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| -### ❌ test/main_test.dart +|[test/main_test.dart](#user-content-r0s0)|1 ✅|3 ❌||74ms| +|[test/second_test.dart](#user-content-r0s1)||1 ❌|1 ⚪|51ms| +### ❌ test/main_test.dart ``` Test 1 ✅ Passing test @@ -23,7 +23,7 @@ Test 2 ❌ Exception in test Exception: Some error ``` -### ❌ test/second_test.dart +### ❌ test/second_test.dart ``` ❌ Timeout test TimeoutException after 0:00:00.000001: Test timed out after 0 seconds. diff --git a/__tests__/__outputs__/dotnet-nunit.md b/__tests__/__outputs__/dotnet-nunit.md index c7f2d52..e33c66d 100644 --- a/__tests__/__outputs__/dotnet-nunit.md +++ b/__tests__/__outputs__/dotnet-nunit.md @@ -2,12 +2,12 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/dotnet-nunit.xml|3 ✅|5 ❌|1 ⚪|230ms| -## ❌ fixtures/dotnet-nunit.xml +## ❌ fixtures/dotnet-nunit.xml **9** tests were completed in **230ms** with **3** passed, **5** failed and **1** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[DotnetTests.NUnitV3Tests.dll.DotnetTests.XUnitTests](#r0s0)|3 ✅|5 ❌|1 ⚪|69ms| -### ❌ DotnetTests.NUnitV3Tests.dll.DotnetTests.XUnitTests +|[DotnetTests.NUnitV3Tests.dll.DotnetTests.XUnitTests](#user-content-r0s0)|3 ✅|5 ❌|1 ⚪|69ms| +### ❌ DotnetTests.NUnitV3Tests.dll.DotnetTests.XUnitTests ``` CalculatorTests ✅ Is_Even_Number(2) diff --git a/__tests__/__outputs__/dotnet-trx.md b/__tests__/__outputs__/dotnet-trx.md index 7a38b19..eedab46 100644 --- a/__tests__/__outputs__/dotnet-trx.md +++ b/__tests__/__outputs__/dotnet-trx.md @@ -2,12 +2,12 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/dotnet-trx.trx|5 ✅|5 ❌|1 ⚪|1s| -## ❌ fixtures/dotnet-trx.trx +## ❌ fixtures/dotnet-trx.trx **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| -### ❌ DotnetTests.XUnitTests.CalculatorTests +|[DotnetTests.XUnitTests.CalculatorTests](#user-content-r0s0)|5 ✅|5 ❌|1 ⚪|118ms| +### ❌ DotnetTests.XUnitTests.CalculatorTests ``` ✅ Custom Name ❌ Exception_In_TargetTest diff --git a/__tests__/__outputs__/fluent-validation-test-results.md b/__tests__/__outputs__/fluent-validation-test-results.md index fe13390..9337a62 100644 --- a/__tests__/__outputs__/fluent-validation-test-results.md +++ b/__tests__/__outputs__/fluent-validation-test-results.md @@ -4,73 +4,73 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/external/FluentValidation.Tests.trx|803 ✅||1 ⚪|4s| -## ✅ fixtures/external/FluentValidation.Tests.trx +## ✅ fixtures/external/FluentValidation.Tests.trx **804** tests were completed in **4s** with **803** passed, **0** failed and **1** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[FluentValidation.Tests.AbstractValidatorTester](#r0s0)|35 ✅|||12ms| -|[FluentValidation.Tests.AccessorCacheTests](#r0s1)|4 ✅||1 ⚪|4ms| -|[FluentValidation.Tests.AssemblyScannerTester](#r0s2)|2 ✅|||2ms| -|[FluentValidation.Tests.CascadingFailuresTester](#r0s3)|38 ✅|||23ms| -|[FluentValidation.Tests.ChainedValidationTester](#r0s4)|13 ✅|||6ms| -|[FluentValidation.Tests.ChainingValidatorsTester](#r0s5)|3 ✅|||1ms| -|[FluentValidation.Tests.ChildRulesTests](#r0s6)|2 ✅|||7ms| -|[FluentValidation.Tests.CollectionValidatorWithParentTests](#r0s7)|16 ✅|||13ms| -|[FluentValidation.Tests.ComplexValidationTester](#r0s8)|17 ✅|||26ms| -|[FluentValidation.Tests.ConditionTests](#r0s9)|18 ✅|||9ms| -|[FluentValidation.Tests.CreditCardValidatorTests](#r0s10)|2 ✅|||2ms| -|[FluentValidation.Tests.CustomFailureActionTester](#r0s11)|3 ✅|||1ms| -|[FluentValidation.Tests.CustomMessageFormatTester](#r0s12)|6 ✅|||3ms| -|[FluentValidation.Tests.CustomValidatorTester](#r0s13)|10 ✅|||6ms| -|[FluentValidation.Tests.DefaultValidatorExtensionTester](#r0s14)|30 ✅|||38ms| -|[FluentValidation.Tests.EmailValidatorTests](#r0s15)|36 ✅|||18ms| -|[FluentValidation.Tests.EmptyTester](#r0s16)|9 ✅|||5ms| -|[FluentValidation.Tests.EnumValidatorTests](#r0s17)|12 ✅|||24ms| -|[FluentValidation.Tests.EqualValidatorTests](#r0s18)|10 ✅|||3ms| -|[FluentValidation.Tests.ExactLengthValidatorTester](#r0s19)|6 ✅|||2ms| -|[FluentValidation.Tests.ExclusiveBetweenValidatorTests](#r0s20)|19 ✅|||6ms| -|[FluentValidation.Tests.ExtensionTester](#r0s21)|4 ✅|||1ms| -|[FluentValidation.Tests.ForEachRuleTests](#r0s22)|34 ✅|||47ms| -|[FluentValidation.Tests.GreaterThanOrEqualToValidatorTester](#r0s23)|14 ✅|||5ms| -|[FluentValidation.Tests.GreaterThanValidatorTester](#r0s24)|13 ✅|||4ms| -|[FluentValidation.Tests.InclusiveBetweenValidatorTests](#r0s25)|18 ✅|||4ms| -|[FluentValidation.Tests.InheritanceValidatorTest](#r0s26)|11 ✅|||18ms| -|[FluentValidation.Tests.InlineValidatorTester](#r0s27)|1 ✅|||2ms| -|[FluentValidation.Tests.LanguageManagerTests](#r0s28)|21 ✅|||28ms| -|[FluentValidation.Tests.LengthValidatorTests](#r0s29)|16 ✅|||17ms| -|[FluentValidation.Tests.LessThanOrEqualToValidatorTester](#r0s30)|13 ✅|||4ms| -|[FluentValidation.Tests.LessThanValidatorTester](#r0s31)|16 ✅|||6ms| -|[FluentValidation.Tests.LocalisedMessagesTester](#r0s32)|6 ✅|||3ms| -|[FluentValidation.Tests.LocalisedNameTester](#r0s33)|2 ✅|||1ms| -|[FluentValidation.Tests.MemberAccessorTests](#r0s34)|9 ✅|||5ms| -|[FluentValidation.Tests.MessageFormatterTests](#r0s35)|10 ✅|||2ms| -|[FluentValidation.Tests.ModelLevelValidatorTests](#r0s36)|2 ✅|||1ms| -|[FluentValidation.Tests.NameResolutionPluggabilityTester](#r0s37)|3 ✅|||2ms| -|[FluentValidation.Tests.NotEmptyTester](#r0s38)|10 ✅|||7ms| -|[FluentValidation.Tests.NotEqualValidatorTests](#r0s39)|11 ✅|||7ms| -|[FluentValidation.Tests.NotNullTester](#r0s40)|5 ✅|||1ms| -|[FluentValidation.Tests.NullTester](#r0s41)|5 ✅|||2ms| -|[FluentValidation.Tests.OnFailureTests](#r0s42)|10 ✅|||8ms| -|[FluentValidation.Tests.PredicateValidatorTester](#r0s43)|5 ✅|||2ms| -|[FluentValidation.Tests.PropertyChainTests](#r0s44)|7 ✅|||1ms| -|[FluentValidation.Tests.RegularExpressionValidatorTests](#r0s45)|15 ✅|||6ms| -|[FluentValidation.Tests.RuleBuilderTests](#r0s46)|29 ✅|||96ms| -|[FluentValidation.Tests.RuleDependencyTests](#r0s47)|14 ✅|||3s| -|[FluentValidation.Tests.RulesetTests](#r0s48)|21 ✅|||14ms| -|[FluentValidation.Tests.ScalePrecisionValidatorTests](#r0s49)|6 ✅|||4ms| -|[FluentValidation.Tests.SharedConditionTests](#r0s50)|42 ✅|||42ms| -|[FluentValidation.Tests.StandalonePropertyValidationTester](#r0s51)|1 ✅|||0ms| -|[FluentValidation.Tests.StringEnumValidatorTests](#r0s52)|10 ✅|||5ms| -|[FluentValidation.Tests.TrackingCollectionTests](#r0s53)|3 ✅|||2ms| -|[FluentValidation.Tests.TransformTests](#r0s54)|4 ✅|||3ms| -|[FluentValidation.Tests.UserSeverityTester](#r0s55)|7 ✅|||3ms| -|[FluentValidation.Tests.UserStateTester](#r0s56)|4 ✅|||3ms| -|[FluentValidation.Tests.ValidateAndThrowTester](#r0s57)|14 ✅|||25ms| -|[FluentValidation.Tests.ValidationResultTests](#r0s58)|8 ✅|||8ms| -|[FluentValidation.Tests.ValidatorDescriptorTester](#r0s59)|5 ✅|||1ms| -|[FluentValidation.Tests.ValidatorSelectorTests](#r0s60)|10 ✅|||9ms| -|[FluentValidation.Tests.ValidatorTesterTester](#r0s61)|73 ✅|||74ms| -### ✅ FluentValidation.Tests.AbstractValidatorTester +|[FluentValidation.Tests.AbstractValidatorTester](#user-content-r0s0)|35 ✅|||12ms| +|[FluentValidation.Tests.AccessorCacheTests](#user-content-r0s1)|4 ✅||1 ⚪|4ms| +|[FluentValidation.Tests.AssemblyScannerTester](#user-content-r0s2)|2 ✅|||2ms| +|[FluentValidation.Tests.CascadingFailuresTester](#user-content-r0s3)|38 ✅|||23ms| +|[FluentValidation.Tests.ChainedValidationTester](#user-content-r0s4)|13 ✅|||6ms| +|[FluentValidation.Tests.ChainingValidatorsTester](#user-content-r0s5)|3 ✅|||1ms| +|[FluentValidation.Tests.ChildRulesTests](#user-content-r0s6)|2 ✅|||7ms| +|[FluentValidation.Tests.CollectionValidatorWithParentTests](#user-content-r0s7)|16 ✅|||13ms| +|[FluentValidation.Tests.ComplexValidationTester](#user-content-r0s8)|17 ✅|||26ms| +|[FluentValidation.Tests.ConditionTests](#user-content-r0s9)|18 ✅|||9ms| +|[FluentValidation.Tests.CreditCardValidatorTests](#user-content-r0s10)|2 ✅|||2ms| +|[FluentValidation.Tests.CustomFailureActionTester](#user-content-r0s11)|3 ✅|||1ms| +|[FluentValidation.Tests.CustomMessageFormatTester](#user-content-r0s12)|6 ✅|||3ms| +|[FluentValidation.Tests.CustomValidatorTester](#user-content-r0s13)|10 ✅|||6ms| +|[FluentValidation.Tests.DefaultValidatorExtensionTester](#user-content-r0s14)|30 ✅|||38ms| +|[FluentValidation.Tests.EmailValidatorTests](#user-content-r0s15)|36 ✅|||18ms| +|[FluentValidation.Tests.EmptyTester](#user-content-r0s16)|9 ✅|||5ms| +|[FluentValidation.Tests.EnumValidatorTests](#user-content-r0s17)|12 ✅|||24ms| +|[FluentValidation.Tests.EqualValidatorTests](#user-content-r0s18)|10 ✅|||3ms| +|[FluentValidation.Tests.ExactLengthValidatorTester](#user-content-r0s19)|6 ✅|||2ms| +|[FluentValidation.Tests.ExclusiveBetweenValidatorTests](#user-content-r0s20)|19 ✅|||6ms| +|[FluentValidation.Tests.ExtensionTester](#user-content-r0s21)|4 ✅|||1ms| +|[FluentValidation.Tests.ForEachRuleTests](#user-content-r0s22)|34 ✅|||47ms| +|[FluentValidation.Tests.GreaterThanOrEqualToValidatorTester](#user-content-r0s23)|14 ✅|||5ms| +|[FluentValidation.Tests.GreaterThanValidatorTester](#user-content-r0s24)|13 ✅|||4ms| +|[FluentValidation.Tests.InclusiveBetweenValidatorTests](#user-content-r0s25)|18 ✅|||4ms| +|[FluentValidation.Tests.InheritanceValidatorTest](#user-content-r0s26)|11 ✅|||18ms| +|[FluentValidation.Tests.InlineValidatorTester](#user-content-r0s27)|1 ✅|||2ms| +|[FluentValidation.Tests.LanguageManagerTests](#user-content-r0s28)|21 ✅|||28ms| +|[FluentValidation.Tests.LengthValidatorTests](#user-content-r0s29)|16 ✅|||17ms| +|[FluentValidation.Tests.LessThanOrEqualToValidatorTester](#user-content-r0s30)|13 ✅|||4ms| +|[FluentValidation.Tests.LessThanValidatorTester](#user-content-r0s31)|16 ✅|||6ms| +|[FluentValidation.Tests.LocalisedMessagesTester](#user-content-r0s32)|6 ✅|||3ms| +|[FluentValidation.Tests.LocalisedNameTester](#user-content-r0s33)|2 ✅|||1ms| +|[FluentValidation.Tests.MemberAccessorTests](#user-content-r0s34)|9 ✅|||5ms| +|[FluentValidation.Tests.MessageFormatterTests](#user-content-r0s35)|10 ✅|||2ms| +|[FluentValidation.Tests.ModelLevelValidatorTests](#user-content-r0s36)|2 ✅|||1ms| +|[FluentValidation.Tests.NameResolutionPluggabilityTester](#user-content-r0s37)|3 ✅|||2ms| +|[FluentValidation.Tests.NotEmptyTester](#user-content-r0s38)|10 ✅|||7ms| +|[FluentValidation.Tests.NotEqualValidatorTests](#user-content-r0s39)|11 ✅|||7ms| +|[FluentValidation.Tests.NotNullTester](#user-content-r0s40)|5 ✅|||1ms| +|[FluentValidation.Tests.NullTester](#user-content-r0s41)|5 ✅|||2ms| +|[FluentValidation.Tests.OnFailureTests](#user-content-r0s42)|10 ✅|||8ms| +|[FluentValidation.Tests.PredicateValidatorTester](#user-content-r0s43)|5 ✅|||2ms| +|[FluentValidation.Tests.PropertyChainTests](#user-content-r0s44)|7 ✅|||1ms| +|[FluentValidation.Tests.RegularExpressionValidatorTests](#user-content-r0s45)|15 ✅|||6ms| +|[FluentValidation.Tests.RuleBuilderTests](#user-content-r0s46)|29 ✅|||96ms| +|[FluentValidation.Tests.RuleDependencyTests](#user-content-r0s47)|14 ✅|||3s| +|[FluentValidation.Tests.RulesetTests](#user-content-r0s48)|21 ✅|||14ms| +|[FluentValidation.Tests.ScalePrecisionValidatorTests](#user-content-r0s49)|6 ✅|||4ms| +|[FluentValidation.Tests.SharedConditionTests](#user-content-r0s50)|42 ✅|||42ms| +|[FluentValidation.Tests.StandalonePropertyValidationTester](#user-content-r0s51)|1 ✅|||0ms| +|[FluentValidation.Tests.StringEnumValidatorTests](#user-content-r0s52)|10 ✅|||5ms| +|[FluentValidation.Tests.TrackingCollectionTests](#user-content-r0s53)|3 ✅|||2ms| +|[FluentValidation.Tests.TransformTests](#user-content-r0s54)|4 ✅|||3ms| +|[FluentValidation.Tests.UserSeverityTester](#user-content-r0s55)|7 ✅|||3ms| +|[FluentValidation.Tests.UserStateTester](#user-content-r0s56)|4 ✅|||3ms| +|[FluentValidation.Tests.ValidateAndThrowTester](#user-content-r0s57)|14 ✅|||25ms| +|[FluentValidation.Tests.ValidationResultTests](#user-content-r0s58)|8 ✅|||8ms| +|[FluentValidation.Tests.ValidatorDescriptorTester](#user-content-r0s59)|5 ✅|||1ms| +|[FluentValidation.Tests.ValidatorSelectorTests](#user-content-r0s60)|10 ✅|||9ms| +|[FluentValidation.Tests.ValidatorTesterTester](#user-content-r0s61)|73 ✅|||74ms| +### ✅ FluentValidation.Tests.AbstractValidatorTester ``` ✅ Can_replace_default_errorcode_resolver ✅ CanValidateInstancesOfType_returns_false_when_comparing_against_some_other_type @@ -108,7 +108,7 @@ ✅ WithName_should_override_field_name ✅ WithName_should_override_field_name_with_value_from_other_property ``` -### ✅ FluentValidation.Tests.AccessorCacheTests +### ✅ FluentValidation.Tests.AccessorCacheTests ``` ⚪ Benchmark ✅ Equality_comparison_check @@ -116,12 +116,12 @@ ✅ Gets_member_for_nested_property ✅ Identifies_if_memberexp_acts_on_model_instance ``` -### ✅ FluentValidation.Tests.AssemblyScannerTester +### ✅ FluentValidation.Tests.AssemblyScannerTester ``` ✅ Finds_validators_for_types ✅ ForEach_iterates_over_types ``` -### ✅ FluentValidation.Tests.CascadingFailuresTester +### ✅ FluentValidation.Tests.CascadingFailuresTester ``` ✅ Cascade_mode_can_be_set_after_validator_instantiated ✅ Cascade_mode_can_be_set_after_validator_instantiated_async @@ -162,7 +162,7 @@ ✅ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_async_legacy ✅ Validation_stops_on_first_failure_when_set_to_StopOnFirstFailure_at_validator_level_legacy ``` -### ✅ FluentValidation.Tests.ChainedValidationTester +### ✅ FluentValidation.Tests.ChainedValidationTester ``` ✅ Can_validate_using_validator_for_base_type ✅ Chained_property_should_be_excluded @@ -178,18 +178,18 @@ ✅ Uses_explicit_ruleset ✅ Validates_chained_property ``` -### ✅ FluentValidation.Tests.ChainingValidatorsTester +### ✅ FluentValidation.Tests.ChainingValidatorsTester ``` ✅ Options_should_only_apply_to_current_validator ✅ Should_create_multiple_validators ✅ Should_execute_multiple_validators ``` -### ✅ FluentValidation.Tests.ChildRulesTests +### ✅ FluentValidation.Tests.ChildRulesTests ``` ✅ Can_define_nested_rules_for_collection ✅ ChildRules_works_with_RuleSet ``` -### ✅ FluentValidation.Tests.CollectionValidatorWithParentTests +### ✅ FluentValidation.Tests.CollectionValidatorWithParentTests ``` ✅ Async_condition_should_work_with_child_collection ✅ Can_specify_condition_for_individual_collection_elements @@ -208,7 +208,7 @@ ✅ Validates_collection_several_levels_deep ✅ Validates_collection_several_levels_deep_async ``` -### ✅ FluentValidation.Tests.ComplexValidationTester +### ✅ FluentValidation.Tests.ComplexValidationTester ``` ✅ Async_condition_should_work_with_complex_property ✅ Async_condition_should_work_with_complex_property_when_validator_invoked_synchronously @@ -228,7 +228,7 @@ ✅ Validates_child_validator_synchronously ✅ Validates_complex_property ``` -### ✅ FluentValidation.Tests.ConditionTests +### ✅ FluentValidation.Tests.ConditionTests ``` ✅ Async_condition_executed_synchronosuly_with_asynchronous_collection_rule ✅ Async_condition_executed_synchronosuly_with_asynchronous_rule @@ -249,18 +249,18 @@ ✅ Validation_should_succeed_when_condition_does_not_match ✅ Validation_should_succeed_when_condition_matches ``` -### ✅ FluentValidation.Tests.CreditCardValidatorTests +### ✅ FluentValidation.Tests.CreditCardValidatorTests ``` ✅ IsValidTests ✅ When_validation_fails_the_default_error_should_be_set ``` -### ✅ FluentValidation.Tests.CustomFailureActionTester +### ✅ FluentValidation.Tests.CustomFailureActionTester ``` ✅ Does_not_invoke_action_if_validation_success ✅ Invokes_custom_action_on_failure ✅ Passes_object_being_validated_to_action ``` -### ✅ FluentValidation.Tests.CustomMessageFormatTester +### ✅ FluentValidation.Tests.CustomMessageFormatTester ``` ✅ Replaces_propertyvalue_placeholder ✅ Replaces_propertyvalue_with_empty_string_when_null @@ -269,7 +269,7 @@ ✅ Uses_custom_delegate_for_building_message_only_for_specific_validator ✅ Uses_property_value_in_message ``` -### ✅ FluentValidation.Tests.CustomValidatorTester +### ✅ FluentValidation.Tests.CustomValidatorTester ``` ✅ New_Custom_Returns_single_failure ✅ New_Custom_Returns_single_failure_async @@ -282,7 +282,7 @@ ✅ Runs_async_rule_synchronously_when_validator_invoked_synchronously ✅ Runs_sync_rule_asynchronously_when_validator_invoked_asynchronously ``` -### ✅ FluentValidation.Tests.DefaultValidatorExtensionTester +### ✅ FluentValidation.Tests.DefaultValidatorExtensionTester ``` ✅ Empty_should_create_EmptyValidator ✅ Equal_should_create_EqualValidator_with_explicit_value @@ -315,7 +315,7 @@ ✅ ScalePrecision_should_create_ScalePrecisionValidator ✅ ScalePrecision_should_create_ScalePrecisionValidator_with_ignore_trailing_zeros ``` -### ✅ FluentValidation.Tests.EmailValidatorTests +### ✅ FluentValidation.Tests.EmailValidatorTests ``` ✅ Fails_email_validation_aspnetcore_compatible(email: " \r \t \n") ✅ Fails_email_validation_aspnetcore_compatible(email: "") @@ -354,7 +354,7 @@ ✅ Valid_email_addresses_regex(email: "testperson+label@gmail.com") ✅ Valid_email_addresses_regex(email: null) ``` -### ✅ FluentValidation.Tests.EmptyTester +### ✅ FluentValidation.Tests.EmptyTester ``` ✅ Passes_for_ienumerable_that_doesnt_implement_ICollection ✅ Passes_when_collection_empty @@ -366,7 +366,7 @@ ✅ When_value_is_null_validator_should_pass ✅ When_value_is_whitespace_validation_should_pass ``` -### ✅ FluentValidation.Tests.EnumValidatorTests +### ✅ FluentValidation.Tests.EnumValidatorTests ``` ✅ Flags_enum_invalid_when_using_outofrange_negative_value ✅ Flags_enum_invalid_when_using_outofrange_positive_value @@ -381,7 +381,7 @@ ✅ When_the_enum_is_not_initialized_with_valid_value_then_the_validator_should_fail ✅ When_validation_fails_the_default_error_should_be_set ``` -### ✅ FluentValidation.Tests.EqualValidatorTests +### ✅ FluentValidation.Tests.EqualValidatorTests ``` ✅ Comparison_property_uses_custom_resolver ✅ Should_store_comparison_type @@ -394,7 +394,7 @@ ✅ When_the_objects_are_not_equal_validation_should_fail ✅ When_validation_fails_the_error_should_be_set ``` -### ✅ FluentValidation.Tests.ExactLengthValidatorTester +### ✅ FluentValidation.Tests.ExactLengthValidatorTester ``` ✅ Min_and_max_properties_should_be_set ✅ When_exact_length_rule_failes_error_should_have_exact_length_error_errorcode @@ -403,7 +403,7 @@ ✅ When_the_text_length_is_smaller_the_validator_should_fail ✅ When_the_validator_fails_the_error_message_should_be_set ``` -### ✅ FluentValidation.Tests.ExclusiveBetweenValidatorTests +### ✅ FluentValidation.Tests.ExclusiveBetweenValidatorTests ``` ✅ To_and_from_properties_should_be_set ✅ To_and_from_properties_should_be_set_for_dates @@ -425,14 +425,14 @@ ✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail ✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings ``` -### ✅ FluentValidation.Tests.ExtensionTester +### ✅ FluentValidation.Tests.ExtensionTester ``` ✅ Should_extract_member_from_member_expression ✅ Should_return_null_for_non_member_expressions ✅ Should_split_pascal_cased_member_name ✅ SplitPascalCase_should_return_null_when_input_is_null ``` -### ✅ FluentValidation.Tests.ForEachRuleTests +### ✅ FluentValidation.Tests.ForEachRuleTests ``` ✅ Async_condition_should_work_with_child_collection ✅ Can_access_colletion_index @@ -469,7 +469,7 @@ ✅ When_runs_outside_RuleForEach_loop ✅ When_runs_outside_RuleForEach_loop_async ``` -### ✅ FluentValidation.Tests.GreaterThanOrEqualToValidatorTester +### ✅ FluentValidation.Tests.GreaterThanOrEqualToValidatorTester ``` ✅ Comparison_property_uses_custom_resolver ✅ Comparison_type @@ -486,7 +486,7 @@ ✅ Validates_with_nullable_when_property_not_null_cross_property ✅ Validates_with_property ``` -### ✅ FluentValidation.Tests.GreaterThanValidatorTester +### ✅ FluentValidation.Tests.GreaterThanValidatorTester ``` ✅ Comparison_property_uses_custom_resolver ✅ Comparison_Type @@ -502,7 +502,7 @@ ✅ Validates_with_nullable_when_property_not_null_cross_property ✅ Validates_with_property ``` -### ✅ FluentValidation.Tests.InclusiveBetweenValidatorTests +### ✅ FluentValidation.Tests.InclusiveBetweenValidatorTests ``` ✅ To_and_from_properties_should_be_set ✅ To_and_from_properties_should_be_set_for_strings @@ -523,7 +523,7 @@ ✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail ✅ When_the_value_is_smaller_than_the_range_then_the_validator_should_fail_for_strings ``` -### ✅ FluentValidation.Tests.InheritanceValidatorTest +### ✅ FluentValidation.Tests.InheritanceValidatorTest ``` ✅ Can_use_custom_subclass_with_nongeneric_overload ✅ Validates_collection @@ -537,11 +537,11 @@ ✅ Validates_with_callback_accepting_derived_async ✅ Validates_with_callback_async ``` -### ✅ FluentValidation.Tests.InlineValidatorTester +### ✅ FluentValidation.Tests.InlineValidatorTester ``` ✅ Uses_inline_validator_to_build_rules ``` -### ✅ FluentValidation.Tests.LanguageManagerTests +### ✅ FluentValidation.Tests.LanguageManagerTests ``` ✅ All_languages_should_be_loaded ✅ All_localizations_have_same_parameters_as_English @@ -565,7 +565,7 @@ ✅ Gets_translation_for_specific_culture ✅ Uses_error_code_as_localization_key ``` -### ✅ FluentValidation.Tests.LengthValidatorTests +### ✅ FluentValidation.Tests.LengthValidatorTests ``` ✅ Min_and_max_properties_should_be_set ✅ When_input_is_null_then_the_validator_should_pass @@ -584,7 +584,7 @@ ✅ When_the_text_is_smaller_than_the_range_then_the_validator_should_fail ✅ When_the_validator_fails_the_error_message_should_be_set ``` -### ✅ FluentValidation.Tests.LessThanOrEqualToValidatorTester +### ✅ FluentValidation.Tests.LessThanOrEqualToValidatorTester ``` ✅ Comparison_property_uses_custom_resolver ✅ Comparison_type @@ -600,7 +600,7 @@ ✅ Validates_with_nullable_when_property_not_null_cross_property ✅ Validates_with_property ``` -### ✅ FluentValidation.Tests.LessThanValidatorTester +### ✅ FluentValidation.Tests.LessThanValidatorTester ``` ✅ Comparison_property_uses_custom_resolver ✅ Comparison_type @@ -619,7 +619,7 @@ ✅ Validates_with_nullable_when_property_not_null_cross_property ✅ Validates_with_nullable_when_property_null_cross_property ``` -### ✅ FluentValidation.Tests.LocalisedMessagesTester +### ✅ FluentValidation.Tests.LocalisedMessagesTester ``` ✅ Correctly_assigns_default_localized_error_message ✅ Does_not_throw_InvalidCastException_when_using_RuleForEach @@ -628,12 +628,12 @@ ✅ Uses_func_to_get_message ✅ Uses_string_format_with_property_value ``` -### ✅ FluentValidation.Tests.LocalisedNameTester +### ✅ FluentValidation.Tests.LocalisedNameTester ``` ✅ Uses_localized_name ✅ Uses_localized_name_expression ``` -### ✅ FluentValidation.Tests.MemberAccessorTests +### ✅ FluentValidation.Tests.MemberAccessorTests ``` ✅ ComplexPropertyGet ✅ ComplexPropertySet @@ -645,7 +645,7 @@ ✅ SimplePropertyGet ✅ SimplePropertySet ``` -### ✅ FluentValidation.Tests.MessageFormatterTests +### ✅ FluentValidation.Tests.MessageFormatterTests ``` ✅ Adds_argument_and_custom_arguments ✅ Adds_formatted_argument_and_custom_arguments @@ -658,18 +658,18 @@ ✅ Understands_date_formats ✅ Understands_numeric_formats ``` -### ✅ FluentValidation.Tests.ModelLevelValidatorTests +### ✅ FluentValidation.Tests.ModelLevelValidatorTests ``` ✅ Can_use_child_validator_at_model_level ✅ Validates_at_model_level ``` -### ✅ FluentValidation.Tests.NameResolutionPluggabilityTester +### ✅ FluentValidation.Tests.NameResolutionPluggabilityTester ``` ✅ Resolves_nested_properties ✅ ShouldHaveValidationError_Should_support_custom_propertynameresolver ✅ Uses_custom_property_name ``` -### ✅ FluentValidation.Tests.NotEmptyTester +### ✅ FluentValidation.Tests.NotEmptyTester ``` ✅ Fails_for_array ✅ Fails_for_ienumerable_that_doesnt_implement_ICollection @@ -682,7 +682,7 @@ ✅ When_value_is_null_validator_should_fail ✅ When_value_is_whitespace_validation_should_fail ``` -### ✅ FluentValidation.Tests.NotEqualValidatorTests +### ✅ FluentValidation.Tests.NotEqualValidatorTests ``` ✅ Comparison_property_uses_custom_resolver ✅ Should_handle_custom_value_types_correctly @@ -696,7 +696,7 @@ ✅ When_the_objects_are_not_equal_then_the_validator_should_pass ✅ When_the_validator_fails_the_error_message_should_be_set ``` -### ✅ FluentValidation.Tests.NotNullTester +### ✅ FluentValidation.Tests.NotNullTester ``` ✅ Fails_when_nullable_value_type_is_null ✅ Not_null_validator_should_not_crash_with_non_nullable_value_type @@ -704,7 +704,7 @@ ✅ NotNullValidator_should_pass_if_value_has_value ✅ When_the_validator_fails_the_error_message_should_be_set ``` -### ✅ FluentValidation.Tests.NullTester +### ✅ FluentValidation.Tests.NullTester ``` ✅ Not_null_validator_should_not_crash_with_non_nullable_value_type ✅ NullValidator_should_fail_if_value_has_value @@ -712,7 +712,7 @@ ✅ Passes_when_nullable_value_type_is_null ✅ When_the_validator_passes_the_error_message_should_be_set ``` -### ✅ FluentValidation.Tests.OnFailureTests +### ✅ FluentValidation.Tests.OnFailureTests ``` ✅ OnFailure_called_for_each_failed_rule ✅ OnFailure_called_for_each_failed_rule_asyncAsync @@ -725,7 +725,7 @@ ✅ WhenWithOnFailure_should_invoke_condition_on_async_inner_validator ✅ WhenWithOnFailure_should_invoke_condition_on_inner_validator ``` -### ✅ FluentValidation.Tests.PredicateValidatorTester +### ✅ FluentValidation.Tests.PredicateValidatorTester ``` ✅ Should_fail_when_predicate_returns_false ✅ Should_succeed_when_predicate_returns_true @@ -733,7 +733,7 @@ ✅ When_validation_fails_metadata_should_be_set_on_failure ✅ When_validation_fails_the_default_error_should_be_set ``` -### ✅ FluentValidation.Tests.PropertyChainTests +### ✅ FluentValidation.Tests.PropertyChainTests ``` ✅ AddIndexer_throws_when_nothing_added ✅ Calling_ToString_should_construct_string_representation_of_chain @@ -743,7 +743,7 @@ ✅ Should_ignore_blanks ✅ Should_not_be_subchain ``` -### ✅ FluentValidation.Tests.RegularExpressionValidatorTests +### ✅ FluentValidation.Tests.RegularExpressionValidatorTests ``` ✅ Can_access_expression_in_message ✅ Can_access_expression_in_message_lambda @@ -761,7 +761,7 @@ ✅ When_the_text_matches_the_regular_expression_then_the_validator_should_pass ✅ When_validation_fails_the_default_error_should_be_set ``` -### ✅ FluentValidation.Tests.RuleBuilderTests +### ✅ FluentValidation.Tests.RuleBuilderTests ``` ✅ Adding_a_validator_should_return_builder ✅ Adding_a_validator_should_store_validator @@ -793,7 +793,7 @@ ✅ Should_throw_when_inverse_predicate_is_null ✅ Should_throw_when_predicate_is_null ``` -### ✅ FluentValidation.Tests.RuleDependencyTests +### ✅ FluentValidation.Tests.RuleDependencyTests ``` ✅ Async_inside_dependent_rules ✅ Async_inside_dependent_rules_when_parent_rule_not_async @@ -810,7 +810,7 @@ ✅ TestAsyncWithDependentRules_SyncEntry ✅ Treats_root_level_RuleFor_call_as_dependent_rule_if_user_forgets_to_use_DependentRulesBuilder ``` -### ✅ FluentValidation.Tests.RulesetTests +### ✅ FluentValidation.Tests.RulesetTests ``` ✅ Applies_multiple_rulesets_to_rule ✅ Combines_rulesets_and_explicit_properties @@ -834,7 +834,7 @@ ✅ Trims_spaces ✅ WithMessage_works_inside_rulesets ``` -### ✅ FluentValidation.Tests.ScalePrecisionValidatorTests +### ✅ FluentValidation.Tests.ScalePrecisionValidatorTests ``` ✅ Scale_precision_should_be_valid ✅ Scale_precision_should_be_valid_when_ignoring_trailing_zeroes @@ -843,7 +843,7 @@ ✅ Scale_precision_should_not_be_valid_when_ignoring_trailing_zeroes ✅ Scale_precision_should_not_be_valid_when_they_are_equal ``` -### ✅ FluentValidation.Tests.SharedConditionTests +### ✅ FluentValidation.Tests.SharedConditionTests ``` ✅ Async_condition_can_be_used_inside_ruleset ✅ Condition_can_be_used_inside_ruleset @@ -888,11 +888,11 @@ ✅ When_condition_only_executed_once ✅ WhenAsync_condition_only_executed_once ``` -### ✅ FluentValidation.Tests.StandalonePropertyValidationTester +### ✅ FluentValidation.Tests.StandalonePropertyValidationTester ``` ✅ Should_validate_property_value_without_instance ``` -### ✅ FluentValidation.Tests.StringEnumValidatorTests +### ✅ FluentValidation.Tests.StringEnumValidatorTests ``` ✅ IsValidTests_CaseInsensitive_CaseCorrect ✅ IsValidTests_CaseInsensitive_CaseIncorrect @@ -905,20 +905,20 @@ ✅ When_the_property_is_initialized_with_null_then_the_validator_should_be_valid ✅ When_validation_fails_the_default_error_should_be_set ``` -### ✅ FluentValidation.Tests.TrackingCollectionTests +### ✅ FluentValidation.Tests.TrackingCollectionTests ``` ✅ Add_AddsItem ✅ Should_not_raise_event_once_handler_detached ✅ When_Item_Added_Raises_ItemAdded ``` -### ✅ FluentValidation.Tests.TransformTests +### ✅ FluentValidation.Tests.TransformTests ``` ✅ Transforms_collection_element ✅ Transforms_collection_element_async ✅ Transforms_property_value ✅ Transforms_property_value_to_another_type ``` -### ✅ FluentValidation.Tests.UserSeverityTester +### ✅ FluentValidation.Tests.UserSeverityTester ``` ✅ Can_Provide_conditional_severity ✅ Can_Provide_severity_for_item_in_collection @@ -928,14 +928,14 @@ ✅ Stores_user_severity_against_validation_failure ✅ Throws_when_provider_is_null ``` -### ✅ FluentValidation.Tests.UserStateTester +### ✅ FluentValidation.Tests.UserStateTester ``` ✅ Can_Provide_state_for_item_in_collection ✅ Correctly_provides_object_being_validated ✅ Stores_user_state_against_validation_failure ✅ Throws_when_provider_is_null ``` -### ✅ FluentValidation.Tests.ValidateAndThrowTester +### ✅ FluentValidation.Tests.ValidateAndThrowTester ``` ✅ Does_not_throw_when_valid ✅ Does_not_throw_when_valid_and_a_ruleset @@ -952,7 +952,7 @@ ✅ ValidationException_provides_correct_message_when_appendDefaultMessage_false ✅ ValidationException_provides_correct_message_when_appendDefaultMessage_true ``` -### ✅ FluentValidation.Tests.ValidationResultTests +### ✅ FluentValidation.Tests.ValidationResultTests ``` ✅ Can_serialize_failure ✅ Can_serialize_result @@ -963,7 +963,7 @@ ✅ ToString_return_error_messages_with_given_separator ✅ ToString_return_error_messages_with_newline_as_separator ``` -### ✅ FluentValidation.Tests.ValidatorDescriptorTester +### ✅ FluentValidation.Tests.ValidatorDescriptorTester ``` ✅ Does_not_throw_when_rule_declared_without_property ✅ Gets_validators_for_property @@ -971,7 +971,7 @@ ✅ Returns_empty_collection_for_property_with_no_validators ✅ Should_retrieve_name_given_to_it_pass_property_as_string ``` -### ✅ FluentValidation.Tests.ValidatorSelectorTests +### ✅ FluentValidation.Tests.ValidatorSelectorTests ``` ✅ Can_use_property_with_include ✅ Does_not_validate_other_property @@ -984,7 +984,7 @@ ✅ Validates_nullable_property_with_overriden_name_when_selected ✅ Validates_property_using_expression ``` -### ✅ FluentValidation.Tests.ValidatorTesterTester +### ✅ FluentValidation.Tests.ValidatorTesterTester ``` ✅ Allows_only_one_failure_to_match ✅ Can_use_indexer_in_string_message diff --git a/__tests__/__outputs__/jest-junit-eslint.md b/__tests__/__outputs__/jest-junit-eslint.md index 32608c3..d3ad9b9 100644 --- a/__tests__/__outputs__/jest-junit-eslint.md +++ b/__tests__/__outputs__/jest-junit-eslint.md @@ -4,12 +4,12 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/jest-junit-eslint.xml|1 ✅|||0ms| -## ✅ fixtures/jest-junit-eslint.xml +## ✅ fixtures/jest-junit-eslint.xml **1** tests were completed in **0ms** with **1** passed, **0** failed and **0** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[test.jsx](#r0s0)|1 ✅|||0ms| -### ✅ test.jsx +|[test.jsx](#user-content-r0s0)|1 ✅|||0ms| +### ✅ test.jsx ``` test ✅ test.jsx diff --git a/__tests__/__outputs__/jest-junit.md b/__tests__/__outputs__/jest-junit.md index 7c577d3..ed5a174 100644 --- a/__tests__/__outputs__/jest-junit.md +++ b/__tests__/__outputs__/jest-junit.md @@ -2,13 +2,13 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/jest-junit.xml|1 ✅|4 ❌|1 ⚪|1s| -## ❌ fixtures/jest-junit.xml +## ❌ fixtures/jest-junit.xml **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| -### ❌ __tests__\main.test.js +|[__tests__\main.test.js](#user-content-r0s0)|1 ✅|3 ❌||486ms| +|[__tests__\second.test.js](#user-content-r0s1)||1 ❌|1 ⚪|82ms| +### ❌ __tests__\main.test.js ``` Test 1 ✅ Passing test @@ -21,7 +21,7 @@ Test 2 ❌ Exception in test Error: Some error ``` -### ❌ __tests__\second.test.js +### ❌ __tests__\second.test.js ``` ❌ 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: diff --git a/__tests__/__outputs__/jest-react-component-test-results.md b/__tests__/__outputs__/jest-react-component-test-results.md index e9dda68..d71db4c 100644 --- a/__tests__/__outputs__/jest-react-component-test-results.md +++ b/__tests__/__outputs__/jest-react-component-test-results.md @@ -4,12 +4,12 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/external/jest/jest-react-component-test-results.xml|1 ✅|||1000ms| -## ✅ fixtures/external/jest/jest-react-component-test-results.xml +## ✅ fixtures/external/jest/jest-react-component-test-results.xml **1** tests were completed in **1000ms** with **1** passed, **0** failed and **0** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[\](#r0s0)|1 ✅|||798ms| -### ✅ \ +|[\](#user-content-r0s0)|1 ✅|||798ms| +### ✅ \ ``` ✅ should render properly ``` diff --git a/__tests__/__outputs__/jest-test-results.md b/__tests__/__outputs__/jest-test-results.md index 24b5309..5b154f8 100644 --- a/__tests__/__outputs__/jest-test-results.md +++ b/__tests__/__outputs__/jest-test-results.md @@ -2,7 +2,7 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/external/jest/jest-test-results.xml|4207 ✅|2 ❌|30 ⚪|166s| -## ❌ fixtures/external/jest/jest-test-results.xml +## ❌ fixtures/external/jest/jest-test-results.xml **4239** tests were completed in **166s** with **4207** passed, **2** failed and **30** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| @@ -81,7 +81,7 @@ |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__/jestChangedFiles.test.ts](#user-content-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| @@ -104,7 +104,7 @@ |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__/onlyChanged.test.ts](#user-content-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| @@ -406,7 +406,7 @@ |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| -### ❌ e2e/__tests__/jestChangedFiles.test.ts +### ❌ e2e/__tests__/jestChangedFiles.test.ts ``` ✅ gets hg SCM roots and dedupes them ✅ gets git SCM roots and dedupes them @@ -420,7 +420,7 @@ ✅ monitors only root paths for hg ✅ handles a bad revision for "changedSince", for hg ``` -### ❌ e2e/__tests__/onlyChanged.test.ts +### ❌ e2e/__tests__/onlyChanged.test.ts ``` ✅ run for "onlyChanged" and "changedSince" ✅ run only changed files diff --git a/__tests__/__outputs__/junit-with-message.md b/__tests__/__outputs__/junit-with-message.md index 948309a..988d8fc 100644 --- a/__tests__/__outputs__/junit-with-message.md +++ b/__tests__/__outputs__/junit-with-message.md @@ -2,12 +2,12 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/junit-with-message.xml||1 ❌||1ms| -## ❌ fixtures/junit-with-message.xml +## ❌ fixtures/junit-with-message.xml **1** tests were completed in **1ms** with **0** passed, **1** failed and **0** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[Test](#r0s0)||1 ❌||1ms| -### ❌ Test +|[Test](#user-content-r0s0)||1 ❌||1ms| +### ❌ Test ``` Fails ❌ Test diff --git a/__tests__/__outputs__/mocha-json.md b/__tests__/__outputs__/mocha-json.md index 7474b54..50419e1 100644 --- a/__tests__/__outputs__/mocha-json.md +++ b/__tests__/__outputs__/mocha-json.md @@ -2,13 +2,13 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/mocha-json.json|1 ✅|4 ❌|1 ⚪|12ms| -## ❌ fixtures/mocha-json.json +## ❌ fixtures/mocha-json.json **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| -### ❌ test/main.test.js +|[test/main.test.js](#user-content-r0s0)|1 ✅|3 ❌||1ms| +|[test/second.test.js](#user-content-r0s1)||1 ❌|1 ⚪|8ms| +### ❌ test/main.test.js ``` Test 1 ✅ Passing test @@ -24,7 +24,7 @@ Test 2 ❌ Exception in test Some error ``` -### ❌ test/second.test.js +### ❌ test/second.test.js ``` ⚪ Skipped test ❌ Timeout test diff --git a/__tests__/__outputs__/mocha-test-results.md b/__tests__/__outputs__/mocha-test-results.md index 4fe3802..8831d7b 100644 --- a/__tests__/__outputs__/mocha-test-results.md +++ b/__tests__/__outputs__/mocha-test-results.md @@ -4,47 +4,47 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/external/mocha/mocha-test-results.json|833 ✅||6 ⚪|6s| -## ✅ fixtures/external/mocha/mocha-test-results.json +## ✅ fixtures/external/mocha/mocha-test-results.json **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](#r0s0)|14 ✅|||8ms| -|[test/node-unit/cli/config.spec.js](#r0s1)|10 ✅|||8ms| -|[test/node-unit/cli/node-flags.spec.js](#r0s2)|105 ✅|||9ms| -|[test/node-unit/cli/options.spec.js](#r0s3)|36 ✅|||250ms| -|[test/node-unit/cli/run-helpers.spec.js](#r0s4)|9 ✅|||8ms| -|[test/node-unit/cli/run.spec.js](#r0s5)|40 ✅|||4ms| -|[test/node-unit/mocha.spec.js](#r0s6)|24 ✅|||33ms| -|[test/node-unit/parallel-buffered-runner.spec.js](#r0s7)|19 ✅|||23ms| -|[test/node-unit/reporters/parallel-buffered.spec.js](#r0s8)|6 ✅|||16ms| -|[test/node-unit/serializer.spec.js](#r0s9)|40 ✅|||31ms| -|[test/node-unit/stack-trace-filter.spec.js](#r0s10)|2 ✅||4 ⚪|1ms| -|[test/node-unit/utils.spec.js](#r0s11)|5 ✅|||1ms| -|[test/node-unit/worker.spec.js](#r0s12)|15 ✅|||92ms| -|[test/unit/context.spec.js](#r0s13)|8 ✅|||5ms| -|[test/unit/duration.spec.js](#r0s14)|3 ✅|||166ms| -|[test/unit/errors.spec.js](#r0s15)|13 ✅|||5ms| -|[test/unit/globals.spec.js](#r0s16)|4 ✅|||0ms| -|[test/unit/grep.spec.js](#r0s17)|8 ✅|||2ms| -|[test/unit/hook-async.spec.js](#r0s18)|3 ✅|||1ms| -|[test/unit/hook-sync-nested.spec.js](#r0s19)|4 ✅|||1ms| -|[test/unit/hook-sync.spec.js](#r0s20)|3 ✅|||0ms| -|[test/unit/hook-timeout.spec.js](#r0s21)|1 ✅|||0ms| -|[test/unit/hook.spec.js](#r0s22)|4 ✅|||0ms| -|[test/unit/mocha.spec.js](#r0s23)|115 ✅||1 ⚪|128ms| -|[test/unit/overspecified-async.spec.js](#r0s24)|1 ✅|||3ms| -|[test/unit/parse-query.spec.js](#r0s25)|2 ✅|||1ms| -|[test/unit/plugin-loader.spec.js](#r0s26)|41 ✅||1 ⚪|16ms| -|[test/unit/required-tokens.spec.js](#r0s27)|1 ✅|||0ms| -|[test/unit/root.spec.js](#r0s28)|1 ✅|||0ms| -|[test/unit/runnable.spec.js](#r0s29)|55 ✅|||122ms| -|[test/unit/runner.spec.js](#r0s30)|77 ✅|||43ms| -|[test/unit/suite.spec.js](#r0s31)|57 ✅|||14ms| -|[test/unit/test.spec.js](#r0s32)|15 ✅|||0ms| -|[test/unit/throw.spec.js](#r0s33)|9 ✅|||9ms| -|[test/unit/timeout.spec.js](#r0s34)|8 ✅|||109ms| -|[test/unit/utils.spec.js](#r0s35)|75 ✅|||24ms| -### ✅ test/node-unit/buffered-worker-pool.spec.js +|[test/node-unit/buffered-worker-pool.spec.js](#user-content-r0s0)|14 ✅|||8ms| +|[test/node-unit/cli/config.spec.js](#user-content-r0s1)|10 ✅|||8ms| +|[test/node-unit/cli/node-flags.spec.js](#user-content-r0s2)|105 ✅|||9ms| +|[test/node-unit/cli/options.spec.js](#user-content-r0s3)|36 ✅|||250ms| +|[test/node-unit/cli/run-helpers.spec.js](#user-content-r0s4)|9 ✅|||8ms| +|[test/node-unit/cli/run.spec.js](#user-content-r0s5)|40 ✅|||4ms| +|[test/node-unit/mocha.spec.js](#user-content-r0s6)|24 ✅|||33ms| +|[test/node-unit/parallel-buffered-runner.spec.js](#user-content-r0s7)|19 ✅|||23ms| +|[test/node-unit/reporters/parallel-buffered.spec.js](#user-content-r0s8)|6 ✅|||16ms| +|[test/node-unit/serializer.spec.js](#user-content-r0s9)|40 ✅|||31ms| +|[test/node-unit/stack-trace-filter.spec.js](#user-content-r0s10)|2 ✅||4 ⚪|1ms| +|[test/node-unit/utils.spec.js](#user-content-r0s11)|5 ✅|||1ms| +|[test/node-unit/worker.spec.js](#user-content-r0s12)|15 ✅|||92ms| +|[test/unit/context.spec.js](#user-content-r0s13)|8 ✅|||5ms| +|[test/unit/duration.spec.js](#user-content-r0s14)|3 ✅|||166ms| +|[test/unit/errors.spec.js](#user-content-r0s15)|13 ✅|||5ms| +|[test/unit/globals.spec.js](#user-content-r0s16)|4 ✅|||0ms| +|[test/unit/grep.spec.js](#user-content-r0s17)|8 ✅|||2ms| +|[test/unit/hook-async.spec.js](#user-content-r0s18)|3 ✅|||1ms| +|[test/unit/hook-sync-nested.spec.js](#user-content-r0s19)|4 ✅|||1ms| +|[test/unit/hook-sync.spec.js](#user-content-r0s20)|3 ✅|||0ms| +|[test/unit/hook-timeout.spec.js](#user-content-r0s21)|1 ✅|||0ms| +|[test/unit/hook.spec.js](#user-content-r0s22)|4 ✅|||0ms| +|[test/unit/mocha.spec.js](#user-content-r0s23)|115 ✅||1 ⚪|128ms| +|[test/unit/overspecified-async.spec.js](#user-content-r0s24)|1 ✅|||3ms| +|[test/unit/parse-query.spec.js](#user-content-r0s25)|2 ✅|||1ms| +|[test/unit/plugin-loader.spec.js](#user-content-r0s26)|41 ✅||1 ⚪|16ms| +|[test/unit/required-tokens.spec.js](#user-content-r0s27)|1 ✅|||0ms| +|[test/unit/root.spec.js](#user-content-r0s28)|1 ✅|||0ms| +|[test/unit/runnable.spec.js](#user-content-r0s29)|55 ✅|||122ms| +|[test/unit/runner.spec.js](#user-content-r0s30)|77 ✅|||43ms| +|[test/unit/suite.spec.js](#user-content-r0s31)|57 ✅|||14ms| +|[test/unit/test.spec.js](#user-content-r0s32)|15 ✅|||0ms| +|[test/unit/throw.spec.js](#user-content-r0s33)|9 ✅|||9ms| +|[test/unit/timeout.spec.js](#user-content-r0s34)|8 ✅|||109ms| +|[test/unit/utils.spec.js](#user-content-r0s35)|75 ✅|||24ms| +### ✅ test/node-unit/buffered-worker-pool.spec.js ``` class BufferedWorkerPool constructor ✅ should apply defaults @@ -73,7 +73,7 @@ class BufferedWorkerPool static method serializeOptions() when called multiple t class BufferedWorkerPool static method serializeOptions() when passed no arguments ✅ should not throw ``` -### ✅ test/node-unit/cli/config.spec.js +### ✅ test/node-unit/cli/config.spec.js ``` cli/config findConfig() ✅ should look for one of the config files using findup-sync @@ -95,7 +95,7 @@ cli/config loadConfig() when parsing succeeds when supplied a filepath with ".ym cli/config loadConfig() when supplied a filepath with unsupported extension ✅ should use the JSON parser ``` -### ✅ test/node-unit/cli/node-flags.spec.js +### ✅ test/node-unit/cli/node-flags.spec.js ``` node-flags impliesNoTimeouts() ✅ should return true for inspect flags @@ -209,7 +209,7 @@ node-flags unparseNodeFlags() ✅ should handle multiple v8 flags ✅ should handle single v8 flags ``` -### ✅ test/node-unit/cli/options.spec.js +### ✅ test/node-unit/cli/options.spec.js ``` options loadOptions() "extension" handling when user does not supply "extension" option ✅ should retain the default @@ -268,7 +268,7 @@ options loadOptions() when parameter provided rc file when path to config (`--co ✅ should not look for a config ✅ should throw to warn the user ``` -### ✅ test/node-unit/cli/run-helpers.spec.js +### ✅ test/node-unit/cli/run-helpers.spec.js ``` helpers list() when given a comma-delimited string ✅ should return a flat array @@ -287,7 +287,7 @@ helpers validateLegacyPlugin() when used with an "interfaces" key helpers validateLegacyPlugin() when used with an unknown plugin type ✅ should fail ``` -### ✅ test/node-unit/cli/run.spec.js +### ✅ test/node-unit/cli/run.spec.js ``` command run builder array type ✅ should include option extension @@ -334,7 +334,7 @@ command run builder string type ✅ should include option timeout ✅ should include option ui ``` -### ✅ test/node-unit/mocha.spec.js +### ✅ test/node-unit/mocha.spec.js ``` Mocha instance method addFile() ✅ should add the given file to the files array @@ -378,7 +378,7 @@ Mocha instance method unloadFiles() Mocha static method unloadFile() ✅ should unload a specific file from cache ``` -### ✅ test/node-unit/parallel-buffered-runner.spec.js +### ✅ test/node-unit/parallel-buffered-runner.spec.js ``` parallel-buffered-runner ParallelBufferedRunner constructor ✅ should start in "IDLE" state @@ -416,7 +416,7 @@ parallel-buffered-runner ParallelBufferedRunner instance method workerReporter() parallel-buffered-runner ParallelBufferedRunner instance property _state ✅ should disallow an invalid state transition ``` -### ✅ test/node-unit/reporters/parallel-buffered.spec.js +### ✅ test/node-unit/reporters/parallel-buffered.spec.js ``` ParallelBuffered constructor ✅ should listen for Runner events @@ -429,7 +429,7 @@ ParallelBuffered instance method done ✅ should execute its callback with a SerializableWorkerResult ✅ should reset its `events` prop ``` -### ✅ test/node-unit/serializer.spec.js +### ✅ test/node-unit/serializer.spec.js ``` serializer function deserialize when passed a non-object value ✅ should return the value @@ -505,7 +505,7 @@ serializer SerializableWorkerResult static method isSerializedWorkerResult when serializer SerializableWorkerResult static method isSerializedWorkerResult when passed an object without an appropriate `__type` prop ✅ should return `false` ``` -### ✅ test/node-unit/stack-trace-filter.spec.js +### ✅ test/node-unit/stack-trace-filter.spec.js ``` stackTraceFilter() on browser ✅ does not strip out other bower_components @@ -517,7 +517,7 @@ stackTraceFilter() on node on POSIX OS stackTraceFilter() on node on Windows ✅ should work on Windows ``` -### ✅ test/node-unit/utils.spec.js +### ✅ test/node-unit/utils.spec.js ``` utils function canonicalType() ✅ should return "asyncfunction" if the parameter is an async function @@ -528,7 +528,7 @@ utils function type() ✅ should return "error" if the parameter is an Error ✅ should return "function" if the parameter is an async function ``` -### ✅ test/node-unit/worker.spec.js +### ✅ test/node-unit/worker.spec.js ``` worker when run as main process ✅ should throw @@ -557,7 +557,7 @@ worker when run as worker process function run() when the file at "filepath" is worker when run as worker process function run() when the file at "filepath" is loadable when serialization succeeds ✅ should resolve with a SerializedWorkerResult ``` -### ✅ test/unit/context.spec.js +### ✅ test/unit/context.spec.js ``` Context nested ✅ should work @@ -574,7 +574,7 @@ methods slow() methods timeout() ✅ should return the timeout ``` -### ✅ test/unit/duration.spec.js +### ✅ test/unit/duration.spec.js ``` durations when fast ✅ should not highlight @@ -583,7 +583,7 @@ durations when reasonable durations when slow ✅ should highlight in red ``` -### ✅ test/unit/errors.spec.js +### ✅ test/unit/errors.spec.js ``` Errors createForbiddenExclusivityError() when Mocha instance is not running in a worker process ✅ should output a message regarding --forbid-only @@ -608,7 +608,7 @@ Errors warn() ✅ should ignore falsy messages ✅ should not cache messages ``` -### ✅ test/unit/globals.spec.js +### ✅ test/unit/globals.spec.js ``` global leaks ✅ should cause tests to fail @@ -616,7 +616,7 @@ global leaks ✅ should pass when prefixed "mocha-" ✅ should pass with wildcard ``` -### ✅ test/unit/grep.spec.js +### ✅ test/unit/grep.spec.js ``` Mocha .grep() ✅ should add a RegExp to the mocha.options object @@ -631,14 +631,14 @@ Mocha "grep" option Mocha "invert" option ✅ should add a Boolean to the mocha.options object ``` -### ✅ test/unit/hook-async.spec.js +### ✅ test/unit/hook-async.spec.js ``` async hooks ✅ one ✅ three ✅ two ``` -### ✅ test/unit/hook-sync-nested.spec.js +### ✅ test/unit/hook-sync-nested.spec.js ``` serial nested ✅ bar @@ -647,19 +647,19 @@ serial nested hooks ✅ one ✅ two ``` -### ✅ test/unit/hook-sync.spec.js +### ✅ test/unit/hook-sync.spec.js ``` serial hooks ✅ one ✅ three ✅ two ``` -### ✅ test/unit/hook-timeout.spec.js +### ✅ test/unit/hook-timeout.spec.js ``` hook timeout ✅ should work ``` -### ✅ test/unit/hook.spec.js +### ✅ test/unit/hook.spec.js ``` Hook error ✅ should get the hook._error when called without arguments @@ -668,7 +668,7 @@ Hook reset ✅ should call Runnable.reset ✅ should reset the error state ``` -### ✅ test/unit/mocha.spec.js +### ✅ test/unit/mocha.spec.js ``` Mocha constructor ✅ should set _cleanReferencesAfterRun to true @@ -868,18 +868,18 @@ Mocha instance method runGlobalTeardown() when fixture(s) are present Mocha instance method unloadFile() when run in a browser ✅ should throw ``` -### ✅ test/unit/overspecified-async.spec.js +### ✅ test/unit/overspecified-async.spec.js ``` overspecified asynchronous resolution method ✅ should fail when multiple methods are used ``` -### ✅ test/unit/parse-query.spec.js +### ✅ test/unit/parse-query.spec.js ``` parseQuery() ✅ should get queryString and return key-value object ✅ should parse "+" as a space ``` -### ✅ test/unit/plugin-loader.spec.js +### ✅ test/unit/plugin-loader.spec.js ``` plugin module class PluginLoader constructor when passed custom plugins ✅ should register the custom plugins @@ -958,17 +958,17 @@ plugin module root hooks plugin 🎣 when impl is an array plugin module root hooks plugin 🎣 when impl is an object of functions ⚪ should pass validation ``` -### ✅ test/unit/required-tokens.spec.js +### ✅ test/unit/required-tokens.spec.js ``` using imported describe ✅ using imported it ``` -### ✅ test/unit/root.spec.js +### ✅ test/unit/root.spec.js ``` root ✅ should be a valid suite ``` -### ✅ test/unit/runnable.spec.js +### ✅ test/unit/runnable.spec.js ``` Runnable(title, fn) .run(fn) if async ✅ this.skip() should halt synchronous execution @@ -1069,7 +1069,7 @@ Runnable(title, fn) when arity >= 1 ✅ should be .async ✅ should not be .sync ``` -### ✅ test/unit/runner.spec.js +### ✅ test/unit/runner.spec.js ``` Runner instance method _uncaught() when called with a non-Runner context ✅ should throw @@ -1185,7 +1185,7 @@ Runner instance method uncaught() when provided an object argument when argument Runner instance method workerReporter() ✅ should throw ``` -### ✅ test/unit/suite.spec.js +### ✅ test/unit/suite.spec.js ``` Suite instance method addSuite() ✅ adds the suite to the suites collection @@ -1278,7 +1278,7 @@ Test initialization ✅ should not throw if the title is a string ✅ should throw an error if the title isn't a string ``` -### ✅ test/unit/test.spec.js +### ✅ test/unit/test.spec.js ``` Test .clone() ✅ should add/keep the retriedTest value @@ -1300,7 +1300,7 @@ Test .reset() ✅ should call Runnable.reset ✅ should reset the run state ``` -### ✅ test/unit/throw.spec.js +### ✅ test/unit/throw.spec.js ``` a test that throws non-extensible ✅ should not pass if throwing async and test is async @@ -1315,7 +1315,7 @@ a test that throws undefined ✅ should not pass if throwing sync and test is async ✅ should not pass if throwing sync and test is sync ``` -### ✅ test/unit/timeout.spec.js +### ✅ test/unit/timeout.spec.js ``` timeouts ✅ should allow overriding per-test @@ -1333,7 +1333,7 @@ timeouts disabling using beforeEach timeouts disabling using timeout(0) ✅ should suppress timeout(4) ``` -### ✅ test/unit/utils.spec.js +### ✅ test/unit/utils.spec.js ``` lib/utils canonicalType() ✅ should recognize various types diff --git a/__tests__/__outputs__/provider-test-results.md b/__tests__/__outputs__/provider-test-results.md index 36abb6e..b2216ad 100644 --- a/__tests__/__outputs__/provider-test-results.md +++ b/__tests__/__outputs__/provider-test-results.md @@ -2,27 +2,27 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/external/flutter/provider-test-results.json|268 ✅|1 ❌||0ms| -## ❌ fixtures/external/flutter/provider-test-results.json +## ❌ fixtures/external/flutter/provider-test-results.json **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| -### ✅ test/builder_test.dart +|[test/builder_test.dart](#user-content-r0s0)|24 ✅|||402ms| +|[test/change_notifier_provider_test.dart](#user-content-r0s1)|10 ✅|||306ms| +|[test/consumer_test.dart](#user-content-r0s2)|18 ✅|||340ms| +|[test/context_test.dart](#user-content-r0s3)|31 ✅|||698ms| +|[test/future_provider_test.dart](#user-content-r0s4)|10 ✅|||305ms| +|[test/inherited_provider_test.dart](#user-content-r0s5)|81 ✅|||1s| +|[test/listenable_provider_test.dart](#user-content-r0s6)|16 ✅|||353ms| +|[test/listenable_proxy_provider_test.dart](#user-content-r0s7)|12 ✅|||373ms| +|[test/multi_provider_test.dart](#user-content-r0s8)|3 ✅|||198ms| +|[test/provider_test.dart](#user-content-r0s9)|11 ✅|||306ms| +|[test/proxy_provider_test.dart](#user-content-r0s10)|16 ✅|||438ms| +|[test/reassemble_test.dart](#user-content-r0s11)|3 ✅|||221ms| +|[test/selector_test.dart](#user-content-r0s12)|17 ✅|||364ms| +|[test/stateful_provider_test.dart](#user-content-r0s13)|4 ✅|||254ms| +|[test/stream_provider_test.dart](#user-content-r0s14)|8 ✅|||282ms| +|[test/value_listenable_provider_test.dart](#user-content-r0s15)|4 ✅|1 ❌||327ms| +### ✅ test/builder_test.dart ``` ChangeNotifierProvider ✅ default @@ -54,7 +54,7 @@ MultiProvider ✅ with ProxyProvider5 ✅ with ProxyProvider6 ``` -### ✅ test/change_notifier_provider_test.dart +### ✅ test/change_notifier_provider_test.dart ``` ✅ Use builder property, not child ChangeNotifierProvider @@ -68,7 +68,7 @@ ChangeNotifierProvider ✅ builder6 ✅ builder0 ``` -### ✅ test/consumer_test.dart +### ✅ test/consumer_test.dart ``` consumer ✅ obtains value from Provider @@ -95,7 +95,7 @@ consumer6 ✅ crashed with no builder ✅ can be used inside MultiProvider ``` -### ✅ test/context_test.dart +### ✅ test/context_test.dart ``` ✅ watch in layoutbuilder ✅ select in layoutbuilder @@ -130,7 +130,7 @@ BuildContext ✅ context.select deeply compares sets ✅ context.watch listens to value changes ``` -### ✅ test/future_provider_test.dart +### ✅ test/future_provider_test.dart ``` ✅ works with MultiProvider ✅ (catchError) previous future completes after transition is no-op @@ -144,7 +144,7 @@ BuildContext FutureProvider() ✅ crashes if builder is null ``` -### ✅ test/inherited_provider_test.dart +### ✅ test/inherited_provider_test.dart ``` ✅ regression test #377 ✅ rebuild on dependency flags update @@ -233,7 +233,7 @@ DeferredInheritedProvider() ✅ dispose ✅ dispose no-op if never built ``` -### ✅ test/listenable_provider_test.dart +### ✅ test/listenable_provider_test.dart ``` ListenableProvider ✅ works with MultiProvider @@ -255,7 +255,7 @@ ListenableProvider stateful constructor ✅ pass down key ✅ throws if create is null ``` -### ✅ test/listenable_proxy_provider_test.dart +### ✅ test/listenable_proxy_provider_test.dart ``` ListenableProxyProvider ✅ throws if update is missing @@ -272,14 +272,14 @@ ListenableProxyProvider variants ✅ ListenableProxyProvider5 ✅ ListenableProxyProvider6 ``` -### ✅ test/multi_provider_test.dart +### ✅ test/multi_provider_test.dart ``` MultiProvider ✅ throw if providers is null ✅ MultiProvider children can only access parent providers ✅ MultiProvider.providers with ignored child ``` -### ✅ test/provider_test.dart +### ✅ test/provider_test.dart ``` ✅ works with MultiProvider Provider.of @@ -295,7 +295,7 @@ Provider ✅ throws an error if no provider found ✅ update should notify ``` -### ✅ test/proxy_provider_test.dart +### ✅ test/proxy_provider_test.dart ``` ProxyProvider ✅ throws if the provided value is a Listenable/Stream @@ -316,13 +316,13 @@ ProxyProvider variants ✅ ProxyProvider5 ✅ ProxyProvider6 ``` -### ✅ test/reassemble_test.dart +### ✅ test/reassemble_test.dart ``` ✅ ReassembleHandler ✅ unevaluated create ✅ unevaluated create ``` -### ✅ test/selector_test.dart +### ✅ test/selector_test.dart ``` ✅ asserts that builder/selector are not null ✅ Deep compare maps by default @@ -342,14 +342,14 @@ ProxyProvider variants ✅ Selector5 ✅ Selector6 ``` -### ✅ test/stateful_provider_test.dart +### ✅ test/stateful_provider_test.dart ``` ✅ asserts ✅ works with MultiProvider ✅ calls create only once ✅ dispose ``` -### ✅ test/stream_provider_test.dart +### ✅ test/stream_provider_test.dart ``` ✅ works with MultiProvider ✅ transition from stream to stream preserve state @@ -361,7 +361,7 @@ StreamProvider() ✅ create and dispose stream with builder ✅ crashes if builder is null ``` -### ❌ test/value_listenable_provider_test.dart +### ❌ test/value_listenable_provider_test.dart ``` valueListenableProvider ✅ rebuilds when value change diff --git a/__tests__/__outputs__/pulsar-test-results-no-merge.md b/__tests__/__outputs__/pulsar-test-results-no-merge.md index 99539b9..b1738a4 100644 --- a/__tests__/__outputs__/pulsar-test-results-no-merge.md +++ b/__tests__/__outputs__/pulsar-test-results-no-merge.md @@ -2,12 +2,12 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml||1 ❌|1 ⚪|116ms| -## ❌ fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml +## ❌ fixtures/external/java/TEST-org.apache.pulsar.AddMissingPatchVersionTest.xml **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| -### ❌ org.apache.pulsar.AddMissingPatchVersionTest +|[org.apache.pulsar.AddMissingPatchVersionTest](#user-content-r0s0)||1 ❌|1 ⚪|116ms| +### ❌ org.apache.pulsar.AddMissingPatchVersionTest ``` ⚪ testVersionStrings ❌ testVersionStrings diff --git a/__tests__/__outputs__/pulsar-test-results.md b/__tests__/__outputs__/pulsar-test-results.md index b6d910c..a9a5290 100644 --- a/__tests__/__outputs__/pulsar-test-results.md +++ b/__tests__/__outputs__/pulsar-test-results.md @@ -2,193 +2,193 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/external/java/pulsar-test-report.xml|793 ✅|1 ❌|14 ⚪|2127s| -## ❌ fixtures/external/java/pulsar-test-report.xml +## ❌ fixtures/external/java/pulsar-test-report.xml **808** tests were completed in **2127s** 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](#r0s1)|7 ✅|||19s| -|[org.apache.pulsar.broker.auth.AuthenticationServiceTest](#r0s2)|2 ✅|||185ms| -|[org.apache.pulsar.broker.auth.AuthLogsTest](#r0s3)|2 ✅|||1s| -|[org.apache.pulsar.broker.auth.AuthorizationTest](#r0s4)|1 ✅|||2s| -|[org.apache.pulsar.broker.lookup.http.HttpTopicLookupv2Test](#r0s5)|4 ✅|||2s| -|[org.apache.pulsar.broker.namespace.NamespaceCreateBundlesTest](#r0s6)|2 ✅|||33s| -|[org.apache.pulsar.broker.namespace.NamespaceOwnershipListenerTests](#r0s7)|2 ✅|||32s| -|[org.apache.pulsar.broker.namespace.NamespaceServiceTest](#r0s8)|10 ✅|||75s| -|[org.apache.pulsar.broker.namespace.NamespaceUnloadingTest](#r0s9)|2 ✅|||14s| -|[org.apache.pulsar.broker.namespace.OwnerShipCacheForCurrentServerTest](#r0s10)|1 ✅|||16s| -|[org.apache.pulsar.broker.namespace.OwnershipCacheTest](#r0s11)|8 ✅|||16s| -|[org.apache.pulsar.broker.protocol.ProtocolHandlersTest](#r0s12)|6 ✅|||946ms| -|[org.apache.pulsar.broker.protocol.ProtocolHandlerUtilsTest](#r0s13)|3 ✅|||7s| -|[org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoaderTest](#r0s14)|1 ✅|||15ms| -|[org.apache.pulsar.broker.PulsarServiceTest](#r0s15)|2 ✅|||96ms| -|[org.apache.pulsar.broker.service.MessagePublishBufferThrottleTest](#r0s16)|3 ✅|||14s| -|[org.apache.pulsar.broker.service.ReplicatorTest](#r0s17)|22 ✅|||40s| -|[org.apache.pulsar.broker.service.TopicOwnerTest](#r0s18)|8 ✅|||114s| -|[org.apache.pulsar.broker.SLAMonitoringTest](#r0s19)|4 ✅|||9s| -|[org.apache.pulsar.broker.stats.BookieClientsStatsGeneratorTest](#r0s20)|2 ✅|||49ms| -|[org.apache.pulsar.broker.stats.ConsumerStatsTest](#r0s21)|3 ✅|||21s| -|[org.apache.pulsar.broker.stats.ManagedCursorMetricsTest](#r0s22)|1 ✅|||281ms| -|[org.apache.pulsar.broker.stats.ManagedLedgerMetricsTest](#r0s23)|1 ✅|||285ms| -|[org.apache.pulsar.broker.stats.prometheus.AggregatedNamespaceStatsTest](#r0s24)|1 ✅|||40ms| -|[org.apache.pulsar.broker.stats.PrometheusMetricsTest](#r0s25)|15 ✅|||83s| -|[org.apache.pulsar.broker.stats.SubscriptionStatsTest](#r0s26)|2 ✅|||2s| -|[org.apache.pulsar.broker.systopic.NamespaceEventsSystemTopicServiceTest](#r0s27)|1 ✅|||1s| -|[org.apache.pulsar.broker.transaction.buffer.InMemTransactionBufferReaderTest](#r0s28)|3 ✅|||28ms| -|[org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest](#r0s29)|4 ✅|||93ms| -|[org.apache.pulsar.broker.transaction.buffer.TransactionBufferTest](#r0s30)|7 ✅|||81ms| -|[org.apache.pulsar.broker.transaction.buffer.TransactionEntryImplTest](#r0s31)|1 ✅|||14ms| -|[org.apache.pulsar.broker.transaction.buffer.TransactionLowWaterMarkTest](#r0s32)|2 ✅|||38s| -|[org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest](#r0s33)|2 ✅||1 ⚪|49s| -|[org.apache.pulsar.broker.transaction.coordinator.TransactionCoordinatorClientTest](#r0s34)|3 ✅|||95ms| -|[org.apache.pulsar.broker.transaction.coordinator.TransactionMetaStoreAssignmentTest](#r0s35)|1 ✅|||1s| -|[org.apache.pulsar.broker.transaction.pendingack.PendingAckInMemoryDeleteTest](#r0s36)|2 ✅||1 ⚪|57s| -|[org.apache.pulsar.broker.transaction.TransactionConsumeTest](#r0s37)|2 ✅|||30s| -|[org.apache.pulsar.broker.web.RestExceptionTest](#r0s38)|3 ✅|||37ms| -|[org.apache.pulsar.broker.web.WebServiceTest](#r0s39)|9 ✅|||27s| -|[org.apache.pulsar.client.impl.AdminApiKeyStoreTlsAuthTest](#r0s40)|4 ✅|||8s| -|[org.apache.pulsar.client.impl.BatchMessageIdImplSerializationTest](#r0s41)|4 ✅|||30ms| -|[org.apache.pulsar.client.impl.BatchMessageIndexAckDisableTest](#r0s42)|4 ✅|||14s| -|[org.apache.pulsar.client.impl.BatchMessageIndexAckTest](#r0s43)|5 ✅|||44s| -|[org.apache.pulsar.client.impl.BrokerClientIntegrationTest](#r0s44)|15 ✅|||148s| -|[org.apache.pulsar.client.impl.CompactedOutBatchMessageTest](#r0s45)|1 ✅|||1s| -|[org.apache.pulsar.client.impl.ConsumerAckResponseTest](#r0s46)|1 ✅|||549ms| -|[org.apache.pulsar.client.impl.ConsumerConfigurationTest](#r0s47)|4 ✅|||12s| -|[org.apache.pulsar.client.impl.ConsumerDedupPermitsUpdate](#r0s48)|7 ✅|||4s| -|[org.apache.pulsar.client.impl.ConsumerUnsubscribeTest](#r0s49)|1 ✅|||129ms| -|[org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithAuth](#r0s50)|3 ✅|||23s| -|[org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithoutAuth](#r0s51)|3 ✅|||8s| -|[org.apache.pulsar.client.impl.KeyStoreTlsTest](#r0s52)|1 ✅|||183ms| -|[org.apache.pulsar.client.impl.MessageChecksumTest](#r0s53)|3 ✅|||47s| -|[org.apache.pulsar.client.impl.MessageChunkingTest](#r0s54)|8 ✅||1 ⚪|73s| -|[org.apache.pulsar.client.impl.MessageParserTest](#r0s55)|2 ✅|||5s| -|[org.apache.pulsar.client.impl.MultiTopicsReaderTest](#r0s56)|8 ✅|||35s| -|[org.apache.pulsar.client.impl.NegativeAcksTest](#r0s57)|32 ✅|||11s| -|[org.apache.pulsar.client.impl.PatternTopicsConsumerImplTest](#r0s58)|11 ✅|||63s| -|[org.apache.pulsar.client.impl.PerMessageUnAcknowledgedRedeliveryTest](#r0s59)|5 ✅|||34s| -|[org.apache.pulsar.client.impl.PulsarMultiHostClientTest](#r0s60)|3 ✅|||15s| -|[org.apache.pulsar.client.impl.RawMessageSerDeserTest](#r0s61)|1 ✅|||10ms| -|[org.apache.pulsar.client.impl.SchemaDeleteTest](#r0s62)|1 ✅|||2s| -|[org.apache.pulsar.client.impl.SequenceIdWithErrorTest](#r0s63)|3 ✅||2 ⚪|18s| -|[org.apache.pulsar.client.impl.TopicDoesNotExistsTest](#r0s64)|2 ✅|||4s| -|[org.apache.pulsar.client.impl.TopicFromMessageTest](#r0s65)|5 ✅|||14s| -|[org.apache.pulsar.client.impl.TopicsConsumerImplTest](#r0s66)|17 ✅|||133s| -|[org.apache.pulsar.client.impl.UnAcknowledgedMessagesTimeoutTest](#r0s67)|7 ✅|||44s| -|[org.apache.pulsar.client.impl.ZeroQueueSizeTest](#r0s68)|14 ✅|||16s| -|[org.apache.pulsar.common.api.raw.RawMessageImplTest](#r0s69)|1 ✅|||316ms| -|[org.apache.pulsar.common.compression.CommandsTest](#r0s70)|1 ✅|||30ms| -|[org.apache.pulsar.common.compression.CompressorCodecBackwardCompatTest](#r0s71)|6 ✅|||223ms| -|[org.apache.pulsar.common.compression.CompressorCodecTest](#r0s72)|45 ✅|||737ms| -|[org.apache.pulsar.common.compression.Crc32cChecksumTest](#r0s73)|6 ✅|||5s| -|[org.apache.pulsar.common.lookup.data.LookupDataTest](#r0s74)|4 ✅|||2s| -|[org.apache.pulsar.common.naming.MetadataTests](#r0s75)|2 ✅|||161ms| -|[org.apache.pulsar.common.naming.NamespaceBundlesTest](#r0s76)|5 ✅|||99ms| -|[org.apache.pulsar.common.naming.NamespaceBundleTest](#r0s77)|6 ✅|||64ms| -|[org.apache.pulsar.common.naming.NamespaceNameTest](#r0s78)|2 ✅|||207ms| -|[org.apache.pulsar.common.naming.ServiceConfigurationTest](#r0s79)|4 ✅|||48ms| -|[org.apache.pulsar.common.naming.TopicNameTest](#r0s80)|4 ✅|||529ms| -|[org.apache.pulsar.common.net.ServiceURITest](#r0s81)|21 ✅|||237ms| -|[org.apache.pulsar.common.policies.data.AutoFailoverPolicyDataTest](#r0s82)|1 ✅|||15ms| -|[org.apache.pulsar.common.policies.data.AutoFailoverPolicyTypeTest](#r0s83)|1 ✅|||19ms| -|[org.apache.pulsar.common.policies.data.AutoTopicCreationOverrideTest](#r0s84)|6 ✅|||64ms| -|[org.apache.pulsar.common.policies.data.BacklogQuotaTest](#r0s85)|1 ✅|||12ms| -|[org.apache.pulsar.common.policies.data.ClusterDataTest](#r0s86)|1 ✅|||9ms| -|[org.apache.pulsar.common.policies.data.ConsumerStatsTest](#r0s87)|1 ✅|||8ms| -|[org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfigTest](#r0s88)|2 ✅|||948ms| -|[org.apache.pulsar.common.policies.data.LocalPolicesTest](#r0s89)|1 ✅|||48ms| -|[org.apache.pulsar.common.policies.data.NamespaceIsolationDataTest](#r0s90)|1 ✅|||76ms| -|[org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest](#r0s91)|1 ✅|||45ms| -|[org.apache.pulsar.common.policies.data.OffloadPoliciesTest](#r0s92)|6 ✅|||216ms| -|[org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest](#r0s93)|1 ✅|||12ms| -|[org.apache.pulsar.common.policies.data.PersistencePoliciesTest](#r0s94)|1 ✅|||19ms| -|[org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest](#r0s95)|1 ✅|||29ms| -|[org.apache.pulsar.common.policies.data.PersistentTopicStatsTest](#r0s96)|2 ✅|||51ms| -|[org.apache.pulsar.common.policies.data.PoliciesDataTest](#r0s97)|4 ✅|||1s| -|[org.apache.pulsar.common.policies.data.PublisherStatsTest](#r0s98)|2 ✅|||37ms| -|[org.apache.pulsar.common.policies.data.ReplicatorStatsTest](#r0s99)|2 ✅|||30ms| -|[org.apache.pulsar.common.policies.data.ResourceQuotaTest](#r0s100)|2 ✅|||45ms| -|[org.apache.pulsar.common.policies.data.RetentionPolicesTest](#r0s101)|1 ✅|||8ms| -|[org.apache.pulsar.common.policies.impl.AutoFailoverPolicyFactoryTest](#r0s102)|1 ✅|||22ms| -|[org.apache.pulsar.common.policies.impl.MinAvailablePolicyTest](#r0s103)|1 ✅|||1ms| -|[org.apache.pulsar.common.policies.impl.NamespaceIsolationPoliciesTest](#r0s104)|7 ✅|||265ms| -|[org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicyImplTest](#r0s105)|7 ✅|||309ms| -|[org.apache.pulsar.common.protocol.ByteBufPairTest](#r0s106)|2 ✅|||5s| -|[org.apache.pulsar.common.protocol.CommandUtilsTests](#r0s107)|7 ✅|||3s| -|[org.apache.pulsar.common.protocol.MarkersTest](#r0s108)|6 ✅|||3s| -|[org.apache.pulsar.common.protocol.PulsarDecoderTest](#r0s109)|1 ✅|||4s| -|[org.apache.pulsar.common.stats.JvmDefaultGCMetricsLoggerTest](#r0s110)|1 ✅|||82ms| -|[org.apache.pulsar.common.util.collections.BitSetRecyclableRecyclableTest](#r0s111)|2 ✅|||13ms| -|[org.apache.pulsar.common.util.collections.ConcurrentBitSetRecyclableTest](#r0s112)|2 ✅|||63ms| -|[org.apache.pulsar.common.util.collections.ConcurrentLongHashMapTest](#r0s113)|13 ✅|||28s| -|[org.apache.pulsar.common.util.collections.ConcurrentLongPairSetTest](#r0s114)|15 ✅|||2s| -|[org.apache.pulsar.common.util.collections.ConcurrentOpenHashMapTest](#r0s115)|12 ✅|||9s| -|[org.apache.pulsar.common.util.collections.ConcurrentOpenHashSetTest](#r0s116)|11 ✅|||7s| -|[org.apache.pulsar.common.util.collections.ConcurrentOpenLongPairRangeSetTest](#r0s117)|13 ✅|||1s| -|[org.apache.pulsar.common.util.collections.ConcurrentSortedLongPairSetTest](#r0s118)|9 ✅|||342ms| -|[org.apache.pulsar.common.util.collections.FieldParserTest](#r0s119)|2 ✅|||64ms| -|[org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueueTest](#r0s120)|6 ✅|||350ms| -|[org.apache.pulsar.common.util.collections.GrowablePriorityLongPairQueueTest](#r0s121)|15 ✅|||3s| -|[org.apache.pulsar.common.util.collections.TripleLongPriorityQueueTest](#r0s122)|3 ✅|||238ms| -|[org.apache.pulsar.common.util.FieldParserTest](#r0s123)|1 ✅|||242ms| -|[org.apache.pulsar.common.util.FileModifiedTimeUpdaterTest](#r0s124)|6 ✅|||6s| -|[org.apache.pulsar.common.util.netty.ChannelFuturesTest](#r0s125)|5 ✅|||2s| -|[org.apache.pulsar.common.util.RateLimiterTest](#r0s126)|11 ✅|||7s| -|[org.apache.pulsar.common.util.ReflectionsTest](#r0s127)|12 ✅|||172ms| -|[org.apache.pulsar.common.util.RelativeTimeUtilTest](#r0s128)|1 ✅|||39ms| -|[org.apache.pulsar.discovery.service.web.DiscoveryServiceWebTest](#r0s129)|1 ✅|||5s| -|[org.apache.pulsar.functions.worker.PulsarFunctionE2ESecurityTest](#r0s130)|2 ✅|||28s| -|[org.apache.pulsar.functions.worker.PulsarFunctionPublishTest](#r0s131)|3 ✅|||42s| -|[org.apache.pulsar.functions.worker.PulsarFunctionTlsTest](#r0s132)|1 ✅|||12s| -|[org.apache.pulsar.io.PulsarFunctionTlsTest](#r0s133)|1 ✅|||30s| -|[org.apache.pulsar.proxy.server.AdminProxyHandlerTest](#r0s134)|1 ✅|||474ms| -|[org.apache.pulsar.proxy.server.AuthedAdminProxyHandlerTest](#r0s135)|1 ✅|||2s| -|[org.apache.pulsar.proxy.server.FunctionWorkerRoutingTest](#r0s136)|1 ✅|||10ms| -|[org.apache.pulsar.proxy.server.ProxyAdditionalServletTest](#r0s137)|1 ✅|||125ms| -|[org.apache.pulsar.proxy.server.ProxyAuthenticatedProducerConsumerTest](#r0s138)|1 ✅|||2s| -|[org.apache.pulsar.proxy.server.ProxyAuthenticationTest](#r0s139)|1 ✅|||17s| -|[org.apache.pulsar.proxy.server.ProxyConnectionThrottlingTest](#r0s140)|1 ✅|||2s| -|[org.apache.pulsar.proxy.server.ProxyEnableHAProxyProtocolTest](#r0s141)|1 ✅|||511ms| -|[org.apache.pulsar.proxy.server.ProxyForwardAuthDataTest](#r0s142)|1 ✅|||32s| -|[org.apache.pulsar.proxy.server.ProxyIsAHttpProxyTest](#r0s143)|10 ✅|||2s| -|[org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithAuth](#r0s144)|3 ✅|||7s| -|[org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithoutAuth](#r0s145)|3 ✅|||7s| -|[org.apache.pulsar.proxy.server.ProxyLookupThrottlingTest](#r0s146)|1 ✅|||3s| -|[org.apache.pulsar.proxy.server.ProxyParserTest](#r0s147)|5 ✅|||1s| -|[org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest](#r0s148)|1 ✅|||10s| -|[org.apache.pulsar.proxy.server.ProxyStatsTest](#r0s149)|3 ✅|||533ms| -|[org.apache.pulsar.proxy.server.ProxyTest](#r0s150)|6 ✅|||3s| -|[org.apache.pulsar.proxy.server.ProxyTlsTest](#r0s151)|2 ✅|||414ms| -|[org.apache.pulsar.proxy.server.ProxyTlsTestWithAuth](#r0s152)|1 ✅|||4ms| -|[org.apache.pulsar.proxy.server.ProxyWithAuthorizationNegTest](#r0s153)|1 ✅|||2s| -|[org.apache.pulsar.proxy.server.ProxyWithAuthorizationTest](#r0s154)|13 ✅|||33s| -|[org.apache.pulsar.proxy.server.ProxyWithoutServiceDiscoveryTest](#r0s155)|1 ✅|||2s| -|[org.apache.pulsar.proxy.server.SuperUserAuthedAdminProxyHandlerTest](#r0s156)|3 ✅|||8s| -|[org.apache.pulsar.proxy.server.UnauthedAdminProxyHandlerTest](#r0s157)|2 ✅|||114ms| -|[org.apache.pulsar.PulsarBrokerStarterTest](#r0s158)|9 ✅|||591ms| -|[org.apache.pulsar.schema.compatibility.SchemaCompatibilityCheckTest](#r0s159)|23 ✅|||107s| -|[org.apache.pulsar.schema.PartitionedTopicSchemaTest](#r0s160)|1 ✅|||29s| -|[org.apache.pulsar.schema.SchemaTest](#r0s161)|3 ✅|||31s| -|[org.apache.pulsar.stats.client.PulsarBrokerStatsClientTest](#r0s162)|2 ✅|||41s| -|[org.apache.pulsar.tests.EnumValuesDataProviderTest](#r0s163)|6 ✅|||23ms| -|[org.apache.pulsar.tests.TestRetrySupportBeforeMethodRetryTest](#r0s164)|1 ✅||4 ⚪|36ms| -|[org.apache.pulsar.tests.TestRetrySupportRetryTest](#r0s165)|1 ✅||4 ⚪|27ms| -|[org.apache.pulsar.tests.TestRetrySupportSuccessTest](#r0s166)|3 ✅|||1ms| -|[org.apache.pulsar.tests.ThreadDumpUtilTest](#r0s167)|2 ✅|||17ms| -|[org.apache.pulsar.utils.SimpleTextOutputStreamTest](#r0s168)|4 ✅|||50ms| -|[org.apache.pulsar.utils.StatsOutputStreamTest](#r0s169)|6 ✅|||59ms| -|[org.apache.pulsar.websocket.proxy.ProxyAuthenticationTest](#r0s170)|4 ✅|||29s| -|[org.apache.pulsar.websocket.proxy.ProxyAuthorizationTest](#r0s171)|1 ✅|||1s| -|[org.apache.pulsar.websocket.proxy.ProxyConfigurationTest](#r0s172)|2 ✅|||9s| -|[org.apache.pulsar.websocket.proxy.ProxyPublishConsumeTlsTest](#r0s173)|1 ✅|||11s| -|[org.apache.pulsar.websocket.proxy.ProxyPublishConsumeWithoutZKTest](#r0s174)|1 ✅|||7s| -|[org.apache.pulsar.websocket.proxy.v1.V1_ProxyAuthenticationTest](#r0s175)|4 ✅|||30s| -### ❌ org.apache.pulsar.AddMissingPatchVersionTest +|[org.apache.pulsar.AddMissingPatchVersionTest](#user-content-r0s0)||1 ❌|1 ⚪|116ms| +|[org.apache.pulsar.broker.admin.AdminApiOffloadTest](#user-content-r0s1)|7 ✅|||19s| +|[org.apache.pulsar.broker.auth.AuthenticationServiceTest](#user-content-r0s2)|2 ✅|||185ms| +|[org.apache.pulsar.broker.auth.AuthLogsTest](#user-content-r0s3)|2 ✅|||1s| +|[org.apache.pulsar.broker.auth.AuthorizationTest](#user-content-r0s4)|1 ✅|||2s| +|[org.apache.pulsar.broker.lookup.http.HttpTopicLookupv2Test](#user-content-r0s5)|4 ✅|||2s| +|[org.apache.pulsar.broker.namespace.NamespaceCreateBundlesTest](#user-content-r0s6)|2 ✅|||33s| +|[org.apache.pulsar.broker.namespace.NamespaceOwnershipListenerTests](#user-content-r0s7)|2 ✅|||32s| +|[org.apache.pulsar.broker.namespace.NamespaceServiceTest](#user-content-r0s8)|10 ✅|||75s| +|[org.apache.pulsar.broker.namespace.NamespaceUnloadingTest](#user-content-r0s9)|2 ✅|||14s| +|[org.apache.pulsar.broker.namespace.OwnerShipCacheForCurrentServerTest](#user-content-r0s10)|1 ✅|||16s| +|[org.apache.pulsar.broker.namespace.OwnershipCacheTest](#user-content-r0s11)|8 ✅|||16s| +|[org.apache.pulsar.broker.protocol.ProtocolHandlersTest](#user-content-r0s12)|6 ✅|||946ms| +|[org.apache.pulsar.broker.protocol.ProtocolHandlerUtilsTest](#user-content-r0s13)|3 ✅|||7s| +|[org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoaderTest](#user-content-r0s14)|1 ✅|||15ms| +|[org.apache.pulsar.broker.PulsarServiceTest](#user-content-r0s15)|2 ✅|||96ms| +|[org.apache.pulsar.broker.service.MessagePublishBufferThrottleTest](#user-content-r0s16)|3 ✅|||14s| +|[org.apache.pulsar.broker.service.ReplicatorTest](#user-content-r0s17)|22 ✅|||40s| +|[org.apache.pulsar.broker.service.TopicOwnerTest](#user-content-r0s18)|8 ✅|||114s| +|[org.apache.pulsar.broker.SLAMonitoringTest](#user-content-r0s19)|4 ✅|||9s| +|[org.apache.pulsar.broker.stats.BookieClientsStatsGeneratorTest](#user-content-r0s20)|2 ✅|||49ms| +|[org.apache.pulsar.broker.stats.ConsumerStatsTest](#user-content-r0s21)|3 ✅|||21s| +|[org.apache.pulsar.broker.stats.ManagedCursorMetricsTest](#user-content-r0s22)|1 ✅|||281ms| +|[org.apache.pulsar.broker.stats.ManagedLedgerMetricsTest](#user-content-r0s23)|1 ✅|||285ms| +|[org.apache.pulsar.broker.stats.prometheus.AggregatedNamespaceStatsTest](#user-content-r0s24)|1 ✅|||40ms| +|[org.apache.pulsar.broker.stats.PrometheusMetricsTest](#user-content-r0s25)|15 ✅|||83s| +|[org.apache.pulsar.broker.stats.SubscriptionStatsTest](#user-content-r0s26)|2 ✅|||2s| +|[org.apache.pulsar.broker.systopic.NamespaceEventsSystemTopicServiceTest](#user-content-r0s27)|1 ✅|||1s| +|[org.apache.pulsar.broker.transaction.buffer.InMemTransactionBufferReaderTest](#user-content-r0s28)|3 ✅|||28ms| +|[org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest](#user-content-r0s29)|4 ✅|||93ms| +|[org.apache.pulsar.broker.transaction.buffer.TransactionBufferTest](#user-content-r0s30)|7 ✅|||81ms| +|[org.apache.pulsar.broker.transaction.buffer.TransactionEntryImplTest](#user-content-r0s31)|1 ✅|||14ms| +|[org.apache.pulsar.broker.transaction.buffer.TransactionLowWaterMarkTest](#user-content-r0s32)|2 ✅|||38s| +|[org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest](#user-content-r0s33)|2 ✅||1 ⚪|49s| +|[org.apache.pulsar.broker.transaction.coordinator.TransactionCoordinatorClientTest](#user-content-r0s34)|3 ✅|||95ms| +|[org.apache.pulsar.broker.transaction.coordinator.TransactionMetaStoreAssignmentTest](#user-content-r0s35)|1 ✅|||1s| +|[org.apache.pulsar.broker.transaction.pendingack.PendingAckInMemoryDeleteTest](#user-content-r0s36)|2 ✅||1 ⚪|57s| +|[org.apache.pulsar.broker.transaction.TransactionConsumeTest](#user-content-r0s37)|2 ✅|||30s| +|[org.apache.pulsar.broker.web.RestExceptionTest](#user-content-r0s38)|3 ✅|||37ms| +|[org.apache.pulsar.broker.web.WebServiceTest](#user-content-r0s39)|9 ✅|||27s| +|[org.apache.pulsar.client.impl.AdminApiKeyStoreTlsAuthTest](#user-content-r0s40)|4 ✅|||8s| +|[org.apache.pulsar.client.impl.BatchMessageIdImplSerializationTest](#user-content-r0s41)|4 ✅|||30ms| +|[org.apache.pulsar.client.impl.BatchMessageIndexAckDisableTest](#user-content-r0s42)|4 ✅|||14s| +|[org.apache.pulsar.client.impl.BatchMessageIndexAckTest](#user-content-r0s43)|5 ✅|||44s| +|[org.apache.pulsar.client.impl.BrokerClientIntegrationTest](#user-content-r0s44)|15 ✅|||148s| +|[org.apache.pulsar.client.impl.CompactedOutBatchMessageTest](#user-content-r0s45)|1 ✅|||1s| +|[org.apache.pulsar.client.impl.ConsumerAckResponseTest](#user-content-r0s46)|1 ✅|||549ms| +|[org.apache.pulsar.client.impl.ConsumerConfigurationTest](#user-content-r0s47)|4 ✅|||12s| +|[org.apache.pulsar.client.impl.ConsumerDedupPermitsUpdate](#user-content-r0s48)|7 ✅|||4s| +|[org.apache.pulsar.client.impl.ConsumerUnsubscribeTest](#user-content-r0s49)|1 ✅|||129ms| +|[org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithAuth](#user-content-r0s50)|3 ✅|||23s| +|[org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithoutAuth](#user-content-r0s51)|3 ✅|||8s| +|[org.apache.pulsar.client.impl.KeyStoreTlsTest](#user-content-r0s52)|1 ✅|||183ms| +|[org.apache.pulsar.client.impl.MessageChecksumTest](#user-content-r0s53)|3 ✅|||47s| +|[org.apache.pulsar.client.impl.MessageChunkingTest](#user-content-r0s54)|8 ✅||1 ⚪|73s| +|[org.apache.pulsar.client.impl.MessageParserTest](#user-content-r0s55)|2 ✅|||5s| +|[org.apache.pulsar.client.impl.MultiTopicsReaderTest](#user-content-r0s56)|8 ✅|||35s| +|[org.apache.pulsar.client.impl.NegativeAcksTest](#user-content-r0s57)|32 ✅|||11s| +|[org.apache.pulsar.client.impl.PatternTopicsConsumerImplTest](#user-content-r0s58)|11 ✅|||63s| +|[org.apache.pulsar.client.impl.PerMessageUnAcknowledgedRedeliveryTest](#user-content-r0s59)|5 ✅|||34s| +|[org.apache.pulsar.client.impl.PulsarMultiHostClientTest](#user-content-r0s60)|3 ✅|||15s| +|[org.apache.pulsar.client.impl.RawMessageSerDeserTest](#user-content-r0s61)|1 ✅|||10ms| +|[org.apache.pulsar.client.impl.SchemaDeleteTest](#user-content-r0s62)|1 ✅|||2s| +|[org.apache.pulsar.client.impl.SequenceIdWithErrorTest](#user-content-r0s63)|3 ✅||2 ⚪|18s| +|[org.apache.pulsar.client.impl.TopicDoesNotExistsTest](#user-content-r0s64)|2 ✅|||4s| +|[org.apache.pulsar.client.impl.TopicFromMessageTest](#user-content-r0s65)|5 ✅|||14s| +|[org.apache.pulsar.client.impl.TopicsConsumerImplTest](#user-content-r0s66)|17 ✅|||133s| +|[org.apache.pulsar.client.impl.UnAcknowledgedMessagesTimeoutTest](#user-content-r0s67)|7 ✅|||44s| +|[org.apache.pulsar.client.impl.ZeroQueueSizeTest](#user-content-r0s68)|14 ✅|||16s| +|[org.apache.pulsar.common.api.raw.RawMessageImplTest](#user-content-r0s69)|1 ✅|||316ms| +|[org.apache.pulsar.common.compression.CommandsTest](#user-content-r0s70)|1 ✅|||30ms| +|[org.apache.pulsar.common.compression.CompressorCodecBackwardCompatTest](#user-content-r0s71)|6 ✅|||223ms| +|[org.apache.pulsar.common.compression.CompressorCodecTest](#user-content-r0s72)|45 ✅|||737ms| +|[org.apache.pulsar.common.compression.Crc32cChecksumTest](#user-content-r0s73)|6 ✅|||5s| +|[org.apache.pulsar.common.lookup.data.LookupDataTest](#user-content-r0s74)|4 ✅|||2s| +|[org.apache.pulsar.common.naming.MetadataTests](#user-content-r0s75)|2 ✅|||161ms| +|[org.apache.pulsar.common.naming.NamespaceBundlesTest](#user-content-r0s76)|5 ✅|||99ms| +|[org.apache.pulsar.common.naming.NamespaceBundleTest](#user-content-r0s77)|6 ✅|||64ms| +|[org.apache.pulsar.common.naming.NamespaceNameTest](#user-content-r0s78)|2 ✅|||207ms| +|[org.apache.pulsar.common.naming.ServiceConfigurationTest](#user-content-r0s79)|4 ✅|||48ms| +|[org.apache.pulsar.common.naming.TopicNameTest](#user-content-r0s80)|4 ✅|||529ms| +|[org.apache.pulsar.common.net.ServiceURITest](#user-content-r0s81)|21 ✅|||237ms| +|[org.apache.pulsar.common.policies.data.AutoFailoverPolicyDataTest](#user-content-r0s82)|1 ✅|||15ms| +|[org.apache.pulsar.common.policies.data.AutoFailoverPolicyTypeTest](#user-content-r0s83)|1 ✅|||19ms| +|[org.apache.pulsar.common.policies.data.AutoTopicCreationOverrideTest](#user-content-r0s84)|6 ✅|||64ms| +|[org.apache.pulsar.common.policies.data.BacklogQuotaTest](#user-content-r0s85)|1 ✅|||12ms| +|[org.apache.pulsar.common.policies.data.ClusterDataTest](#user-content-r0s86)|1 ✅|||9ms| +|[org.apache.pulsar.common.policies.data.ConsumerStatsTest](#user-content-r0s87)|1 ✅|||8ms| +|[org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfigTest](#user-content-r0s88)|2 ✅|||948ms| +|[org.apache.pulsar.common.policies.data.LocalPolicesTest](#user-content-r0s89)|1 ✅|||48ms| +|[org.apache.pulsar.common.policies.data.NamespaceIsolationDataTest](#user-content-r0s90)|1 ✅|||76ms| +|[org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest](#user-content-r0s91)|1 ✅|||45ms| +|[org.apache.pulsar.common.policies.data.OffloadPoliciesTest](#user-content-r0s92)|6 ✅|||216ms| +|[org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest](#user-content-r0s93)|1 ✅|||12ms| +|[org.apache.pulsar.common.policies.data.PersistencePoliciesTest](#user-content-r0s94)|1 ✅|||19ms| +|[org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest](#user-content-r0s95)|1 ✅|||29ms| +|[org.apache.pulsar.common.policies.data.PersistentTopicStatsTest](#user-content-r0s96)|2 ✅|||51ms| +|[org.apache.pulsar.common.policies.data.PoliciesDataTest](#user-content-r0s97)|4 ✅|||1s| +|[org.apache.pulsar.common.policies.data.PublisherStatsTest](#user-content-r0s98)|2 ✅|||37ms| +|[org.apache.pulsar.common.policies.data.ReplicatorStatsTest](#user-content-r0s99)|2 ✅|||30ms| +|[org.apache.pulsar.common.policies.data.ResourceQuotaTest](#user-content-r0s100)|2 ✅|||45ms| +|[org.apache.pulsar.common.policies.data.RetentionPolicesTest](#user-content-r0s101)|1 ✅|||8ms| +|[org.apache.pulsar.common.policies.impl.AutoFailoverPolicyFactoryTest](#user-content-r0s102)|1 ✅|||22ms| +|[org.apache.pulsar.common.policies.impl.MinAvailablePolicyTest](#user-content-r0s103)|1 ✅|||1ms| +|[org.apache.pulsar.common.policies.impl.NamespaceIsolationPoliciesTest](#user-content-r0s104)|7 ✅|||265ms| +|[org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicyImplTest](#user-content-r0s105)|7 ✅|||309ms| +|[org.apache.pulsar.common.protocol.ByteBufPairTest](#user-content-r0s106)|2 ✅|||5s| +|[org.apache.pulsar.common.protocol.CommandUtilsTests](#user-content-r0s107)|7 ✅|||3s| +|[org.apache.pulsar.common.protocol.MarkersTest](#user-content-r0s108)|6 ✅|||3s| +|[org.apache.pulsar.common.protocol.PulsarDecoderTest](#user-content-r0s109)|1 ✅|||4s| +|[org.apache.pulsar.common.stats.JvmDefaultGCMetricsLoggerTest](#user-content-r0s110)|1 ✅|||82ms| +|[org.apache.pulsar.common.util.collections.BitSetRecyclableRecyclableTest](#user-content-r0s111)|2 ✅|||13ms| +|[org.apache.pulsar.common.util.collections.ConcurrentBitSetRecyclableTest](#user-content-r0s112)|2 ✅|||63ms| +|[org.apache.pulsar.common.util.collections.ConcurrentLongHashMapTest](#user-content-r0s113)|13 ✅|||28s| +|[org.apache.pulsar.common.util.collections.ConcurrentLongPairSetTest](#user-content-r0s114)|15 ✅|||2s| +|[org.apache.pulsar.common.util.collections.ConcurrentOpenHashMapTest](#user-content-r0s115)|12 ✅|||9s| +|[org.apache.pulsar.common.util.collections.ConcurrentOpenHashSetTest](#user-content-r0s116)|11 ✅|||7s| +|[org.apache.pulsar.common.util.collections.ConcurrentOpenLongPairRangeSetTest](#user-content-r0s117)|13 ✅|||1s| +|[org.apache.pulsar.common.util.collections.ConcurrentSortedLongPairSetTest](#user-content-r0s118)|9 ✅|||342ms| +|[org.apache.pulsar.common.util.collections.FieldParserTest](#user-content-r0s119)|2 ✅|||64ms| +|[org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueueTest](#user-content-r0s120)|6 ✅|||350ms| +|[org.apache.pulsar.common.util.collections.GrowablePriorityLongPairQueueTest](#user-content-r0s121)|15 ✅|||3s| +|[org.apache.pulsar.common.util.collections.TripleLongPriorityQueueTest](#user-content-r0s122)|3 ✅|||238ms| +|[org.apache.pulsar.common.util.FieldParserTest](#user-content-r0s123)|1 ✅|||242ms| +|[org.apache.pulsar.common.util.FileModifiedTimeUpdaterTest](#user-content-r0s124)|6 ✅|||6s| +|[org.apache.pulsar.common.util.netty.ChannelFuturesTest](#user-content-r0s125)|5 ✅|||2s| +|[org.apache.pulsar.common.util.RateLimiterTest](#user-content-r0s126)|11 ✅|||7s| +|[org.apache.pulsar.common.util.ReflectionsTest](#user-content-r0s127)|12 ✅|||172ms| +|[org.apache.pulsar.common.util.RelativeTimeUtilTest](#user-content-r0s128)|1 ✅|||39ms| +|[org.apache.pulsar.discovery.service.web.DiscoveryServiceWebTest](#user-content-r0s129)|1 ✅|||5s| +|[org.apache.pulsar.functions.worker.PulsarFunctionE2ESecurityTest](#user-content-r0s130)|2 ✅|||28s| +|[org.apache.pulsar.functions.worker.PulsarFunctionPublishTest](#user-content-r0s131)|3 ✅|||42s| +|[org.apache.pulsar.functions.worker.PulsarFunctionTlsTest](#user-content-r0s132)|1 ✅|||12s| +|[org.apache.pulsar.io.PulsarFunctionTlsTest](#user-content-r0s133)|1 ✅|||30s| +|[org.apache.pulsar.proxy.server.AdminProxyHandlerTest](#user-content-r0s134)|1 ✅|||474ms| +|[org.apache.pulsar.proxy.server.AuthedAdminProxyHandlerTest](#user-content-r0s135)|1 ✅|||2s| +|[org.apache.pulsar.proxy.server.FunctionWorkerRoutingTest](#user-content-r0s136)|1 ✅|||10ms| +|[org.apache.pulsar.proxy.server.ProxyAdditionalServletTest](#user-content-r0s137)|1 ✅|||125ms| +|[org.apache.pulsar.proxy.server.ProxyAuthenticatedProducerConsumerTest](#user-content-r0s138)|1 ✅|||2s| +|[org.apache.pulsar.proxy.server.ProxyAuthenticationTest](#user-content-r0s139)|1 ✅|||17s| +|[org.apache.pulsar.proxy.server.ProxyConnectionThrottlingTest](#user-content-r0s140)|1 ✅|||2s| +|[org.apache.pulsar.proxy.server.ProxyEnableHAProxyProtocolTest](#user-content-r0s141)|1 ✅|||511ms| +|[org.apache.pulsar.proxy.server.ProxyForwardAuthDataTest](#user-content-r0s142)|1 ✅|||32s| +|[org.apache.pulsar.proxy.server.ProxyIsAHttpProxyTest](#user-content-r0s143)|10 ✅|||2s| +|[org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithAuth](#user-content-r0s144)|3 ✅|||7s| +|[org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithoutAuth](#user-content-r0s145)|3 ✅|||7s| +|[org.apache.pulsar.proxy.server.ProxyLookupThrottlingTest](#user-content-r0s146)|1 ✅|||3s| +|[org.apache.pulsar.proxy.server.ProxyParserTest](#user-content-r0s147)|5 ✅|||1s| +|[org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest](#user-content-r0s148)|1 ✅|||10s| +|[org.apache.pulsar.proxy.server.ProxyStatsTest](#user-content-r0s149)|3 ✅|||533ms| +|[org.apache.pulsar.proxy.server.ProxyTest](#user-content-r0s150)|6 ✅|||3s| +|[org.apache.pulsar.proxy.server.ProxyTlsTest](#user-content-r0s151)|2 ✅|||414ms| +|[org.apache.pulsar.proxy.server.ProxyTlsTestWithAuth](#user-content-r0s152)|1 ✅|||4ms| +|[org.apache.pulsar.proxy.server.ProxyWithAuthorizationNegTest](#user-content-r0s153)|1 ✅|||2s| +|[org.apache.pulsar.proxy.server.ProxyWithAuthorizationTest](#user-content-r0s154)|13 ✅|||33s| +|[org.apache.pulsar.proxy.server.ProxyWithoutServiceDiscoveryTest](#user-content-r0s155)|1 ✅|||2s| +|[org.apache.pulsar.proxy.server.SuperUserAuthedAdminProxyHandlerTest](#user-content-r0s156)|3 ✅|||8s| +|[org.apache.pulsar.proxy.server.UnauthedAdminProxyHandlerTest](#user-content-r0s157)|2 ✅|||114ms| +|[org.apache.pulsar.PulsarBrokerStarterTest](#user-content-r0s158)|9 ✅|||591ms| +|[org.apache.pulsar.schema.compatibility.SchemaCompatibilityCheckTest](#user-content-r0s159)|23 ✅|||107s| +|[org.apache.pulsar.schema.PartitionedTopicSchemaTest](#user-content-r0s160)|1 ✅|||29s| +|[org.apache.pulsar.schema.SchemaTest](#user-content-r0s161)|3 ✅|||31s| +|[org.apache.pulsar.stats.client.PulsarBrokerStatsClientTest](#user-content-r0s162)|2 ✅|||41s| +|[org.apache.pulsar.tests.EnumValuesDataProviderTest](#user-content-r0s163)|6 ✅|||23ms| +|[org.apache.pulsar.tests.TestRetrySupportBeforeMethodRetryTest](#user-content-r0s164)|1 ✅||4 ⚪|36ms| +|[org.apache.pulsar.tests.TestRetrySupportRetryTest](#user-content-r0s165)|1 ✅||4 ⚪|27ms| +|[org.apache.pulsar.tests.TestRetrySupportSuccessTest](#user-content-r0s166)|3 ✅|||1ms| +|[org.apache.pulsar.tests.ThreadDumpUtilTest](#user-content-r0s167)|2 ✅|||17ms| +|[org.apache.pulsar.utils.SimpleTextOutputStreamTest](#user-content-r0s168)|4 ✅|||50ms| +|[org.apache.pulsar.utils.StatsOutputStreamTest](#user-content-r0s169)|6 ✅|||59ms| +|[org.apache.pulsar.websocket.proxy.ProxyAuthenticationTest](#user-content-r0s170)|4 ✅|||29s| +|[org.apache.pulsar.websocket.proxy.ProxyAuthorizationTest](#user-content-r0s171)|1 ✅|||1s| +|[org.apache.pulsar.websocket.proxy.ProxyConfigurationTest](#user-content-r0s172)|2 ✅|||9s| +|[org.apache.pulsar.websocket.proxy.ProxyPublishConsumeTlsTest](#user-content-r0s173)|1 ✅|||11s| +|[org.apache.pulsar.websocket.proxy.ProxyPublishConsumeWithoutZKTest](#user-content-r0s174)|1 ✅|||7s| +|[org.apache.pulsar.websocket.proxy.v1.V1_ProxyAuthenticationTest](#user-content-r0s175)|4 ✅|||30s| +### ❌ org.apache.pulsar.AddMissingPatchVersionTest ``` ⚪ testVersionStrings ❌ testVersionStrings java.lang.AssertionError: expected [1.2.1] but found [1.2.0] ``` -### ✅ org.apache.pulsar.broker.admin.AdminApiOffloadTest +### ✅ org.apache.pulsar.broker.admin.AdminApiOffloadTest ``` ✅ testOffloadPoliciesAppliedApi ✅ testOffloadV2 @@ -198,38 +198,38 @@ ✅ testOffloadPolicies ✅ testOffloadPoliciesApi ``` -### ✅ org.apache.pulsar.broker.auth.AuthenticationServiceTest +### ✅ org.apache.pulsar.broker.auth.AuthenticationServiceTest ``` ✅ testAuthentication ✅ testAuthenticationHttp ``` -### ✅ org.apache.pulsar.broker.auth.AuthLogsTest +### ✅ org.apache.pulsar.broker.auth.AuthLogsTest ``` ✅ httpEndpoint ✅ binaryEndpoint ``` -### ✅ org.apache.pulsar.broker.auth.AuthorizationTest +### ✅ org.apache.pulsar.broker.auth.AuthorizationTest ``` ✅ simple ``` -### ✅ org.apache.pulsar.broker.lookup.http.HttpTopicLookupv2Test +### ✅ org.apache.pulsar.broker.lookup.http.HttpTopicLookupv2Test ``` ✅ crossColoLookup ✅ testNotEnoughLookupPermits ✅ testValidateReplicationSettingsOnNamespace ✅ testDataPojo ``` -### ✅ org.apache.pulsar.broker.namespace.NamespaceCreateBundlesTest +### ✅ org.apache.pulsar.broker.namespace.NamespaceCreateBundlesTest ``` ✅ testCreateNamespaceWithDefaultBundles ✅ testSplitBundleUpdatesLocalPoliciesWithoutOverwriting ``` -### ✅ org.apache.pulsar.broker.namespace.NamespaceOwnershipListenerTests +### ✅ org.apache.pulsar.broker.namespace.NamespaceOwnershipListenerTests ``` ✅ testGetAllPartitions ✅ testNamespaceBundleOwnershipListener ``` -### ✅ org.apache.pulsar.broker.namespace.NamespaceServiceTest +### ✅ org.apache.pulsar.broker.namespace.NamespaceServiceTest ``` ✅ testSplitMapWithRefreshedStatMap ✅ testRemoveOwnershipNamespaceBundle @@ -242,16 +242,16 @@ ✅ testCreateNamespaceWithDefaultNumberOfBundles ✅ testRemoveOwnershipAndSplitBundle ``` -### ✅ org.apache.pulsar.broker.namespace.NamespaceUnloadingTest +### ✅ org.apache.pulsar.broker.namespace.NamespaceUnloadingTest ``` ✅ testUnloadNotLoadedNamespace ✅ testUnloadPartiallyLoadedNamespace ``` -### ✅ org.apache.pulsar.broker.namespace.OwnerShipCacheForCurrentServerTest +### ✅ org.apache.pulsar.broker.namespace.OwnerShipCacheForCurrentServerTest ``` ✅ testOwnershipForCurrentServer ``` -### ✅ org.apache.pulsar.broker.namespace.OwnershipCacheTest +### ✅ org.apache.pulsar.broker.namespace.OwnershipCacheTest ``` ✅ testGetOwnedServiceUnits ✅ testRemoveOwnership @@ -262,7 +262,7 @@ ✅ testDisableOwnership ✅ testReestablishOwnership ``` -### ✅ org.apache.pulsar.broker.protocol.ProtocolHandlersTest +### ✅ org.apache.pulsar.broker.protocol.ProtocolHandlersTest ``` ✅ testStart ✅ testGetProtocol @@ -271,28 +271,28 @@ ✅ testNewChannelInitializersOverlapped ✅ testGetProtocolDataToAdvertise ``` -### ✅ org.apache.pulsar.broker.protocol.ProtocolHandlerUtilsTest +### ✅ org.apache.pulsar.broker.protocol.ProtocolHandlerUtilsTest ``` ✅ testLoadProtocolHandler ✅ testLoadProtocolHandlerBlankHandlerClass ✅ testLoadProtocolHandlerWrongHandlerClass ``` -### ✅ org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoaderTest +### ✅ org.apache.pulsar.broker.protocol.ProtocolHandlerWithClassLoaderTest ``` ✅ testWrapper ``` -### ✅ org.apache.pulsar.broker.PulsarServiceTest +### ✅ org.apache.pulsar.broker.PulsarServiceTest ``` ✅ testGetWorkerService ✅ testGetWorkerServiceException ``` -### ✅ org.apache.pulsar.broker.service.MessagePublishBufferThrottleTest +### ✅ org.apache.pulsar.broker.service.MessagePublishBufferThrottleTest ``` ✅ testMessagePublishBufferThrottleEnable ✅ testBlockByPublishRateLimiting ✅ testMessagePublishBufferThrottleDisabled ``` -### ✅ org.apache.pulsar.broker.service.ReplicatorTest +### ✅ org.apache.pulsar.broker.service.ReplicatorTest ``` ✅ testResumptionAfterBacklogRelaxed ✅ testReplicationOverrides @@ -317,7 +317,7 @@ ✅ testFailures ✅ testReplicatorProducerClosing ``` -### ✅ org.apache.pulsar.broker.service.TopicOwnerTest +### ✅ org.apache.pulsar.broker.service.TopicOwnerTest ``` ✅ testReleaseOwnershipWithZookeeperDisconnectedBeforeOwnershipNodeDeleted ✅ testAcquireOwnershipWithZookeeperDisconnectedAfterOwnershipNodeCreated @@ -328,37 +328,37 @@ ✅ testReleaseOwnershipWithZookeeperDisconnectedAfterOwnershipNodeDeleted ✅ testReestablishOwnershipAfterInvalidateCache ``` -### ✅ org.apache.pulsar.broker.SLAMonitoringTest +### ✅ org.apache.pulsar.broker.SLAMonitoringTest ``` ✅ testOwnedNamespaces ✅ testOwnershipAfterSetup ✅ testUnloadIfBrokerCrashes ✅ testOwnershipViaAdminAfterSetup ``` -### ✅ org.apache.pulsar.broker.stats.BookieClientsStatsGeneratorTest +### ✅ org.apache.pulsar.broker.stats.BookieClientsStatsGeneratorTest ``` ✅ testJvmDirectMemoryUsedMetric ✅ testBookieClientStatsGenerator ``` -### ✅ org.apache.pulsar.broker.stats.ConsumerStatsTest +### ✅ org.apache.pulsar.broker.stats.ConsumerStatsTest ``` ✅ testAckStatsOnPartitionedTopicForExclusiveSubscription ✅ testConsumerStatsOnZeroMaxUnackedMessagesPerConsumer ✅ testUpdateStatsForActiveConsumerAndSubscription ``` -### ✅ org.apache.pulsar.broker.stats.ManagedCursorMetricsTest +### ✅ org.apache.pulsar.broker.stats.ManagedCursorMetricsTest ``` ✅ testManagedCursorMetrics ``` -### ✅ org.apache.pulsar.broker.stats.ManagedLedgerMetricsTest +### ✅ org.apache.pulsar.broker.stats.ManagedLedgerMetricsTest ``` ✅ testManagedLedgerMetrics ``` -### ✅ org.apache.pulsar.broker.stats.prometheus.AggregatedNamespaceStatsTest +### ✅ org.apache.pulsar.broker.stats.prometheus.AggregatedNamespaceStatsTest ``` ✅ testSimpleAggregation ``` -### ✅ org.apache.pulsar.broker.stats.PrometheusMetricsTest +### ✅ org.apache.pulsar.broker.stats.PrometheusMetricsTest ``` ✅ testPerTopicStats ✅ testAuthMetrics @@ -376,29 +376,29 @@ ✅ testManagedLedgerCacheStats ✅ testManagedLedgerStats ``` -### ✅ org.apache.pulsar.broker.stats.SubscriptionStatsTest +### ✅ org.apache.pulsar.broker.stats.SubscriptionStatsTest ``` ✅ testConsumersAfterMarkDelete ✅ testNonContiguousDeletedMessagesRanges ``` -### ✅ org.apache.pulsar.broker.systopic.NamespaceEventsSystemTopicServiceTest +### ✅ org.apache.pulsar.broker.systopic.NamespaceEventsSystemTopicServiceTest ``` ✅ testSendAndReceiveNamespaceEvents ``` -### ✅ org.apache.pulsar.broker.transaction.buffer.InMemTransactionBufferReaderTest +### ✅ org.apache.pulsar.broker.transaction.buffer.InMemTransactionBufferReaderTest ``` ✅ testCloseReleaseAllEntries ✅ testInvalidNumEntriesArgument ✅ testEndOfTransactionException ``` -### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest ``` ✅ testAbortOnTopic ✅ testAbortOnSubscription ✅ testCommitOnTopic ✅ testCommitOnSubscription ``` -### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionBufferTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionBufferTest ``` ✅ testOpenReaderOnNonExistentTxn ✅ testAbortCommittedTxn @@ -408,49 +408,49 @@ ✅ testCommitTxn ✅ testOpenReaderOnAnOpenTxn ``` -### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionEntryImplTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionEntryImplTest ``` ✅ testCloseShouldReleaseBuffer ``` -### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionLowWaterMarkTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionLowWaterMarkTest ``` ✅ testTransactionBufferLowWaterMark ✅ testPendingAckLowWaterMark ``` -### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest +### ✅ org.apache.pulsar.broker.transaction.buffer.TransactionStablePositionTest ``` ✅ commitTxnTest ✅ abortTxnTest ⚪ commitTxnTest ``` -### ✅ org.apache.pulsar.broker.transaction.coordinator.TransactionCoordinatorClientTest +### ✅ org.apache.pulsar.broker.transaction.coordinator.TransactionCoordinatorClientTest ``` ✅ testClientStart ✅ testCommitAndAbort ✅ testNewTxn ``` -### ✅ org.apache.pulsar.broker.transaction.coordinator.TransactionMetaStoreAssignmentTest +### ✅ org.apache.pulsar.broker.transaction.coordinator.TransactionMetaStoreAssignmentTest ``` ✅ testTransactionMetaStoreAssignAndFailover ``` -### ✅ org.apache.pulsar.broker.transaction.pendingack.PendingAckInMemoryDeleteTest +### ✅ org.apache.pulsar.broker.transaction.pendingack.PendingAckInMemoryDeleteTest ``` ⚪ txnAckTestNoBatchAndSharedSubMemoryDeleteTest ✅ txnAckTestNoBatchAndSharedSubMemoryDeleteTest ✅ txnAckTestBatchAndSharedSubMemoryDeleteTest ``` -### ✅ org.apache.pulsar.broker.transaction.TransactionConsumeTest +### ✅ org.apache.pulsar.broker.transaction.TransactionConsumeTest ``` ✅ noSortedTest ✅ sortedTest ``` -### ✅ org.apache.pulsar.broker.web.RestExceptionTest +### ✅ org.apache.pulsar.broker.web.RestExceptionTest ``` ✅ testRestException ✅ testWebApplicationException ✅ testOtherException ``` -### ✅ org.apache.pulsar.broker.web.WebServiceTest +### ✅ org.apache.pulsar.broker.web.WebServiceTest ``` ✅ testTlsAuthDisallowInsecure ✅ testBrokerReady @@ -462,28 +462,28 @@ ✅ testTlsDisabled ✅ testRateLimiting ``` -### ✅ org.apache.pulsar.client.impl.AdminApiKeyStoreTlsAuthTest +### ✅ org.apache.pulsar.client.impl.AdminApiKeyStoreTlsAuthTest ``` ✅ testAuthorizedUserAsOriginalPrincipal ✅ testSuperUserCantListNamespaces ✅ testPersistentList ✅ testSuperUserCanListTenants ``` -### ✅ org.apache.pulsar.client.impl.BatchMessageIdImplSerializationTest +### ✅ org.apache.pulsar.client.impl.BatchMessageIdImplSerializationTest ``` ✅ testSerializationEmpty ✅ testSerialization1 ✅ testSerializationNull ✅ testSerialization2 ``` -### ✅ org.apache.pulsar.client.impl.BatchMessageIndexAckDisableTest +### ✅ org.apache.pulsar.client.impl.BatchMessageIndexAckDisableTest ``` ✅ testBatchMessageIndexAckForExclusiveSubscription ✅ testBatchMessageIndexAckForSharedSubscription ✅ testBatchMessageIndexAckForExclusiveSubscription ✅ testBatchMessageIndexAckForSharedSubscription ``` -### ✅ org.apache.pulsar.client.impl.BatchMessageIndexAckTest +### ✅ org.apache.pulsar.client.impl.BatchMessageIndexAckTest ``` ✅ testBatchMessageIndexAckForSharedSubscription ✅ testBatchMessageIndexAckForSharedSubscription @@ -491,7 +491,7 @@ ✅ testBatchMessageIndexAckForExclusiveSubscription ✅ testBatchMessageIndexAckForExclusiveSubscription ``` -### ✅ org.apache.pulsar.client.impl.BrokerClientIntegrationTest +### ✅ org.apache.pulsar.client.impl.BrokerClientIntegrationTest ``` ✅ testDisconnectClientWithoutClosingConnection ✅ testResetCursor @@ -509,22 +509,22 @@ ✅ testMaxConcurrentTopicLoading ✅ testCloseConnectionOnInternalServerError ``` -### ✅ org.apache.pulsar.client.impl.CompactedOutBatchMessageTest +### ✅ org.apache.pulsar.client.impl.CompactedOutBatchMessageTest ``` ✅ testCompactedOutMessages ``` -### ✅ org.apache.pulsar.client.impl.ConsumerAckResponseTest +### ✅ org.apache.pulsar.client.impl.ConsumerAckResponseTest ``` ✅ testAckResponse ``` -### ✅ org.apache.pulsar.client.impl.ConsumerConfigurationTest +### ✅ org.apache.pulsar.client.impl.ConsumerConfigurationTest ``` ✅ testReadCompactNonPersistentExclusive ✅ testReadCompactPersistentExclusive ✅ testReadCompactPersistentFailover ✅ testReadCompactPersistentShared ``` -### ✅ org.apache.pulsar.client.impl.ConsumerDedupPermitsUpdate +### ✅ org.apache.pulsar.client.impl.ConsumerDedupPermitsUpdate ``` ✅ testConsumerDedup ✅ testConsumerDedup @@ -534,33 +534,33 @@ ✅ testConsumerDedup ✅ testConsumerDedup ``` -### ✅ org.apache.pulsar.client.impl.ConsumerUnsubscribeTest +### ✅ org.apache.pulsar.client.impl.ConsumerUnsubscribeTest ``` ✅ testConsumerUnsubscribeReference ``` -### ✅ org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithAuth +### ✅ org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithAuth ``` ✅ testTlsClientAuthOverHTTPProtocol ✅ testTlsClientAuthOverBinaryProtocol ✅ testTlsLargeSizeMessage ``` -### ✅ org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithoutAuth +### ✅ org.apache.pulsar.client.impl.KeyStoreTlsProducerConsumerTestWithoutAuth ``` ✅ testTlsClientAuthOverHTTPProtocol ✅ testTlsClientAuthOverBinaryProtocol ✅ testTlsLargeSizeMessage ``` -### ✅ org.apache.pulsar.client.impl.KeyStoreTlsTest +### ✅ org.apache.pulsar.client.impl.KeyStoreTlsTest ``` ✅ testValidate ``` -### ✅ org.apache.pulsar.client.impl.MessageChecksumTest +### ✅ org.apache.pulsar.client.impl.MessageChecksumTest ``` ✅ testChecksumCompatibilityInMixedVersionBrokerCluster ✅ testTamperingMessageIsDetected ✅ testChecksumCompatibilityInMixedVersionBrokerCluster ``` -### ✅ org.apache.pulsar.client.impl.MessageChunkingTest +### ✅ org.apache.pulsar.client.impl.MessageChunkingTest ``` ✅ testPublishWithFailure ✅ testInvalidUseCaseForChunking @@ -572,12 +572,12 @@ ✅ testLargeMessage ⚪ testMaxPendingChunkMessages ``` -### ✅ org.apache.pulsar.client.impl.MessageParserTest +### ✅ org.apache.pulsar.client.impl.MessageParserTest ``` ✅ testWithoutBatches ✅ testWithBatches ``` -### ✅ org.apache.pulsar.client.impl.MultiTopicsReaderTest +### ✅ org.apache.pulsar.client.impl.MultiTopicsReaderTest ``` ✅ testReadMessageWithBatchingWithMessageInclusive ✅ testKeyHashRangeReader @@ -588,7 +588,7 @@ ✅ testReadMessageWithoutBatching ✅ testReaderWithTimeLong ``` -### ✅ org.apache.pulsar.client.impl.NegativeAcksTest +### ✅ org.apache.pulsar.client.impl.NegativeAcksTest ``` ✅ testNegativeAcks ✅ testNegativeAcks @@ -623,7 +623,7 @@ ✅ testNegativeAcks ✅ testNegativeAcks ``` -### ✅ org.apache.pulsar.client.impl.PatternTopicsConsumerImplTest +### ✅ org.apache.pulsar.client.impl.PatternTopicsConsumerImplTest ``` ✅ testStartEmptyPatternConsumer ✅ testBinaryProtoToGetTopicsOfNamespaceAll @@ -637,7 +637,7 @@ ✅ testTopicsListMinus ✅ testAutoSubscribePatternConsumer ``` -### ✅ org.apache.pulsar.client.impl.PerMessageUnAcknowledgedRedeliveryTest +### ✅ org.apache.pulsar.client.impl.PerMessageUnAcknowledgedRedeliveryTest ``` ✅ testSharedAckedNormalTopic ✅ testUnAckedMessageTrackerSize @@ -645,21 +645,21 @@ ✅ testExclusiveAckedNormalTopic ✅ testFailoverAckedNormalTopic ``` -### ✅ org.apache.pulsar.client.impl.PulsarMultiHostClientTest +### ✅ org.apache.pulsar.client.impl.PulsarMultiHostClientTest ``` ✅ testMultiHostUrlRetrySuccess ✅ testGetPartitionedTopicDataTimeout ✅ testGetPartitionedTopicMetaData ``` -### ✅ org.apache.pulsar.client.impl.RawMessageSerDeserTest +### ✅ org.apache.pulsar.client.impl.RawMessageSerDeserTest ``` ✅ testSerializationAndDeserialization ``` -### ✅ org.apache.pulsar.client.impl.SchemaDeleteTest +### ✅ org.apache.pulsar.client.impl.SchemaDeleteTest ``` ✅ createTopicDeleteTopicCreateTopic ``` -### ✅ org.apache.pulsar.client.impl.SequenceIdWithErrorTest +### ✅ org.apache.pulsar.client.impl.SequenceIdWithErrorTest ``` ✅ testCheckSequenceId ✅ testDeleteTopicWithMissingData @@ -667,12 +667,12 @@ ⚪ testCrashBrokerWithoutCursorLedgerLeak ⚪ testSkipCorruptDataLedger ``` -### ✅ org.apache.pulsar.client.impl.TopicDoesNotExistsTest +### ✅ org.apache.pulsar.client.impl.TopicDoesNotExistsTest ``` ✅ testCreateConsumerOnNotExistsTopic ✅ testCreateProducerOnNotExistsTopic ``` -### ✅ org.apache.pulsar.client.impl.TopicFromMessageTest +### ✅ org.apache.pulsar.client.impl.TopicFromMessageTest ``` ✅ testSingleTopicConsumerNoBatchFullName ✅ testMultiTopicConsumerBatchShortName @@ -680,7 +680,7 @@ ✅ testMultiTopicConsumerNoBatchShortName ✅ testSingleTopicConsumerBatchShortName ``` -### ✅ org.apache.pulsar.client.impl.TopicsConsumerImplTest +### ✅ org.apache.pulsar.client.impl.TopicsConsumerImplTest ``` ✅ testTopicAutoUpdatePartitions ✅ testDifferentTopicsNameSubscribe @@ -700,7 +700,7 @@ ✅ testTopicNameValid ✅ testAsyncConsumer ``` -### ✅ org.apache.pulsar.client.impl.UnAcknowledgedMessagesTimeoutTest +### ✅ org.apache.pulsar.client.impl.UnAcknowledgedMessagesTimeoutTest ``` ✅ testCheckUnAcknowledgedMessageTimer ✅ testExclusiveSingleAckedNormalTopic @@ -710,7 +710,7 @@ ✅ testExclusiveCumulativeAckedNormalTopic ✅ testSingleMessageBatch ``` -### ✅ org.apache.pulsar.client.impl.ZeroQueueSizeTest +### ✅ org.apache.pulsar.client.impl.ZeroQueueSizeTest ``` ✅ zeroQueueSizeSharedSubscription ✅ testPauseAndResume @@ -727,15 +727,15 @@ ✅ testFailedZeroQueueSizeBatchMessage ✅ testPauseAndResumeWithUnloading ``` -### ✅ org.apache.pulsar.common.api.raw.RawMessageImplTest +### ✅ org.apache.pulsar.common.api.raw.RawMessageImplTest ``` ✅ testGetProperties ``` -### ✅ org.apache.pulsar.common.compression.CommandsTest +### ✅ org.apache.pulsar.common.compression.CommandsTest ``` ✅ testChecksumSendCommand ``` -### ✅ org.apache.pulsar.common.compression.CompressorCodecBackwardCompatTest +### ✅ org.apache.pulsar.common.compression.CompressorCodecBackwardCompatTest ``` ✅ testCompressDecompress ✅ testCompressDecompress @@ -744,7 +744,7 @@ ✅ testCompressDecompress ✅ testCompressDecompress ``` -### ✅ org.apache.pulsar.common.compression.CompressorCodecTest +### ✅ org.apache.pulsar.common.compression.CompressorCodecTest ``` ✅ testCompressDecompress ✅ testMultpileUsages @@ -792,7 +792,7 @@ ✅ testDecompressReadonlyByteBuf ✅ testMultpileUsages ``` -### ✅ org.apache.pulsar.common.compression.Crc32cChecksumTest +### ✅ org.apache.pulsar.common.compression.Crc32cChecksumTest ``` ✅ testCrc32cHardware ✅ testCrc32cDirectMemoryHardware @@ -801,19 +801,19 @@ ✅ testCrc32cIncremental ✅ testCrc32cIncrementalUsingProvider ``` -### ✅ org.apache.pulsar.common.lookup.data.LookupDataTest +### ✅ org.apache.pulsar.common.lookup.data.LookupDataTest ``` ✅ testLoadReportSerialization ✅ testUrlEncoder ✅ serializeToJsonTest ✅ withConstructor ``` -### ✅ org.apache.pulsar.common.naming.MetadataTests +### ✅ org.apache.pulsar.common.naming.MetadataTests ``` ✅ testInvalidMetadata ✅ testValidMetadata ``` -### ✅ org.apache.pulsar.common.naming.NamespaceBundlesTest +### ✅ org.apache.pulsar.common.naming.NamespaceBundlesTest ``` ✅ testConstructor ✅ testSplitBundleInTwo @@ -821,7 +821,7 @@ ✅ testFindBundle ✅ testSplitBundleByFixBoundary ``` -### ✅ org.apache.pulsar.common.naming.NamespaceBundleTest +### ✅ org.apache.pulsar.common.naming.NamespaceBundleTest ``` ✅ testIncludes ✅ testGetBundle @@ -830,26 +830,26 @@ ✅ testToString ✅ testEquals ``` -### ✅ org.apache.pulsar.common.naming.NamespaceNameTest +### ✅ org.apache.pulsar.common.naming.NamespaceNameTest ``` ✅ namespace ✅ testNewScheme ``` -### ✅ org.apache.pulsar.common.naming.ServiceConfigurationTest +### ✅ org.apache.pulsar.common.naming.ServiceConfigurationTest ``` ✅ testOptionalSettingPresent ✅ testOptionalSettingEmpty ✅ testInit ✅ testInitFailure ``` -### ✅ org.apache.pulsar.common.naming.TopicNameTest +### ✅ org.apache.pulsar.common.naming.TopicNameTest ``` ✅ testShortTopicName ✅ topic ✅ testTopicNameWithoutCluster ✅ testDecodeEncode ``` -### ✅ org.apache.pulsar.common.net.ServiceURITest +### ✅ org.apache.pulsar.common.net.ServiceURITest ``` ✅ testEmptyServiceUriString ✅ testMultipleHostsSemiColon @@ -873,15 +873,15 @@ ✅ testMultipleHostsWithoutPulsarPorts ✅ testIpv6Uri ``` -### ✅ org.apache.pulsar.common.policies.data.AutoFailoverPolicyDataTest +### ✅ org.apache.pulsar.common.policies.data.AutoFailoverPolicyDataTest ``` ✅ testAutoFailoverPolicyData ``` -### ✅ org.apache.pulsar.common.policies.data.AutoFailoverPolicyTypeTest +### ✅ org.apache.pulsar.common.policies.data.AutoFailoverPolicyTypeTest ``` ✅ testAutoFailoverPolicyType ``` -### ✅ org.apache.pulsar.common.policies.data.AutoTopicCreationOverrideTest +### ✅ org.apache.pulsar.common.policies.data.AutoTopicCreationOverrideTest ``` ✅ testInvalidTopicType ✅ testNumPartitionsTooLow @@ -890,36 +890,36 @@ ✅ testNumPartitionsOnNonPartitioned ✅ testValidOverridePartitioned ``` -### ✅ org.apache.pulsar.common.policies.data.BacklogQuotaTest +### ✅ org.apache.pulsar.common.policies.data.BacklogQuotaTest ``` ✅ testBacklogQuotaIdentity ``` -### ✅ org.apache.pulsar.common.policies.data.ClusterDataTest +### ✅ org.apache.pulsar.common.policies.data.ClusterDataTest ``` ✅ simple ``` -### ✅ org.apache.pulsar.common.policies.data.ConsumerStatsTest +### ✅ org.apache.pulsar.common.policies.data.ConsumerStatsTest ``` ✅ testConsumerStats ``` -### ✅ org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfigTest +### ✅ org.apache.pulsar.common.policies.data.EnsemblePlacementPolicyConfigTest ``` ✅ testDecodeFailed ✅ testEncodeDecodeSuccessfully ``` -### ✅ org.apache.pulsar.common.policies.data.LocalPolicesTest +### ✅ org.apache.pulsar.common.policies.data.LocalPolicesTest ``` ✅ testLocalPolices ``` -### ✅ org.apache.pulsar.common.policies.data.NamespaceIsolationDataTest +### ✅ org.apache.pulsar.common.policies.data.NamespaceIsolationDataTest ``` ✅ testNamespaceIsolationData ``` -### ✅ org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest +### ✅ org.apache.pulsar.common.policies.data.NamespaceOwnershipStatusTest ``` ✅ testSerialization ``` -### ✅ org.apache.pulsar.common.policies.data.OffloadPoliciesTest +### ✅ org.apache.pulsar.common.policies.data.OffloadPoliciesTest ``` ✅ testGcsConfiguration ✅ mergeTest @@ -928,58 +928,58 @@ ✅ testS3Configuration ✅ oldPoliciesCompatibleTest ``` -### ✅ org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest +### ✅ org.apache.pulsar.common.policies.data.PartitionedTopicStatsTest ``` ✅ testPartitionedTopicStats ``` -### ✅ org.apache.pulsar.common.policies.data.PersistencePoliciesTest +### ✅ org.apache.pulsar.common.policies.data.PersistencePoliciesTest ``` ✅ testPersistencePolicies ``` -### ✅ org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest +### ✅ org.apache.pulsar.common.policies.data.PersistentOfflineTopicStatsTest ``` ✅ testPersistentOfflineTopicStats ``` -### ✅ org.apache.pulsar.common.policies.data.PersistentTopicStatsTest +### ✅ org.apache.pulsar.common.policies.data.PersistentTopicStatsTest ``` ✅ testPersistentTopicStatsAggregation ✅ testPersistentTopicStats ``` -### ✅ org.apache.pulsar.common.policies.data.PoliciesDataTest +### ✅ org.apache.pulsar.common.policies.data.PoliciesDataTest ``` ✅ propertyAdmin ✅ policies ✅ bundlesData ✅ bundlesPolicies ``` -### ✅ org.apache.pulsar.common.policies.data.PublisherStatsTest +### ✅ org.apache.pulsar.common.policies.data.PublisherStatsTest ``` ✅ testPublisherStats ✅ testPublisherStatsAggregation ``` -### ✅ org.apache.pulsar.common.policies.data.ReplicatorStatsTest +### ✅ org.apache.pulsar.common.policies.data.ReplicatorStatsTest ``` ✅ testReplicatorStatsAdd ✅ testReplicatorStatsNull ``` -### ✅ org.apache.pulsar.common.policies.data.ResourceQuotaTest +### ✅ org.apache.pulsar.common.policies.data.ResourceQuotaTest ``` ✅ testResourceQuotaDefault ✅ testResourceQuotaEqual ``` -### ✅ org.apache.pulsar.common.policies.data.RetentionPolicesTest +### ✅ org.apache.pulsar.common.policies.data.RetentionPolicesTest ``` ✅ testRetentionPolices ``` -### ✅ org.apache.pulsar.common.policies.impl.AutoFailoverPolicyFactoryTest +### ✅ org.apache.pulsar.common.policies.impl.AutoFailoverPolicyFactoryTest ``` ✅ testAutoFailoverPolicyFactory ``` -### ✅ org.apache.pulsar.common.policies.impl.MinAvailablePolicyTest +### ✅ org.apache.pulsar.common.policies.impl.MinAvailablePolicyTest ``` ✅ testMinAvailablePolicty ``` -### ✅ org.apache.pulsar.common.policies.impl.NamespaceIsolationPoliciesTest +### ✅ org.apache.pulsar.common.policies.impl.NamespaceIsolationPoliciesTest ``` ✅ testBrokerAssignment ✅ testGetNamespaceIsolationPolicyByName @@ -989,7 +989,7 @@ ✅ testDefaultConstructor ✅ testGetNamespaceIsolationPolicyByNamespace ``` -### ✅ org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicyImplTest +### ✅ org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicyImplTest ``` ✅ testFindBrokers ✅ testGetSecondaryBrokers @@ -999,12 +999,12 @@ ✅ testConstructor ✅ testIsPrimaryOrSecondaryBroker ``` -### ✅ org.apache.pulsar.common.protocol.ByteBufPairTest +### ✅ org.apache.pulsar.common.protocol.ByteBufPairTest ``` ✅ testEncoder ✅ testDoubleByteBuf ``` -### ✅ org.apache.pulsar.common.protocol.CommandUtilsTests +### ✅ org.apache.pulsar.common.protocol.CommandUtilsTests ``` ✅ testSkipBrokerEntryMetadata ✅ testPeekBrokerEntryMetadata @@ -1014,7 +1014,7 @@ ✅ testAddBrokerEntryMetadata ✅ testByteBufComposite ``` -### ✅ org.apache.pulsar.common.protocol.MarkersTest +### ✅ org.apache.pulsar.common.protocol.MarkersTest ``` ✅ testSnapshot ✅ testTxnAbortMarker @@ -1023,25 +1023,25 @@ ✅ testSnapshotRequest ✅ testSnapshotResponse ``` -### ✅ org.apache.pulsar.common.protocol.PulsarDecoderTest +### ✅ org.apache.pulsar.common.protocol.PulsarDecoderTest ``` ✅ testChannelRead ``` -### ✅ org.apache.pulsar.common.stats.JvmDefaultGCMetricsLoggerTest +### ✅ org.apache.pulsar.common.stats.JvmDefaultGCMetricsLoggerTest ``` ✅ testInvokeJVMInternals ``` -### ✅ org.apache.pulsar.common.util.collections.BitSetRecyclableRecyclableTest +### ✅ org.apache.pulsar.common.util.collections.BitSetRecyclableRecyclableTest ``` ✅ testResetWords ✅ testRecycle ``` -### ✅ org.apache.pulsar.common.util.collections.ConcurrentBitSetRecyclableTest +### ✅ org.apache.pulsar.common.util.collections.ConcurrentBitSetRecyclableTest ``` ✅ testRecycle ✅ testGenerateByBitSet ``` -### ✅ org.apache.pulsar.common.util.collections.ConcurrentLongHashMapTest +### ✅ org.apache.pulsar.common.util.collections.ConcurrentLongHashMapTest ``` ✅ testRehashingWithDeletes ✅ concurrentInsertionsAndReads @@ -1057,7 +1057,7 @@ ✅ stressConcurrentInsertionsAndReads ✅ testNegativeUsedBucketCount ``` -### ✅ org.apache.pulsar.common.util.collections.ConcurrentLongPairSetTest +### ✅ org.apache.pulsar.common.util.collections.ConcurrentLongPairSetTest ``` ✅ concurrentInsertionsAndReads ✅ testEqualsObjects @@ -1075,7 +1075,7 @@ ✅ testConstructor ✅ concurrentInsertions ``` -### ✅ org.apache.pulsar.common.util.collections.ConcurrentOpenHashMapTest +### ✅ org.apache.pulsar.common.util.collections.ConcurrentOpenHashMapTest ``` ✅ testRemove ✅ simpleInsertions @@ -1090,7 +1090,7 @@ ✅ concurrentInsertionsAndReads ✅ testConstructor ``` -### ✅ org.apache.pulsar.common.util.collections.ConcurrentOpenHashSetTest +### ✅ org.apache.pulsar.common.util.collections.ConcurrentOpenHashSetTest ``` ✅ concurrentInsertions ✅ testRehashing @@ -1104,7 +1104,7 @@ ✅ testRehashingWithDeletes ✅ testRemove ``` -### ✅ org.apache.pulsar.common.util.collections.ConcurrentOpenLongPairRangeSetTest +### ✅ org.apache.pulsar.common.util.collections.ConcurrentOpenLongPairRangeSetTest ``` ✅ testAddForDifferentKey ✅ testToString @@ -1120,7 +1120,7 @@ ✅ testDeleteWithAtMost ✅ testRangeContaining ``` -### ✅ org.apache.pulsar.common.util.collections.ConcurrentSortedLongPairSetTest +### ✅ org.apache.pulsar.common.util.collections.ConcurrentSortedLongPairSetTest ``` ✅ concurrentInsertions ✅ testIfRemoval @@ -1132,12 +1132,12 @@ ✅ testIteration ✅ testToString ``` -### ✅ org.apache.pulsar.common.util.collections.FieldParserTest +### ✅ org.apache.pulsar.common.util.collections.FieldParserTest ``` ✅ testUpdateObject ✅ testConversion ``` -### ✅ org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueueTest +### ✅ org.apache.pulsar.common.util.collections.GrowableArrayBlockingQueueTest ``` ✅ removeTest ✅ growArray @@ -1146,7 +1146,7 @@ ✅ pollTimeout2 ✅ blockingTake ``` -### ✅ org.apache.pulsar.common.util.collections.GrowablePriorityLongPairQueueTest +### ✅ org.apache.pulsar.common.util.collections.GrowablePriorityLongPairQueueTest ``` ✅ testItems ✅ testRemove @@ -1164,17 +1164,17 @@ ✅ testRemoval ✅ testIfRemoval ``` -### ✅ org.apache.pulsar.common.util.collections.TripleLongPriorityQueueTest +### ✅ org.apache.pulsar.common.util.collections.TripleLongPriorityQueueTest ``` ✅ testQueue ✅ testCheckForEmpty ✅ testCompareWithSamePrefix ``` -### ✅ org.apache.pulsar.common.util.FieldParserTest +### ✅ org.apache.pulsar.common.util.FieldParserTest ``` ✅ testMap ``` -### ✅ org.apache.pulsar.common.util.FileModifiedTimeUpdaterTest +### ✅ org.apache.pulsar.common.util.FileModifiedTimeUpdaterTest ``` ✅ testFileNotModified ✅ testFileModified @@ -1183,7 +1183,7 @@ ✅ testFileModified ✅ testFileNotModified ``` -### ✅ org.apache.pulsar.common.util.netty.ChannelFuturesTest +### ✅ org.apache.pulsar.common.util.netty.ChannelFuturesTest ``` ✅ toCompletableFuture_shouldCompleteExceptionally_channelFutureCompletedAfter ✅ toCompletableFuture_shouldCompleteSuccessfully_channelFutureCompletedAfter @@ -1191,7 +1191,7 @@ ✅ toCompletableFuture_shouldCompleteExceptionally_channelFutureCompletedBefore ✅ toCompletableFuture_shouldRequireNonNullArgument ``` -### ✅ org.apache.pulsar.common.util.RateLimiterTest +### ✅ org.apache.pulsar.common.util.RateLimiterTest ``` ✅ testMultipleTryAcquire ✅ testRateLimiterWithPermitUpdater @@ -1205,7 +1205,7 @@ ✅ testRateLimiterWithFunction ✅ testAcquireBlock ``` -### ✅ org.apache.pulsar.common.util.ReflectionsTest +### ✅ org.apache.pulsar.common.util.ReflectionsTest ``` ✅ testCreateInstanceNoNoArgConstructor ✅ testCreateInstanceConstructorThrowsException @@ -1220,70 +1220,70 @@ ✅ testLoadClass ✅ testClassInJarImplementsIface ``` -### ✅ org.apache.pulsar.common.util.RelativeTimeUtilTest +### ✅ org.apache.pulsar.common.util.RelativeTimeUtilTest ``` ✅ testParseRelativeTime ``` -### ✅ org.apache.pulsar.discovery.service.web.DiscoveryServiceWebTest +### ✅ org.apache.pulsar.discovery.service.web.DiscoveryServiceWebTest ``` ✅ testRedirectUrlWithServerStarted ``` -### ✅ org.apache.pulsar.functions.worker.PulsarFunctionE2ESecurityTest +### ✅ org.apache.pulsar.functions.worker.PulsarFunctionE2ESecurityTest ``` ✅ testAuthorizationWithAnonymousUser ✅ testAuthorization ``` -### ✅ org.apache.pulsar.functions.worker.PulsarFunctionPublishTest +### ✅ org.apache.pulsar.functions.worker.PulsarFunctionPublishTest ``` ✅ testPulsarFunctionState ✅ testMultipleAddress ✅ testPulsarFunctionBKCleanup ``` -### ✅ org.apache.pulsar.functions.worker.PulsarFunctionTlsTest +### ✅ org.apache.pulsar.functions.worker.PulsarFunctionTlsTest ``` ✅ testFunctionsCreation ``` -### ✅ org.apache.pulsar.io.PulsarFunctionTlsTest +### ✅ org.apache.pulsar.io.PulsarFunctionTlsTest ``` ✅ testAuthorization ``` -### ✅ org.apache.pulsar.proxy.server.AdminProxyHandlerTest +### ✅ org.apache.pulsar.proxy.server.AdminProxyHandlerTest ``` ✅ replayableProxyContentProviderTest ``` -### ✅ org.apache.pulsar.proxy.server.AuthedAdminProxyHandlerTest +### ✅ org.apache.pulsar.proxy.server.AuthedAdminProxyHandlerTest ``` ✅ testAuthenticatedProxyAsNonAdmin ``` -### ✅ org.apache.pulsar.proxy.server.FunctionWorkerRoutingTest +### ✅ org.apache.pulsar.proxy.server.FunctionWorkerRoutingTest ``` ✅ testFunctionWorkerRedirect ``` -### ✅ org.apache.pulsar.proxy.server.ProxyAdditionalServletTest +### ✅ org.apache.pulsar.proxy.server.ProxyAdditionalServletTest ``` ✅ test ``` -### ✅ org.apache.pulsar.proxy.server.ProxyAuthenticatedProducerConsumerTest +### ✅ org.apache.pulsar.proxy.server.ProxyAuthenticatedProducerConsumerTest ``` ✅ testTlsSyncProducerAndConsumer ``` -### ✅ org.apache.pulsar.proxy.server.ProxyAuthenticationTest +### ✅ org.apache.pulsar.proxy.server.ProxyAuthenticationTest ``` ✅ testAuthentication ``` -### ✅ org.apache.pulsar.proxy.server.ProxyConnectionThrottlingTest +### ✅ org.apache.pulsar.proxy.server.ProxyConnectionThrottlingTest ``` ✅ testInboundConnection ``` -### ✅ org.apache.pulsar.proxy.server.ProxyEnableHAProxyProtocolTest +### ✅ org.apache.pulsar.proxy.server.ProxyEnableHAProxyProtocolTest ``` ✅ testSimpleProduceAndConsume ``` -### ✅ org.apache.pulsar.proxy.server.ProxyForwardAuthDataTest +### ✅ org.apache.pulsar.proxy.server.ProxyForwardAuthDataTest ``` ✅ testForwardAuthData ``` -### ✅ org.apache.pulsar.proxy.server.ProxyIsAHttpProxyTest +### ✅ org.apache.pulsar.proxy.server.ProxyIsAHttpProxyTest ``` ✅ testProxyToEndsInSlash ✅ testStreaming @@ -1296,23 +1296,23 @@ ✅ testSingleRedirect ✅ testRedirectNotSpecified ``` -### ✅ org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithAuth +### ✅ org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithAuth ``` ✅ testProducerFailed ✅ testPartitions ✅ testProducer ``` -### ✅ org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithoutAuth +### ✅ org.apache.pulsar.proxy.server.ProxyKeyStoreTlsTestWithoutAuth ``` ✅ testPartitions ✅ testProducerFailed ✅ testProducer ``` -### ✅ org.apache.pulsar.proxy.server.ProxyLookupThrottlingTest +### ✅ org.apache.pulsar.proxy.server.ProxyLookupThrottlingTest ``` ✅ testLookup ``` -### ✅ org.apache.pulsar.proxy.server.ProxyParserTest +### ✅ org.apache.pulsar.proxy.server.ProxyParserTest ``` ✅ testRegexSubscription ✅ testProducerConsumer @@ -1320,17 +1320,17 @@ ✅ testPartitions ✅ testProtocolVersionAdvertisement ``` -### ✅ org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest +### ✅ org.apache.pulsar.proxy.server.ProxyRolesEnforcementTest ``` ✅ testIncorrectRoles ``` -### ✅ org.apache.pulsar.proxy.server.ProxyStatsTest +### ✅ org.apache.pulsar.proxy.server.ProxyStatsTest ``` ✅ testChangeLogLevel ✅ testConnectionsStats ✅ testTopicStats ``` -### ✅ org.apache.pulsar.proxy.server.ProxyTest +### ✅ org.apache.pulsar.proxy.server.ProxyTest ``` ✅ testPartitions ✅ testRegexSubscription @@ -1339,20 +1339,20 @@ ✅ testProducer ✅ testProducerConsumer ``` -### ✅ org.apache.pulsar.proxy.server.ProxyTlsTest +### ✅ org.apache.pulsar.proxy.server.ProxyTlsTest ``` ✅ testProducer ✅ testPartitions ``` -### ✅ org.apache.pulsar.proxy.server.ProxyTlsTestWithAuth +### ✅ org.apache.pulsar.proxy.server.ProxyTlsTestWithAuth ``` ✅ testServiceStartup ``` -### ✅ org.apache.pulsar.proxy.server.ProxyWithAuthorizationNegTest +### ✅ org.apache.pulsar.proxy.server.ProxyWithAuthorizationNegTest ``` ✅ testProxyAuthorization ``` -### ✅ org.apache.pulsar.proxy.server.ProxyWithAuthorizationTest +### ✅ org.apache.pulsar.proxy.server.ProxyWithAuthorizationTest ``` ✅ tlsCiphersAndProtocols ✅ testTlsHostVerificationProxyToClient @@ -1368,22 +1368,22 @@ ✅ testTlsHostVerificationProxyToClient ✅ tlsCiphersAndProtocols ``` -### ✅ org.apache.pulsar.proxy.server.ProxyWithoutServiceDiscoveryTest +### ✅ org.apache.pulsar.proxy.server.ProxyWithoutServiceDiscoveryTest ``` ✅ testDiscoveryService ``` -### ✅ org.apache.pulsar.proxy.server.SuperUserAuthedAdminProxyHandlerTest +### ✅ org.apache.pulsar.proxy.server.SuperUserAuthedAdminProxyHandlerTest ``` ✅ testAuthWithRandoCert ✅ testAuthenticatedProxyAsAdmin ✅ testAuthenticatedProxyAsNonAdmin ``` -### ✅ org.apache.pulsar.proxy.server.UnauthedAdminProxyHandlerTest +### ✅ org.apache.pulsar.proxy.server.UnauthedAdminProxyHandlerTest ``` ✅ testUnauthenticatedProxy ✅ testVipStatus ``` -### ✅ org.apache.pulsar.PulsarBrokerStarterTest +### ✅ org.apache.pulsar.PulsarBrokerStarterTest ``` ✅ testMainRunBookieNoConfig ✅ testLoadConfigWithException @@ -1395,7 +1395,7 @@ ✅ testMainEnableRunBookieThroughBrokerConfig ✅ testMainRunBookieAndAutoRecoveryNoConfig ``` -### ✅ org.apache.pulsar.schema.compatibility.SchemaCompatibilityCheckTest +### ✅ org.apache.pulsar.schema.compatibility.SchemaCompatibilityCheckTest ``` ✅ testConsumerCompatibilityCheckCanReadLastTest ✅ testConsumerWithNotCompatibilitySchema @@ -1421,22 +1421,22 @@ ✅ testConsumerCompatibilityCheckCanReadLastTest ✅ testIsAutoUpdateSchema ``` -### ✅ org.apache.pulsar.schema.PartitionedTopicSchemaTest +### ✅ org.apache.pulsar.schema.PartitionedTopicSchemaTest ``` ✅ test ``` -### ✅ org.apache.pulsar.schema.SchemaTest +### ✅ org.apache.pulsar.schema.SchemaTest ``` ✅ testIsUsingAvroSchemaParser ✅ testBytesSchemaDeserialize ✅ testMultiTopicSetSchemaProvider ``` -### ✅ org.apache.pulsar.stats.client.PulsarBrokerStatsClientTest +### ✅ org.apache.pulsar.stats.client.PulsarBrokerStatsClientTest ``` ✅ testServiceException ✅ testTopicInternalStats ``` -### ✅ org.apache.pulsar.tests.EnumValuesDataProviderTest +### ✅ org.apache.pulsar.tests.EnumValuesDataProviderTest ``` ✅ shouldFailIfEnumParameterIsMissing ✅ testEnumValuesProvider @@ -1445,7 +1445,7 @@ ✅ shouldContainAllEnumValues ✅ testEnumValuesProvider ``` -### ✅ org.apache.pulsar.tests.TestRetrySupportBeforeMethodRetryTest +### ✅ org.apache.pulsar.tests.TestRetrySupportBeforeMethodRetryTest ``` ✅ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod ⚪ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod @@ -1453,7 +1453,7 @@ ⚪ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod ⚪ shouldNotDoAnythingWhenThereIsBeforeAndAfterMethod ``` -### ✅ org.apache.pulsar.tests.TestRetrySupportRetryTest +### ✅ org.apache.pulsar.tests.TestRetrySupportRetryTest ``` ⚪ shouldCallSetupBeforeRetrying ✅ shouldCallSetupBeforeRetrying @@ -1461,25 +1461,25 @@ ⚪ shouldCallSetupBeforeRetrying ⚪ shouldCallSetupBeforeRetrying ``` -### ✅ org.apache.pulsar.tests.TestRetrySupportSuccessTest +### ✅ org.apache.pulsar.tests.TestRetrySupportSuccessTest ``` ✅ shouldCallSetupOnce1 ✅ shouldCallSetupOnce3 ✅ shouldCallSetupOnce2 ``` -### ✅ org.apache.pulsar.tests.ThreadDumpUtilTest +### ✅ org.apache.pulsar.tests.ThreadDumpUtilTest ``` ✅ testHelp ✅ testThreadDump ``` -### ✅ org.apache.pulsar.utils.SimpleTextOutputStreamTest +### ✅ org.apache.pulsar.utils.SimpleTextOutputStreamTest ``` ✅ testBooleanFormat ✅ testDoubleFormat ✅ testLongFormat ✅ testString ``` -### ✅ org.apache.pulsar.utils.StatsOutputStreamTest +### ✅ org.apache.pulsar.utils.StatsOutputStreamTest ``` ✅ testLists ✅ testNamedObjects @@ -1488,31 +1488,31 @@ ✅ testPairs ✅ testObjects ``` -### ✅ org.apache.pulsar.websocket.proxy.ProxyAuthenticationTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyAuthenticationTest ``` ✅ unauthenticatedSocketTest ✅ authenticatedSocketTest ✅ statsTest ✅ anonymousSocketTest ``` -### ✅ org.apache.pulsar.websocket.proxy.ProxyAuthorizationTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyAuthorizationTest ``` ✅ test ``` -### ✅ org.apache.pulsar.websocket.proxy.ProxyConfigurationTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyConfigurationTest ``` ✅ configTest ✅ configTest ``` -### ✅ org.apache.pulsar.websocket.proxy.ProxyPublishConsumeTlsTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyPublishConsumeTlsTest ``` ✅ socketTest ``` -### ✅ org.apache.pulsar.websocket.proxy.ProxyPublishConsumeWithoutZKTest +### ✅ org.apache.pulsar.websocket.proxy.ProxyPublishConsumeWithoutZKTest ``` ✅ socketTest ``` -### ✅ org.apache.pulsar.websocket.proxy.v1.V1_ProxyAuthenticationTest +### ✅ org.apache.pulsar.websocket.proxy.v1.V1_ProxyAuthenticationTest ``` ✅ anonymousSocketTest ✅ authenticatedSocketTest diff --git a/__tests__/__outputs__/rspec-json.md b/__tests__/__outputs__/rspec-json.md index 88336be..7444608 100644 --- a/__tests__/__outputs__/rspec-json.md +++ b/__tests__/__outputs__/rspec-json.md @@ -2,12 +2,12 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/rspec-json.json|1 ✅|1 ❌|1 ⚪|0ms| -## ❌ fixtures/rspec-json.json +## ❌ fixtures/rspec-json.json **3** tests were completed in **0ms** with **1** passed, **1** failed and **1** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[./spec/config/check_env_vars_spec.rb](#r0s0)|1 ✅|1 ❌|1 ⚪|0ms| -### ❌ ./spec/config/check_env_vars_spec.rb +|[./spec/config/check_env_vars_spec.rb](#user-content-r0s0)|1 ✅|1 ❌|1 ⚪|0ms| +### ❌ ./spec/config/check_env_vars_spec.rb ``` CheckEnvVars#call when all env vars are defined behaves like success load ❌ CheckEnvVars#call when all env vars are defined behaves like success load fails in assertion diff --git a/__tests__/__outputs__/silent-notes-test-results.md b/__tests__/__outputs__/silent-notes-test-results.md index 9cd23f5..34f5bab 100644 --- a/__tests__/__outputs__/silent-notes-test-results.md +++ b/__tests__/__outputs__/silent-notes-test-results.md @@ -4,24 +4,24 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/external/SilentNotes.trx|67 ✅||12 ⚪|1s| -## ✅ fixtures/external/SilentNotes.trx +## ✅ fixtures/external/SilentNotes.trx **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| -### ✅ VanillaCloudStorageClientTest.CloudStorageCredentialsTest +|[VanillaCloudStorageClientTest.CloudStorageCredentialsTest](#user-content-r0s0)|6 ✅|||30ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest](#user-content-r0s1)|2 ✅||3 ⚪|101ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest](#user-content-r0s2)|4 ✅||3 ⚪|166ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest](#user-content-r0s3)|2 ✅|||7ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest](#user-content-r0s4)|1 ✅||3 ⚪|40ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest](#user-content-r0s5)|1 ✅||3 ⚪|15ms| +|[VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest](#user-content-r0s6)|5 ✅|||16ms| +|[VanillaCloudStorageClientTest.CloudStorageTokenTest](#user-content-r0s7)|9 ✅|||0ms| +|[VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest](#user-content-r0s8)|3 ✅|||3ms| +|[VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest](#user-content-r0s9)|9 ✅|||12ms| +|[VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest](#user-content-r0s10)|5 ✅|||13ms| +|[VanillaCloudStorageClientTest.SecureStringExtensionsTest](#user-content-r0s11)|7 ✅|||0ms| +|[VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest](#user-content-r0s12)|13 ✅|||43ms| +### ✅ VanillaCloudStorageClientTest.CloudStorageCredentialsTest ``` ✅ AreEqualWorksWithDifferentPassword ✅ AreEqualWorksWithSameContent @@ -30,7 +30,7 @@ ✅ ValidateAcceptsValidCredentials ✅ ValidateRejectsInvalidCredentials ``` -### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.DropboxCloudStorageClientTest ``` ✅ FileLifecycleWorks ⚪ ReallyDoFetchToken @@ -38,7 +38,7 @@ ⚪ ReallyDoRefreshToken ✅ ThrowsAccessDeniedExceptionWithInvalidToken ``` -### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.FtpCloudStorageClientTest ``` ✅ FileLifecycleWorks ✅ SanitizeCredentials_ChangesInvalidPrefix @@ -48,26 +48,26 @@ ⚪ ThrowsWithInvalidUrl ⚪ ThrowsWithInvalidUsername ``` -### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.GmxCloudStorageClientTest ``` ✅ ChoosesCorrectUrlForGmxComEmail ✅ ChoosesCorrectUrlForGmxNetEmail ``` -### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.GoogleCloudStorageClientTest ``` ✅ FileLifecycleWorks ⚪ ReallyDoFetchToken ⚪ ReallyDoOpenAuthorizationPageInBrowser ⚪ ReallyDoRefreshToken ``` -### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.OnedriveCloudStorageClientTest ``` ✅ FileLifecycleWorks ⚪ ReallyDoFetchToken ⚪ ReallyDoOpenAuthorizationPageInBrowser ⚪ ReallyDoRefreshToken ``` -### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest +### ✅ VanillaCloudStorageClientTest.CloudStorageProviders.WebdavCloudStorageClientTest ``` ✅ FileLifecycleWorks ✅ ParseGmxWebdavResponseCorrectly @@ -75,7 +75,7 @@ ✅ ThrowsWithInvalidPath ✅ ThrowsWithInvalidUsername ``` -### ✅ VanillaCloudStorageClientTest.CloudStorageTokenTest +### ✅ VanillaCloudStorageClientTest.CloudStorageTokenTest ``` ✅ AreEqualWorksWithNullDate ✅ AreEqualWorksWithSameContent @@ -87,13 +87,13 @@ ✅ SetExpiryDateBySecondsWorksWithNull ✅ SetExpiryDateBySecondsWorksWithVeryShortPeriod ``` -### ✅ VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest +### ✅ VanillaCloudStorageClientTest.OAuth2.AuthorizationResponseErrorTest ``` ✅ ParsesAllErrorCodesCorrectly ✅ ParsesNullErrorCodeCorrectly ✅ ParsesUnknownErrorCodeCorrectly ``` -### ✅ VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest +### ✅ VanillaCloudStorageClientTest.OAuth2.OAuth2UtilsTest ``` ✅ BuildAuthorizationRequestUrlEscapesParameters ✅ BuildAuthorizationRequestUrlLeavesOutOptionalParameters @@ -105,7 +105,7 @@ ✅ ParseRealWorldGoogleRejectResponse ✅ ParseRealWorldGoogleSuccessResponse ``` -### ✅ VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest +### ✅ VanillaCloudStorageClientTest.OAuth2CloudStorageClientTest ``` ✅ BuildOAuth2AuthorizationRequestUrlWorks ✅ FetchTokenCanInterpretGoogleResponse @@ -113,7 +113,7 @@ ✅ FetchTokenThrowsWithWrongState ✅ RefreshTokenCanInterpretGoogleResponse ``` -### ✅ VanillaCloudStorageClientTest.SecureStringExtensionsTest +### ✅ VanillaCloudStorageClientTest.SecureStringExtensionsTest ``` ✅ AreEqualsWorksCorrectly ✅ CorrectlyConvertsSecureStringToString @@ -123,7 +123,7 @@ ✅ CorrectlyConvertsUnicodeBytesToSecureString ✅ CorrectlyConvertsUtf8BytesToSecureString ``` -### ✅ VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest +### ✅ VanillaCloudStorageClientTest.SerializeableCloudStorageCredentialsTest ``` ✅ DecryptAfterDesrializationCanReadAllPropertiesBack ✅ DecryptAfterDesrializationRespectsNullProperties diff --git a/__tests__/__outputs__/swift-xunit.md b/__tests__/__outputs__/swift-xunit.md index b84a926..6f9ed46 100644 --- a/__tests__/__outputs__/swift-xunit.md +++ b/__tests__/__outputs__/swift-xunit.md @@ -2,12 +2,12 @@ |Report|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| |fixtures/swift-xunit.xml|2 ✅|1 ❌||220ms| -## ❌ fixtures/swift-xunit.xml +## ❌ fixtures/swift-xunit.xml **3** tests were completed in **220ms** with **2** passed, **1** failed and **0** skipped. |Test suite|Passed|Failed|Skipped|Time| |:---|---:|---:|---:|---:| -|[TestResults](#r0s0)|2 ✅|1 ❌||220ms| -### ❌ TestResults +|[TestResults](#user-content-r0s0)|2 ✅|1 ❌||220ms| +### ❌ TestResults ``` AcmeLibTests.AcmeLibTests ✅ test_always_pass diff --git a/src/report/get-report.ts b/src/report/get-report.ts index 99bf270..9253f8f 100644 --- a/src/report/get-report.ts +++ b/src/report/get-report.ts @@ -185,7 +185,7 @@ function getSuitesReport(tr: TestRunResult, runIndex: number, options: ReportOpt const suites = options.listSuites === 'failed' ? tr.failedSuites : tr.suites if (options.listSuites !== 'none') { - const trSlug = makeRunSlug(runIndex) + const trSlug = makeRunSlug(runIndex, options) const nameLink = `${tr.path}` const icon = getResultIcon(tr.result) sections.push(`## ${icon}\xa0${nameLink}`) @@ -205,7 +205,7 @@ function getSuitesReport(tr: TestRunResult, runIndex: number, options: ReportOpt const tsTime = formatTime(s.time) const tsName = s.name const skipLink = options.listTests === 'none' || (options.listTests === 'failed' && s.result !== 'failed') - const tsAddr = options.baseUrl + makeSuiteSlug(runIndex, suiteIndex).link + const tsAddr = options.baseUrl + makeSuiteSlug(runIndex, suiteIndex, options).link const tsNameLink = skipLink ? tsName : link(tsName, tsAddr) const passed = s.passed > 0 ? `${s.passed} ${Icon.success}` : '' const failed = s.failed > 0 ? `${s.failed} ${Icon.fail}` : '' @@ -240,7 +240,7 @@ function getTestsReport(ts: TestSuiteResult, runIndex: number, suiteIndex: numbe const sections: string[] = [] const tsName = ts.name - const tsSlug = makeSuiteSlug(runIndex, suiteIndex) + const tsSlug = makeSuiteSlug(runIndex, suiteIndex, options) const tsNameLink = `${tsName}` const icon = getResultIcon(ts.result) sections.push(`### ${icon}\xa0${tsNameLink}`) @@ -269,14 +269,14 @@ function getTestsReport(ts: TestSuiteResult, runIndex: number, suiteIndex: numbe return sections } -function makeRunSlug(runIndex: number): {id: string; link: string} { +function makeRunSlug(runIndex: number, options: ReportOptions): {id: string; link: string} { // use prefix to avoid slug conflicts after escaping the paths - return slug(`r${runIndex}`) + return slug(`r${runIndex}`, options) } -function makeSuiteSlug(runIndex: number, suiteIndex: number): {id: string; link: string} { +function makeSuiteSlug(runIndex: number, suiteIndex: number, options: ReportOptions): {id: string; link: string} { // use prefix to avoid slug conflicts after escaping the paths - return slug(`r${runIndex}s${suiteIndex}`) + return slug(`r${runIndex}s${suiteIndex}`, options) } function getResultIcon(result: TestExecutionResult): string { diff --git a/src/utils/slugger.ts b/src/utils/slugger.ts index e7d4fe0..1f3c956 100644 --- a/src/utils/slugger.ts +++ b/src/utils/slugger.ts @@ -1,7 +1,9 @@ // Returns HTML element id and href link usable as manual anchor links // This is needed because Github in check run summary doesn't automatically // create links out of headings as it normally does for other markdown content -export function slug(name: string): {id: string; link: string} { +import {ReportOptions} from '../report/get-report' + +export function slug(name: string, options: ReportOptions): {id: string; link: string} { const slugId = name .trim() .replace(/_/g, '') @@ -9,6 +11,7 @@ export function slug(name: string): {id: string; link: string} { .replace(/[^\w-]/g, '') const id = `user-content-${slugId}` - const link = `#${slugId}` + // When using the Action Summary for display, links must include the "user-content-" prefix. + const link = options.useActionsSummary ? `#${id}` : `#${slugId}` return {id, link} } From 8039983cdb6a4e0a87156734941c6adf73bb4bcf Mon Sep 17 00:00:00 2001 From: Michael Marcus Date: Tue, 25 Mar 2025 15:10:26 -0400 Subject: [PATCH 2/2] Add dist changes --- dist/index.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/dist/index.js b/dist/index.js index 8dbf93d..b0f6516 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1931,7 +1931,7 @@ function getSuitesReport(tr, runIndex, options) { const sections = []; const suites = options.listSuites === 'failed' ? tr.failedSuites : tr.suites; if (options.listSuites !== 'none') { - const trSlug = makeRunSlug(runIndex); + const trSlug = makeRunSlug(runIndex, options); const nameLink = `${tr.path}`; const icon = getResultIcon(tr.result); sections.push(`## ${icon}\xa0${nameLink}`); @@ -1945,7 +1945,7 @@ function getSuitesReport(tr, runIndex, options) { const tsTime = (0, markdown_utils_1.formatTime)(s.time); const tsName = s.name; const skipLink = options.listTests === 'none' || (options.listTests === 'failed' && s.result !== 'failed'); - const tsAddr = options.baseUrl + makeSuiteSlug(runIndex, suiteIndex).link; + const tsAddr = options.baseUrl + makeSuiteSlug(runIndex, suiteIndex, options).link; const tsNameLink = skipLink ? tsName : (0, markdown_utils_1.link)(tsName, tsAddr); const passed = s.passed > 0 ? `${s.passed} ${markdown_utils_1.Icon.success}` : ''; const failed = s.failed > 0 ? `${s.failed} ${markdown_utils_1.Icon.fail}` : ''; @@ -1973,7 +1973,7 @@ function getTestsReport(ts, runIndex, suiteIndex, options) { } const sections = []; const tsName = ts.name; - const tsSlug = makeSuiteSlug(runIndex, suiteIndex); + const tsSlug = makeSuiteSlug(runIndex, suiteIndex, options); const tsNameLink = `${tsName}`; const icon = getResultIcon(ts.result); sections.push(`### ${icon}\xa0${tsNameLink}`); @@ -1999,13 +1999,13 @@ function getTestsReport(ts, runIndex, suiteIndex, options) { sections.push('```'); return sections; } -function makeRunSlug(runIndex) { +function makeRunSlug(runIndex, options) { // use prefix to avoid slug conflicts after escaping the paths - return (0, slugger_1.slug)(`r${runIndex}`); + return (0, slugger_1.slug)(`r${runIndex}`, options); } -function makeSuiteSlug(runIndex, suiteIndex) { +function makeSuiteSlug(runIndex, suiteIndex, options) { // use prefix to avoid slug conflicts after escaping the paths - return (0, slugger_1.slug)(`r${runIndex}s${suiteIndex}`); + return (0, slugger_1.slug)(`r${runIndex}s${suiteIndex}`, options); } function getResultIcon(result) { switch (result) { @@ -2544,17 +2544,15 @@ function getBasePath(path, trackedFiles) { Object.defineProperty(exports, "__esModule", ({ value: true })); exports.slug = slug; -// Returns HTML element id and href link usable as manual anchor links -// This is needed because Github in check run summary doesn't automatically -// create links out of headings as it normally does for other markdown content -function slug(name) { +function slug(name, options) { const slugId = name .trim() .replace(/_/g, '') .replace(/[./\\]/g, '-') .replace(/[^\w-]/g, ''); const id = `user-content-${slugId}`; - const link = `#${slugId}`; + // When using the Action Summary for display, links must include the "user-content-" prefix. + const link = options.useActionsSummary ? `#${id}` : `#${slugId}`; return { id, link }; }