void CleanPreviousRunningTestsOnAgent(SendTestToAgentParams testToRun) { string testConfName = string.Empty; try { testConfName = testToRun.TestConf.Name; testToRun.Agent.IsUp(); testToRun.Agent.CleanPreviousRunningTests(); } catch (Exception e) { mLogWriter.LogWarn(string.Format( "An error occurred trying to clean previous " + "running tests on agent before running tests [{0}]. " + "Message: [{1}]", testConfName, e.Message)); } }
void LaunchTestOnAgent(SendTestToAgentParams testToRun, PNUnitService service) { try { mTestsRun.IncrementTestsLaunched(); testToRun.Agent.IsUp(); testToRun.Agent.SetTestsTimeout(mTestTimeout); testToRun.Agent.RunTest(testToRun.TestInfo); } catch (Exception e) { mLogWriter.LogError(string.Format( "Test: [{0}] - An error occurred trying to contact {1} [{2}]", testToRun.TestGroupName + "-" + testToRun.TestConf.Name, testToRun.TestConf.Machine, e.Message)); mTestsRun.DecrementTestsLaunched(); NotifyException(service, testToRun.TestConf, e); } }
public void Run() { if (mTestGroup.Tests.Length == 0) { mLog.Fatal("No tests to run, exiting"); return; } mLog.DebugFormat( "Run TestGroup {0} with {1} tests", mTestGroup.Name, mTestGroup.Tests.Length); PNUnitService service = new PNUnitService( mTestGroup, mLogWriter, mTestsRun, mStatus); service.Publish(); List <SendTestToAgentParams> testsGroupToRun = new List <SendTestToAgentParams>(mTestGroup.Tests.Length); foreach (TestConf test in mTestGroup.Tests) { if (test.Machine.StartsWith(AGENT_KEY)) { test.Machine = mTestGroup.Agents[int.Parse(test.Machine.Substring(AGENT_KEY.Length))]; } mLogWriter.Log(string.Format("Starting {0} test {1} on {2}", mTestGroup.Name, test.Name, test.Machine)); SendTestToAgentParams testParams = new SendTestToAgentParams(); testParams.TestGroupName = mTestGroup.Name; testParams.Agent = GetAgent(test); testParams.TestConf = test; testParams.TestInfo = new PNUnitTestInfo( test.Name, test.Assembly, test.TestToRun, test.TestParams, test.StartBarrier, test.EndBarrier, test.WaitBarriers, mListenAddress); testParams.TestInfo.UserValues = mUserValues; testsGroupToRun.Add(testParams); } LaunchTestOnAgents(testsGroupToRun, service); if (mbShellMode) { CommandLoop(); } WaitForTestToFinish(service); service.Unpublish(); mLog.DebugFormat("Finish for TestGroup {0}", mTestGroup.Name); }