Resolve test server paths deterministically (#1735)

Copilot-Session: ad8afb00-2809-4785-8781-014a90c8abf1
This commit is contained in:
Pranav Senthilnathan 2026-07-25 22:30:22 -07:00 • committed by GitHub
commit 5f5d5eac50
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 5 deletions

View file

@ -16,6 +16,8 @@ public class ClientIntegrationTestFixture
public ClientIntegrationTestFixture()
{
const string ServerEverythingVersion = "2026.1.26";
string testServerExecutable = Path.Combine(AppContext.BaseDirectory, "TestServer.exe");
string testServerDll = Path.Combine(AppContext.BaseDirectory, "TestServer.dll");
EverythingServerTransportOptions = new()
{
@ -27,14 +29,14 @@ public class ClientIntegrationTestFixture
TestServerTransportOptions = new()
{
Command = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "TestServer.exe" : PlatformDetection.IsMonoRuntime ? "mono" : "dotnet",
Command = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? testServerExecutable : PlatformDetection.IsMonoRuntime ? "mono" : "dotnet",
Name = "TestServer",
};
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
// Change to Arguments to "mcp-server-everything" if you want to run the server locally after creating a symlink
TestServerTransportOptions.Arguments = [PlatformDetection.IsMonoRuntime ? "TestServer.exe" : "TestServer.dll"];
TestServerTransportOptions.Arguments = [PlatformDetection.IsMonoRuntime ? testServerExecutable : testServerDll];
}
}

View file

@ -154,6 +154,8 @@ public class StdioClientTransportTests(ITestOutputHelper testOutputHelper) : Log
}
string cliArgument = $"--cli-arg={cliArgumentValue}";
string testServerExecutable = Path.Combine(AppContext.BaseDirectory, "TestServer.exe");
string testServerDll = Path.Combine(AppContext.BaseDirectory, "TestServer.dll");
StdioClientTransportOptions options = new()
{
@ -161,14 +163,14 @@ public class StdioClientTransportTests(ITestOutputHelper testOutputHelper) : Log
Command = (PlatformDetection.IsMonoRuntime, PlatformDetection.IsWindows) switch
{
(true, _) => "mono",
(_, true) => "TestServer.exe",
(_, true) => testServerExecutable,
_ => "dotnet",
},
Arguments = (PlatformDetection.IsMonoRuntime, PlatformDetection.IsWindows) switch
{
(true, _) => ["TestServer.exe", cliArgument],
(true, _) => [testServerExecutable, cliArgument],
(_, true) => [cliArgument],
_ => ["TestServer.dll", cliArgument],
_ => [testServerDll, cliArgument],
},
};