diff --git a/src/Testing/Wolverine.ComplianceTests/Compliance/TransportCompliance.cs b/src/Testing/Wolverine.ComplianceTests/Compliance/TransportCompliance.cs index d2072c5cf..57bb57d70 100644 --- a/src/Testing/Wolverine.ComplianceTests/Compliance/TransportCompliance.cs +++ b/src/Testing/Wolverine.ComplianceTests/Compliance/TransportCompliance.cs @@ -578,7 +578,7 @@ public virtual async Task will_requeue_and_increment_attempts() } [Fact] - public async Task can_schedule_retry() + public virtual async Task can_schedule_retry() { throwOnAttempt(1); diff --git a/src/Transports/Pulsar/Wolverine.Pulsar.Tests/InlinePulsarTransportComplianceTests.cs b/src/Transports/Pulsar/Wolverine.Pulsar.Tests/InlinePulsarTransportComplianceTests.cs index e1e5d2441..48c79d54c 100644 --- a/src/Transports/Pulsar/Wolverine.Pulsar.Tests/InlinePulsarTransportComplianceTests.cs +++ b/src/Transports/Pulsar/Wolverine.Pulsar.Tests/InlinePulsarTransportComplianceTests.cs @@ -40,5 +40,22 @@ public override void BeforeEach() } [Collection("acceptance")] -[Trait("Category", "Flaky")] -public class InlinePulsarTransportComplianceTests : TransportCompliance; \ No newline at end of file +public class InlinePulsarTransportComplianceTests : TransportCompliance +{ + // GH-3763. These four are not flaky -- they fail deterministically, every run, in all three Pulsar + // compliance fixtures, with "No ending activity detected" / "Expected ending activity was not + // detected". They are the requeue, retry-scheduling and dead-letter behaviours the transport has not + // implemented. Skipping just these restores the other 55 tests in this file's three fixtures, which + // pass; the whole classes used to be excluded for them. See GH-3797. + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task will_requeue_and_increment_attempts() => Task.CompletedTask; + + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task can_schedule_retry() => Task.CompletedTask; + + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task will_move_to_dead_letter_queue_with_exception_match() => Task.CompletedTask; + + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task will_move_to_dead_letter_queue_without_any_exception_match() => Task.CompletedTask; +} diff --git a/src/Transports/Pulsar/Wolverine.Pulsar.Tests/PulsarTransportComplianceTests.cs b/src/Transports/Pulsar/Wolverine.Pulsar.Tests/PulsarTransportComplianceTests.cs index f8acf8ffc..59e8acb20 100644 --- a/src/Transports/Pulsar/Wolverine.Pulsar.Tests/PulsarTransportComplianceTests.cs +++ b/src/Transports/Pulsar/Wolverine.Pulsar.Tests/PulsarTransportComplianceTests.cs @@ -43,5 +43,22 @@ public override void BeforeEach() } [Collection("acceptance")] -[Trait("Category", "Flaky")] -public class PulsarTransportComplianceTests : TransportCompliance; \ No newline at end of file +public class PulsarTransportComplianceTests : TransportCompliance +{ + // GH-3763. These four are not flaky -- they fail deterministically, every run, in all three Pulsar + // compliance fixtures, with "No ending activity detected" / "Expected ending activity was not + // detected". They are the requeue, retry-scheduling and dead-letter behaviours the transport has not + // implemented. Skipping just these restores the other 55 tests in this file's three fixtures, which + // pass; the whole classes used to be excluded for them. See GH-3797. + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task will_requeue_and_increment_attempts() => Task.CompletedTask; + + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task can_schedule_retry() => Task.CompletedTask; + + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task will_move_to_dead_letter_queue_with_exception_match() => Task.CompletedTask; + + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task will_move_to_dead_letter_queue_without_any_exception_match() => Task.CompletedTask; +} diff --git a/src/Transports/Pulsar/Wolverine.Pulsar.Tests/WithCloudEvents.cs b/src/Transports/Pulsar/Wolverine.Pulsar.Tests/WithCloudEvents.cs index 89f3153e2..a3dc3d543 100644 --- a/src/Transports/Pulsar/Wolverine.Pulsar.Tests/WithCloudEvents.cs +++ b/src/Transports/Pulsar/Wolverine.Pulsar.Tests/WithCloudEvents.cs @@ -48,7 +48,6 @@ public override void BeforeEach() } [Collection("acceptance")] -[Trait("Category", "Flaky")] public class with_cloud_events : TransportCompliance { // This test uses ErrorCausingMessage which contains a Dictionary. @@ -56,8 +55,20 @@ public class with_cloud_events : TransportCompliance Task.CompletedTask; + + // GH-3763. Deterministic failures shared with the other two Pulsar compliance fixtures -- the + // requeue, retry-scheduling and dead-letter behaviours the transport has not implemented. See GH-3797. + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task will_requeue_and_increment_attempts() => Task.CompletedTask; + + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task can_schedule_retry() => Task.CompletedTask; + + [Fact(Skip = "Pulsar does not implement this compliance behaviour yet -- see GH-3797. Skipped rather than tagged Flaky: it fails deterministically, on every run, alone or in a suite.")] + public override Task will_move_to_dead_letter_queue_without_any_exception_match() => Task.CompletedTask; } \ No newline at end of file