コード例 #1
0
        public override TestResult Run(EventListener listener, ITestFilter filter)
        {
            NTrace.Debug("Running test synchronously");
            QueuingEventListener queue = new QueuingEventListener();

            StartTextCapture(queue);

            using (EventPump pump = new EventPump(listener, queue.Events, true))
            {
                pump.Start();
                return(base.Run(queue, filter));
            }
        }
コード例 #2
0
        public override void BeginRun(EventListener listener, ITestFilter filter)
        {
            NTrace.Debug("Running test asynchronously");
            QueuingEventListener queue = new QueuingEventListener();

            StartTextCapture(queue);

            EventPump pump = new EventPump(listener, queue.Events, true);

            pump.Start(); // Will run till RunFinished is received
            // TODO: Make sure the thread is cleaned up if we abort the run

            base.BeginRun(queue, filter);
        }
コード例 #3
0
        private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
        {
            string fullName = args.Name;
            int    index    = fullName.IndexOf(',');

            if (index == -1)                                                            // Only resolve using full name.
            {
                NTrace.Debug(string.Format("Not a strong name: {0}", fullName),
                             "'AssemblyResolver'");
                return(null);
            }

            if (_cache.Contains(fullName))
            {
                NTrace.Info(string.Format("Resolved from Cache: {0}", fullName),
                            "'AssemblyResolver'");
                return(_cache.Resolve(fullName));
            }

            foreach (string dir in _dirs)
            {
                foreach (string file in Directory.GetFiles(dir, "*.dll"))
                {
                    string fullFile = Path.Combine(dir, file);
                    try
                    {
                        if (AssemblyName.GetAssemblyName(fullFile).FullName == fullName)
                        {
                            NTrace.Info(string.Format("Added to Cache: {0}", fullFile),
                                        "'AssemblyResolver'");
                            AddFile(fullFile);
                            return(_cache.Resolve(fullName));
                        }
                    }
                    catch
                    {
                        // Keep going if there's a bad assembly
                        NTrace.Debug(string.Format("Bad assembly: {0}", fullFile), "AssemblyResolver");
                    }
                }
            }

            NTrace.Debug(string.Format("Not in Cache: {0}", fullName),
                         "'AssemblyResolver'");
            return(null);
        }