Skip to content

Commit 77af722

Browse files
authored
Attempt to resolve some flakyness in tracing integration tests. (#461)
1 parent b3064cb commit 77af722

File tree

1 file changed

+31
-8
lines changed

1 file changed

+31
-8
lines changed

test/Grpc.IntegrationTests/TracingIntegrationTests.cs

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// Copyright (c) Microsoft Corporation.
22
// Licensed under the MIT License.
33

4+
using System.Collections;
5+
using System.Collections.Concurrent;
46
using System.Diagnostics;
57
using FluentAssertions;
68
using Microsoft.DurableTask.Client;
@@ -16,7 +18,7 @@ public TracingIntegrationTests(ITestOutputHelper output, GrpcSidecarFixture side
1618
{
1719
}
1820

19-
static ActivityListener CreateListener(string[] sources, ICollection<Activity> activities)
21+
static ActivityListener CreateListener(string[] sources, ConcurrentBag<Activity> activities)
2022
{
2123
ActivityListener listener = new();
2224

@@ -39,7 +41,7 @@ static ActivityListener CreateListener(string[] sources, ICollection<Activity> a
3941
[Fact]
4042
public async Task MultiTaskOrchestration()
4143
{
42-
var activities = new List<Activity>();
44+
var activities = new ConcurrentBag<Activity>();
4345

4446
using var listener = CreateListener(ActivitySourceNames, activities);
4547

@@ -70,6 +72,9 @@ public async Task MultiTaskOrchestration()
7072
OrchestrationMetadata metadata = await server.Client.WaitForInstanceCompletionAsync(instanceId, getInputsAndOutputs: true, this.TimeoutToken);
7173
}
7274

75+
await server.DisposeAsync();
76+
listener.Dispose();
77+
7378
var testActivity = activities.Single(a => a.Source == TestActivitySource && a.OperationName == "Test");
7479
var createActivity = activities.Single(a => a.Source.Name == CoreActivitySourceName && a.OperationName == $"create_orchestration:{orchestratorName}");
7580

@@ -148,7 +153,7 @@ public async Task MultiTaskOrchestration()
148153
[Fact]
149154
public async Task TaskOrchestrationWithActivityFailure()
150155
{
151-
var activities = new List<Activity>();
156+
var activities = new ConcurrentBag<Activity>();
152157

153158
using var listener = CreateListener(ActivitySourceNames, activities);
154159

@@ -178,6 +183,9 @@ public async Task TaskOrchestrationWithActivityFailure()
178183
OrchestrationMetadata metadata = await server.Client.WaitForInstanceCompletionAsync(instanceId, getInputsAndOutputs: true, this.TimeoutToken);
179184
}
180185

186+
await server.DisposeAsync();
187+
listener.Dispose();
188+
181189
var testActivity = activities.Single(a => a.Source == TestActivitySource && a.OperationName == "Test");
182190
var createActivity = activities.Single(a => a.Source.Name == CoreActivitySourceName && a.OperationName == $"create_orchestration:{orchestratorName}");
183191

@@ -248,7 +256,7 @@ public async Task TaskOrchestrationWithActivityFailure()
248256
[Fact]
249257
public async Task TaskWithSuborchestration()
250258
{
251-
var activities = new List<Activity>();
259+
var activities = new ConcurrentBag<Activity>();
252260

253261
using var listener = CreateListener(ActivitySourceNames, activities);
254262

@@ -287,6 +295,9 @@ public async Task TaskWithSuborchestration()
287295
OrchestrationMetadata metadata = await server.Client.WaitForInstanceCompletionAsync(instanceId, getInputsAndOutputs: true, this.TimeoutToken);
288296
}
289297

298+
await server.DisposeAsync();
299+
listener.Dispose();
300+
290301
var testActivity = activities.Single(a => a.Source == TestActivitySource && a.OperationName == "Test");
291302
var createActivity = activities.Single(a => a.Source.Name == CoreActivitySourceName && a.OperationName == $"create_orchestration:{orchestratorName}");
292303

@@ -356,7 +367,7 @@ public async Task TaskWithSuborchestration()
356367
[Fact]
357368
public async Task TaskWithSuborchestrationFailure()
358369
{
359-
var activities = new List<Activity>();
370+
var activities = new ConcurrentBag<Activity>();
360371

361372
using var listener = CreateListener(ActivitySourceNames, activities);
362373

@@ -395,6 +406,9 @@ public async Task TaskWithSuborchestrationFailure()
395406
OrchestrationMetadata metadata = await server.Client.WaitForInstanceCompletionAsync(instanceId, getInputsAndOutputs: true, this.TimeoutToken);
396407
}
397408

409+
await server.DisposeAsync();
410+
listener.Dispose();
411+
398412
var testActivity = activities.Single(a => a.Source == TestActivitySource && a.OperationName == "Test");
399413
var createActivity = activities.Single(a => a.Source.Name == CoreActivitySourceName && a.OperationName == $"create_orchestration:{orchestratorName}");
400414

@@ -467,7 +481,7 @@ public async Task TaskWithSuborchestrationFailure()
467481
[Fact]
468482
public async Task TaskOrchestrationWithSentEvent()
469483
{
470-
var activities = new List<Activity>();
484+
var activities = new ConcurrentBag<Activity>();
471485

472486
using var listener = CreateListener(ActivitySourceNames, activities);
473487

@@ -499,6 +513,9 @@ public async Task TaskOrchestrationWithSentEvent()
499513
OrchestrationMetadata metadata = await server.Client.WaitForInstanceCompletionAsync(instanceId, getInputsAndOutputs: true, this.TimeoutToken);
500514
}
501515

516+
await server.DisposeAsync();
517+
listener.Dispose();
518+
502519
var testActivity = activities.Single(a => a.Source == TestActivitySource && a.OperationName == "Test");
503520
var createActivity = activities.Single(a => a.Source.Name == CoreActivitySourceName && a.OperationName == $"create_orchestration:{orchestratorName}");
504521

@@ -547,7 +564,7 @@ public async Task TaskOrchestrationWithSentEvent()
547564
[Fact]
548565
public async Task TaskOrchestrationWithTimer()
549566
{
550-
var activities = new List<Activity>();
567+
var activities = new ConcurrentBag<Activity>();
551568

552569
using var listener = CreateListener(ActivitySourceNames, activities);
553570

@@ -581,6 +598,9 @@ public async Task TaskOrchestrationWithTimer()
581598
OrchestrationMetadata metadata = await server.Client.WaitForInstanceCompletionAsync(instanceId, getInputsAndOutputs: true, this.TimeoutToken);
582599
}
583600

601+
await server.DisposeAsync();
602+
listener.Dispose();
603+
584604
fireAt.Should().NotBe(default);
585605

586606
var testActivity = activities.Single(a => a.Source == TestActivitySource && a.OperationName == "Test");
@@ -632,7 +652,7 @@ public async Task TaskOrchestrationWithTimer()
632652
[Fact]
633653
public async Task ClientRaiseEvent()
634654
{
635-
var activities = new List<Activity>();
655+
var activities = new ConcurrentBag<Activity>();
636656

637657
using var listener = CreateListener(ActivitySourceNames, activities);
638658

@@ -664,6 +684,9 @@ await server.Client.WaitForInstanceCompletionAsync(instanceId, getInputsAndOutpu
664684
this.TimeoutToken);
665685
}
666686

687+
await server.DisposeAsync();
688+
listener.Dispose();
689+
667690
var testActivity = activities.Single(a => a.Source == TestActivitySource && a.OperationName == "Test");
668691

669692
var raiseEventActivity = activities.Single(a =>

0 commit comments

Comments
 (0)