Skip to content

Commit bedbbf6

Browse files
committed
Endable parallelizsm for Tests
1 parent 21f5de1 commit bedbbf6

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

development/Tests/TestBase.cs

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ public abstract class TestsBase
2727
{
2828
protected TracerProvider? TracerProvider;
2929
protected string? ToolCallingMiddlewareCity;
30-
internal static string? OpenTelemetryDisplayName;
31-
private static McpClientTools? _mcpClientTools;
30+
private string? _openTelemetryDisplayName;
31+
private McpClientTools? _mcpClientTools;
3232
private const string TestName = "MyAgent";
3333
private const string TestInstructions = "You are a nice AI and a weather expert";
3434
private const string TestDescription = "Sampledescription";
@@ -86,7 +86,7 @@ protected async Task NormalAgentTestsAsync(AgentProvider provider)
8686

8787
protected async Task OpenTelemetryAndLoggingMiddlewareTestsAsync(AgentProvider provider)
8888
{
89-
OpenTelemetryDisplayName = null;
89+
_openTelemetryDisplayName = null;
9090
TestLoggerFactory testLogger = new();
9191
AIAgent agent = await GetAgentForScenarioAsync(provider, AgentScenario.OpenTelemetryAndLoggingMiddleware, testLogger);
9292
Assert.NotNull(agent.Id);
@@ -100,7 +100,7 @@ protected async Task OpenTelemetryAndLoggingMiddlewareTestsAsync(AgentProvider p
100100
Assert.True(idCondition);
101101
Assert.True(completedCondition);
102102
TracerProvider?.ForceFlush();
103-
Assert.Equal($"invoke_agent {agent.Name}({agent.Id})", OpenTelemetryDisplayName);
103+
Assert.Equal($"invoke_agent {agent.Name}({agent.Id})", _openTelemetryDisplayName);
104104

105105
switch (provider)
106106
{
@@ -178,7 +178,7 @@ private async Task<AIAgent> GetAgentForScenarioAsync(AgentProvider provider, Age
178178
string sourceName = "AiSource";
179179
TracerProviderBuilder tracerProviderBuilder = Sdk.CreateTracerProviderBuilder()
180180
.AddSource(sourceName)
181-
.AddProcessor(new BatchActivityExportProcessor(new CustomOpenTelemetryExporter()));
181+
.AddProcessor(new BatchActivityExportProcessor(new CustomOpenTelemetryExporter(name => _openTelemetryDisplayName = name)));
182182
TracerProvider = tracerProviderBuilder.Build();
183183

184184
ServiceCollection serviceCollection = new();
@@ -607,7 +607,7 @@ Task<MistralAgentOptions> GetMistralAgentOptions(string model)
607607
}
608608
}
609609

610-
private static async Task<IList<AITool>> GetToolsForScenarioAsync(AgentProvider provider, AgentScenario scenario)
610+
private async Task<IList<AITool>> GetToolsForScenarioAsync(AgentProvider provider, AgentScenario scenario)
611611
{
612612
List<AITool> tools = [];
613613
switch (scenario)
@@ -626,7 +626,8 @@ private static async Task<IList<AITool>> GetToolsForScenarioAsync(AgentProvider
626626

627627
break;
628628
case AgentScenario.McpToolCall:
629-
_mcpClientTools = await new AIToolsFactory().GetToolsFromRemoteMcpAsync("https://trellodotnetassistantbackend.azurewebsites.net/runtime/webhooks/mcp?code=Tools");
629+
_mcpClientTools ??= await new AIToolsFactory()
630+
.GetToolsFromRemoteMcpAsync("https://trellodotnetassistantbackend.azurewebsites.net/runtime/webhooks/mcp?code=Tools");
630631
return _mcpClientTools.Tools;
631632
}
632633

@@ -667,13 +668,19 @@ public enum AgentProvider
667668

668669
public sealed class CustomOpenTelemetryExporter : BaseExporter<Activity>
669670
{
671+
private readonly Action<string> _onExport;
672+
673+
public CustomOpenTelemetryExporter(Action<string> onExport)
674+
{
675+
ArgumentNullException.ThrowIfNull(onExport);
676+
_onExport = onExport;
677+
}
678+
670679
public override ExportResult Export(in Batch<Activity> batch)
671680
{
672681
foreach (Activity activity in batch)
673682
{
674-
string name = activity.DisplayName;
675-
676-
TestsBase.OpenTelemetryDisplayName = name;
683+
_onExport(activity.DisplayName);
677684
// Send to your destination (HTTP, queue, DB, etc.)
678685
}
679686

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$schema": "https://xunit.net/schema/current/xunit.runner.schema.json",
3-
"parallelizeAssembly": false,
4-
"parallelizeTestCollections": false,
5-
"maxParallelThreads": 1
3+
"parallelizeAssembly": true,
4+
"parallelizeTestCollections": true,
5+
"maxParallelThreads": 0
66
}

0 commit comments

Comments
 (0)