Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
        }