示例#1
0
 public void StartProcess(string test)
 {
     Process.TestProcessAgent agent = AgentManager.GetAgent(test);
     agent.Stop();
     Loger.Process(LogType.INFO, "{0} unit test start", test);
     agent.Start();
 }
示例#2
0
 public void OnUpfiles(Network.UpdateFile e)
 {
     Process.TestProcessAgent agent = AgentManager.GetAgent(e.UnitTest);
     agent.Stop();
     agent.Folder.UpdateFile(e.Name, e.Data);
     Loger.Process(LogType.INFO, "{0} update {1} file", e.UnitTest, e.Name);
 }
示例#3
0
        public TestProcessAgent GetAgent(string unittest)
        {
            lock (this)
            {
                if (!System.IO.Directory.Exists(Path))
                {
                    System.IO.Directory.CreateDirectory(Path);
                }
                Process.TestProcessAgent agent;
                if (!ProcessAgents.TryGetValue(unittest, out agent))
                {
                    string unittestfolder = Path + unittest + System.IO.Path.DirectorySeparatorChar;
                    if (!System.IO.Directory.Exists(unittestfolder))
                    {
                        System.IO.Directory.CreateDirectory(unittestfolder);
                    }

                    agent = new Process.TestProcessAgent(
                        App, unittest, unittestfolder, App.NetConfig.Port);
                    ProcessAgents[unittest] = agent;
                    agent.Loger             = App.Loger;
                    App.Loger.Process(LogType.INFO, "load {0} unit test!", unittest);
                }
                return(agent);
            }
        }
示例#4
0
 public void OnProcessReport(Network.StatisticalReport report)
 {
     Process.TestProcessAgent agent = AgentManager.GetAgent(report.UnitTest);
     agent.StatisticalInfo = report.Info;
     Loger.Process(LogType.INFO, "statistical report from {0}", report.UnitTest);
     report.Node = this.Name;
     mServerClient.Send(report);
 }
示例#5
0
 public void OnRunTest(Network.RunTestcase e)
 {
     Process.TestProcessAgent agent = AgentManager.GetAgent(e.UnitTest);
     agent.TestCase = e;
     agent.Stop();
     Loger.Process(LogType.INFO, "{0} unit test start", e.UnitTest);
     agent.Start();
 }
示例#6
0
        public void OnVerifyFiles(Network.VerifyFiles e)
        {
            Process.TestProcessAgent agent = AgentManager.GetAgent(e.UnitTest);
            bool status = agent.Folder.VerifyMD5(e.Files);

            Network.VerifyFilesResponse response = new Network.VerifyFilesResponse();
            response.Node   = this.Name;
            response.Status = status;
            response.SyncID = e.SyncID;
            Loger.Process(LogType.INFO, "{0} verify files", e.UnitTest);
            mServerClient.Send(response);
        }
示例#7
0
        public void OnProcessRegiste(Network.ProcessRegister register)
        {
            Loger.Process(LogType.INFO, "{0} process registed", register.Name);
            PacketDecodeCompletedEventArgs e = (PacketDecodeCompletedEventArgs)RouteCenter.CurrentContext.Token;

            Process.TestProcessAgent agent = AgentManager.GetAgent(register.Name);
            agent.Session = e.Session;
            if (agent.TestCase != null)
            {
                agent.Run(agent.TestCase.TestCase, agent.TestCase.Users, agent.TestCase.Config);
                Loger.Process(LogType.INFO, "{0} process runing {1} test case", register.Name, agent.TestCase.TestCase);
            }
        }
示例#8
0
 public void Run(string name, string casename, int users, string config)
 {
     Process.TestProcessAgent agent = AgentManager.GetAgent(name);
     agent.Run(casename, users, config);
 }
示例#9
0
 public void OnStopTest(Network.StopTestCase e)
 {
     Process.TestProcessAgent agent = AgentManager.GetAgent(e.UnitTest);
     agent.TestCase = null;
     agent.Stop();
 }