Beispiel #1
0
 public void RunAgentThread(AgentContainer agentContener)
 {
     lock (_threadList)
     {
         IAgentWrapper wrapper = new AgentContainerWrapper(agentContener);
         Thread th = new Thread(new ThreadStart(wrapper.DoWork));
         th.Name = "AT:" + wrapper.Name;
         _threadList.Add(th);
         LOG.Debug("Starting Agent thread :" + th.Name);
         th.Start();
     }
 }
Beispiel #2
0
        private void FireTestCase(TestCase te)
        {
            try
            {
                LOG.Info("Strating test case : " + te.ToString());
                te.Status = TestState.Processing;
                IClientAgent client = CreateClient(te.Description.ClientType, te.Description.StartPosition);
                te.WorkingGroup = new WorkingGroup();
                te.WorkingGroup.Client = client;
                _resourceManager.initTestCase(te);

                _driverList.Add(client.GetDriver());
                foreach (IRobotAgent scaut in te.WorkingGroup.Scouts)
                {
                    _driverList.Add(scaut.GetDriver());
                }

                _clientThreadPool.RunAgentThread(client);

                IMapManagment leaderMap = _mapManager.GetMainMap().CreateChildMap();

                foreach (IScoutAgent scout in te.WorkingGroup.Scouts)
                {
                    IMapManagment scoutMap = leaderMap.CreateChildMap();
                    AgentContainer container = new AgentContainer(scout, scoutMap);
                    scout.SetMap(scoutMap);
                    scout.GetDriver().SetMap(scoutMap);
                    _clientThreadPool.RunAgentThread(container);
                }

                te.WorkingGroup.Leader.SetMap(leaderMap);
                AgentContainer leaderContainer = new AgentContainer(te.WorkingGroup.Leader, leaderMap);
                _clientThreadPool.RunAgentThread(leaderContainer);
                LOG.Info("Strating test case : " + te.ToString() + " DONE");
            }
            catch (Exception ex)
            {
                te.Status = TestState.Fail;
                LOG.Error("Cannot run test " + te.ToString(), ex);
            }
        }
Beispiel #3
0
 public AgentContainerWrapper(AgentContainer container)
 {
     _container = container;
 }