Example #1
0
        protected void Execute(UnitTestSessionTestImpl session, List <IList <UnitTestTask> > sequences, Lifetime lt, TextWriter output, IUnitTestLaunch launch)
        {
            var msgListener = Solution.GetComponent <TestRemoteChannelMessageListener>();

            msgListener.Output   = output;
            session.Sequences    = sequences;
            msgListener.Run      = session;
            msgListener.Strategy = new OutOfProcessUnitTestRunStrategy(GetRemoteTaskRunnerInfo());

            var runController = CreateTaskRunnerHostController(Solution.GetComponent <IUnitTestLaunchManager>(), Solution.GetComponent <IUnitTestResultManager>(), Solution.GetComponent <IUnitTestAgentManager>(), launch, Solution.GetComponent <IUnitTestSessionManager>(), GetServerPortNumber());

            msgListener.RunController = runController;
            var finished = new AutoResetEvent(false);

            session.OnFinish(() =>
            {
                var channel = GetRemoteChannel();
                if (channel != null)
                {
                    channel.OnFinish(() => finished.Set());
                }
                else
                {
                    finished.Set();
                }
            });
            session.Run(lt, runController, msgListener.Strategy);
            finished.WaitOne(30000);
        }
        protected void Execute(UnitTestSessionTestImpl session, List<IList<UnitTestTask>> sequences, Lifetime lt, TextWriter output, IUnitTestLaunch launch)
        {
            var msgListener = Solution.GetComponent<TestRemoteChannelMessageListener>();
            msgListener.Output = output;
            session.Sequences = sequences;
            msgListener.Run = session;
            msgListener.Strategy = new OutOfProcessUnitTestRunStrategy(GetRemoteTaskRunnerInfo());

            var runController = CreateTaskRunnerHostController(Solution.GetComponent<IUnitTestLaunchManager>(), Solution.GetComponent<IUnitTestResultManager>(), Solution.GetComponent<IUnitTestAgentManager>(), launch, Solution.GetComponent<IUnitTestSessionManager>(), GetServerPortNumber());
            msgListener.RunController = runController;
            var finished = new AutoResetEvent(false);
            session.OnFinish(() =>
            {
                var channel = GetRemoteChannel();
                if (channel != null)
                    channel.OnFinish(() => finished.Set());
                else
                    finished.Set();
            });
            session.Run(lt, runController, msgListener.Strategy);
            finished.WaitOne(30000);
        }