From ef07893045cbf018429bdcc478aa3b9574850343 Mon Sep 17 00:00:00 2001 From: Dmitriy Pavlov Date: Fri, 15 May 2026 22:08:53 +0300 Subject: [PATCH] IGNITE-28686 Improve .NET deployment test diagnostics --- .../DeploymentTest.cs | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/DeploymentTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/DeploymentTest.cs index 70174060fb92d..7a1fd48316640 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/DeploymentTest.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/DeploymentTest.cs @@ -170,7 +170,7 @@ private void TestDeployment(string dllFolder, string jarFolder, bool buildClassp Assert.Fail("Node failed to start: " + string.Join("\n", reader.GetOutput())); } - VerifyNodeStarted(exePath); + VerifyNodeStarted(exePath, proc, reader); } /// @@ -227,21 +227,33 @@ private void DeployTo(string folder, string jarFolder = null) /// /// Verifies that custom-deployed node has started. /// - private static void VerifyNodeStarted(string exePath) + private static void VerifyNodeStarted(string exePath, System.Diagnostics.Process proc, ListDataReader reader) { using (var ignite = Ignition.Start(new IgniteConfiguration(TestUtils.GetTestConfiguration()) { SpringConfigUrl = "Config/Compute/compute-grid1.xml", })) { - Assert.IsTrue(ignite.WaitTopology(2)); + Assert.IsTrue(ignite.WaitTopology(2, 90000), GetProcessDetails(proc, reader)); var remoteProcPath = ignite.GetCluster().ForRemotes().GetCompute().Call(new ProcessPathFunc()); - Assert.AreEqual(exePath, remoteProcPath); + Assert.AreEqual(exePath, remoteProcPath, GetProcessDetails(proc, reader)); } } + /// + /// Gets external node process details for assertion messages. + /// + private static string GetProcessDetails(System.Diagnostics.Process proc, ListDataReader reader) + { + var procInfo = proc.HasExited + ? string.Format("exited, exitCode={0}", proc.ExitCode) + : "alive"; + + return "External node process is " + procInfo + ". Output: " + string.Join("\n", reader.GetOutput()); + } + #pragma warning disable 649 /// /// Function that returns process path.