public TDNetRunnerInstallationPreferencePaneProvider(ITestFrameworkManager testFrameworkManager,
     TDNetPreferenceManager preferenceManager, IInstallerManager installerManager)
 {
     this.testFrameworkManager = testFrameworkManager;
     this.preferenceManager = preferenceManager;
     this.installerManager = installerManager;
 }
 public TDNetRunnerInstallationPreferencePaneProvider(ITestFrameworkManager testFrameworkManager,
                                                      TDNetPreferenceManager preferenceManager, IInstallerManager installerManager)
 {
     this.testFrameworkManager = testFrameworkManager;
     this.preferenceManager    = preferenceManager;
     this.installerManager     = installerManager;
 }
Ejemplo n.º 3
0
        public AboutController(ITestFrameworkManager testFrameworkManager)
        {
            if (testFrameworkManager == null) 
                throw new ArgumentNullException("testFrameworkManager");

            this.testFrameworkManager = testFrameworkManager;
        }
Ejemplo n.º 4
0
 public TDNetRunnerInstaller(ITestFrameworkManager testFrameworkManager, IRegistry registry, ILogger logger,
     TDNetPreferenceManager preferenceManager)
 {
     this.testFrameworkManager = testFrameworkManager;
     this.registry = registry;
     this.logger = logger;
     this.preferenceManager = preferenceManager;
 }
Ejemplo n.º 5
0
 public TDNetRunnerInstaller(ITestFrameworkManager testFrameworkManager, IRegistry registry, ILogger logger,
                             TDNetPreferenceManager preferenceManager)
 {
     this.testFrameworkManager = testFrameworkManager;
     this.registry             = registry;
     this.logger            = logger;
     this.preferenceManager = preferenceManager;
 }
Ejemplo n.º 6
0
        public AboutController(ITestFrameworkManager testFrameworkManager)
        {
            if (testFrameworkManager == null)
            {
                throw new ArgumentNullException("testFrameworkManager");
            }

            this.testFrameworkManager = testFrameworkManager;
        }
Ejemplo n.º 7
0
            /// <summary>
            /// Initializes the provider.
            /// </summary>
            public Shim(GallioTestProvider provider)
            {
                this.provider = provider;

                testFrameworkManager = RuntimeAccessor.ServiceLocator.Resolve <ITestFrameworkManager>();
                logger = new FacadeLoggerWrapper(new AdapterFacadeLogger());

                RuntimeAccessor.Instance.AddLogListener(logger);
            }
Ejemplo n.º 8
0
        /// <summary>
        /// Creates a test runner.
        /// </summary>
        /// <param name="testIsolationProvider">The test isolation provider.</param>
        /// <param name="testFrameworkManager">The test framework manager.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="testIsolationProvider"/> 
        /// or <paramref name="testFrameworkManager"/> is null.</exception>
        public DefaultTestRunner(ITestIsolationProvider testIsolationProvider, ITestFrameworkManager testFrameworkManager)
        {
            if (testIsolationProvider == null)
                throw new ArgumentNullException("testIsolationProvider");
            if (testFrameworkManager == null)
                throw new ArgumentNullException("testFrameworkManager");

            this.testIsolationProvider = testIsolationProvider;
            this.testFrameworkManager = testFrameworkManager;

            eventDispatcher = new TestRunnerEventDispatcher();
            state = State.Created;
            extensions = new List<ITestRunnerExtension>();
        }
        /// <summary>
        /// Creates a test runner factory.
        /// </summary>
        /// <param name="testIsolationProvider">The test isolation provider.</param>
        /// <param name="testFrameworkManager">The test framework manager.</param>
        /// <param name="testRunnerExtensionManager">The extension manager.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="testIsolationProvider"/>
        /// or <paramref name="testRunnerExtensionManager" /> is null.</exception>
        public DefaultTestRunnerFactory(ITestIsolationProvider testIsolationProvider,
            ITestFrameworkManager testFrameworkManager,
            ITestRunnerExtensionManager testRunnerExtensionManager)
        {
            if (testIsolationProvider == null)
                throw new ArgumentNullException("testIsolationProvider");
            if (testFrameworkManager == null)
                throw new ArgumentNullException("testFrameworkManager");
            if (testRunnerExtensionManager == null)
                throw new ArgumentNullException("testRunnerExtensionManager");

            this.testIsolationProvider = testIsolationProvider;
            this.testFrameworkManager = testFrameworkManager;
            this.testRunnerExtensionManager = testRunnerExtensionManager;
        }
Ejemplo n.º 10
0
        public override ICollection Load(string location, ProjectData projectData, IWarningHandler warningHandler)
        {
            // Skip loading if the extension is not fully initalized unless we are not
            // running in Visual Studio (because we are running in MSTest instead).
            if (!TipShellExtension.IsInitialized && ShellEnvironment.IsRunningInVisualStudio)
            {
                return(EmptyArray <TestElement> .Instance);
            }

            // Explore the tests.
            ITestFrameworkManager testFrameworkManager = RuntimeAccessor.ServiceLocator.Resolve <ITestFrameworkManager>();
            WarningLogger         logger = new WarningLogger(warningHandler);

            ReflectionOnlyAssemblyLoader loader = new ReflectionOnlyAssemblyLoader();

            loader.AddHintDirectory(Path.GetDirectoryName(location));

            IAssemblyInfo assembly = loader.ReflectionPolicy.LoadAssemblyFrom(location);

            var testFrameworkSelector = new TestFrameworkSelector()
            {
                Filter       = testFrameworkHandle => testFrameworkHandle.Id != "MSTestAdapter.TestFramework",
                FallbackMode = TestFrameworkFallbackMode.Approximate
            };

            ITestDriver            driver = testFrameworkManager.GetTestDriver(testFrameworkSelector, logger);
            TestExplorationOptions testExplorationOptions = new TestExplorationOptions();

            ArrayList       tests           = new ArrayList();
            MessageConsumer messageConsumer = new MessageConsumer()
                                              .Handle <TestDiscoveredMessage>(message =>
            {
                if (message.Test.IsTestCase)
                {
                    tests.Add(GallioTestElementFactory.CreateTestElement(message.Test, location, projectData));
                }
            })
                                              .Handle <AnnotationDiscoveredMessage>(message =>
            {
                message.Annotation.Log(logger, true);
            });

            driver.Describe(loader.ReflectionPolicy, new ICodeElementInfo[] { assembly },
                            testExplorationOptions, messageConsumer, NullProgressMonitor.CreateInstance());

            return(tests);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Creates a test runner.
        /// </summary>
        /// <param name="testIsolationProvider">The test isolation provider.</param>
        /// <param name="testFrameworkManager">The test framework manager.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="testIsolationProvider"/>
        /// or <paramref name="testFrameworkManager"/> is null.</exception>
        public DefaultTestRunner(ITestIsolationProvider testIsolationProvider, ITestFrameworkManager testFrameworkManager)
        {
            if (testIsolationProvider == null)
            {
                throw new ArgumentNullException("testIsolationProvider");
            }
            if (testFrameworkManager == null)
            {
                throw new ArgumentNullException("testFrameworkManager");
            }

            this.testIsolationProvider = testIsolationProvider;
            this.testFrameworkManager  = testFrameworkManager;

            eventDispatcher = new TestRunnerEventDispatcher();
            state           = State.Created;
            extensions      = new List <ITestRunnerExtension>();
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Creates a test runner factory.
        /// </summary>
        /// <param name="testIsolationProvider">The test isolation provider.</param>
        /// <param name="testFrameworkManager">The test framework manager.</param>
        /// <param name="testRunnerExtensionManager">The extension manager.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="testIsolationProvider"/>
        /// or <paramref name="testRunnerExtensionManager" /> is null.</exception>
        public DefaultTestRunnerFactory(ITestIsolationProvider testIsolationProvider,
                                        ITestFrameworkManager testFrameworkManager,
                                        ITestRunnerExtensionManager testRunnerExtensionManager)
        {
            if (testIsolationProvider == null)
            {
                throw new ArgumentNullException("testIsolationProvider");
            }
            if (testFrameworkManager == null)
            {
                throw new ArgumentNullException("testFrameworkManager");
            }
            if (testRunnerExtensionManager == null)
            {
                throw new ArgumentNullException("testRunnerExtensionManager");
            }

            this.testIsolationProvider      = testIsolationProvider;
            this.testFrameworkManager       = testFrameworkManager;
            this.testRunnerExtensionManager = testRunnerExtensionManager;
        }
Ejemplo n.º 13
0
            /// <summary>
            /// Initializes the provider.
            /// </summary>
            public Shim(IUnitTestProvider provider)
            {
                this.provider = provider;

                testFrameworkManager = RuntimeAccessor.ServiceLocator.Resolve<ITestFrameworkManager>();
                presenter = new GallioTestPresenter();
                logger = new FacadeLoggerWrapper(new AdapterFacadeLogger());

                RuntimeAccessor.Instance.AddLogListener(logger);
            }
Ejemplo n.º 14
0
        internal Main(IApplicationController applicationController)
        {
            this.applicationController = applicationController;

            applicationController.RunStarted += (s, e) => SyncContext.Post(cb =>
            {
                // enable/disable buttons
                startButton.Enabled = startTestsToolStripMenuItem.Enabled = false;
                startTestsWithDebuggerButton.Enabled = startWithDebuggerToolStripMenuItem.Enabled = false;
                stopButton.Enabled = stopTestsToolStripMenuItem.Enabled = true;
            }, null);

            applicationController.RunFinished += (s, e) => SyncContext.Post(cb =>
            {
                // enable/disable buttons & menu items appropriately
                stopButton.Enabled  = stopTestsToolStripMenuItem.Enabled = false;
                startButton.Enabled = startTestsToolStripMenuItem.Enabled = true;
                startTestsWithDebuggerButton.Enabled = startWithDebuggerToolStripMenuItem.Enabled = true;
            }, null);

            applicationController.ExploreFinished += (sender, e) => SyncContext.Post(cb =>
            {
                startButton.Enabled = startTestsToolStripMenuItem.Enabled = true;
                startTestsWithDebuggerButton.Enabled = startWithDebuggerToolStripMenuItem.Enabled = true;
            }, null);

            applicationController.TestsFailed += (s, e) => SyncContext.Post(cb => Activate(), null);

            taskManager       = RuntimeAccessor.ServiceLocator.Resolve <ITaskManager>();
            optionsController = RuntimeAccessor.ServiceLocator.Resolve <IOptionsController>();
            reportController  = RuntimeAccessor.ServiceLocator.Resolve <IReportController>();

            testTreeModel  = RuntimeAccessor.ServiceLocator.Resolve <ITestTreeModel>();
            testStatistics = RuntimeAccessor.ServiceLocator.Resolve <ITestStatistics>();

            commandFactory       = RuntimeAccessor.ServiceLocator.Resolve <ICommandFactory>();
            testFrameworkManager = RuntimeAccessor.ServiceLocator.Resolve <ITestFrameworkManager>();
            windowManager        = RuntimeAccessor.ServiceLocator.Resolve <IWindowManager>();

            // moved this below the service locator calls as the optionsController was being used _before_ it was initialised :(
            // TODO: remove as many dependencies from the shell as possible
            InitializeComponent();

            SetupReportMenus();

            SetupRecentProjects();

            applicationController.PropertyChanged += (sender, e) =>
            {
                switch (e.PropertyName)
                {
                case "ProjectFileName":
                    Text = applicationController.Title;
                    break;

                case "RecentProjects":
                    SetupRecentProjects();
                    break;
                }
            };

            progressController = RuntimeAccessor.ServiceLocator.Resolve <IProgressController>();
            progressController.Status.PropertyChanged += (s, e) =>
            {
                toolStripStatusLabel.Text = progressController.Status;
            };
            progressController.TotalWork.PropertyChanged += (s, e) =>
            {
                toolStripProgressBar.TotalWork = progressController.TotalWork;
            };
            progressController.CompletedWork.PropertyChanged += (s, e) =>
            {
                toolStripProgressBar.CompletedWork = progressController.CompletedWork;
            };
            progressController.DisplayProgressDialog += (s, e) => SyncContext.Post(cb =>
                                                                                   new ProgressMonitorDialog(e.ProgressMonitor).Show(this), null);
        }
Ejemplo n.º 15
0
        internal Main(IApplicationController applicationController)
        {
            this.applicationController = applicationController;

            applicationController.RunStarted += (s, e) => SyncContext.Post(cb => 
            {
                // enable/disable buttons
                startButton.Enabled = startTestsToolStripMenuItem.Enabled = false;
                startTestsWithDebuggerButton.Enabled = startWithDebuggerToolStripMenuItem.Enabled = false;
                stopButton.Enabled = stopTestsToolStripMenuItem.Enabled = true;
            }, null);

            applicationController.RunFinished += (s, e) => SyncContext.Post(cb => 
            {
                // enable/disable buttons & menu items appropriately
                stopButton.Enabled = stopTestsToolStripMenuItem.Enabled = false;
                startButton.Enabled = startTestsToolStripMenuItem.Enabled = true;
                startTestsWithDebuggerButton.Enabled = startWithDebuggerToolStripMenuItem.Enabled = true;
            }, null);

            applicationController.ExploreFinished += (sender, e) => SyncContext.Post(cb => 
            {
                startButton.Enabled = startTestsToolStripMenuItem.Enabled = true;
                startTestsWithDebuggerButton.Enabled = startWithDebuggerToolStripMenuItem.Enabled = true;
            }, null);

            applicationController.TestsFailed += (s, e) => SyncContext.Post(cb => Activate(), null);

            taskManager = RuntimeAccessor.ServiceLocator.Resolve<ITaskManager>();
            optionsController = RuntimeAccessor.ServiceLocator.Resolve<IOptionsController>();
            reportController = RuntimeAccessor.ServiceLocator.Resolve<IReportController>();

            testTreeModel = RuntimeAccessor.ServiceLocator.Resolve<ITestTreeModel>();
            testStatistics = RuntimeAccessor.ServiceLocator.Resolve<ITestStatistics>();

            commandFactory = RuntimeAccessor.ServiceLocator.Resolve<ICommandFactory>();
            testFrameworkManager = RuntimeAccessor.ServiceLocator.Resolve<ITestFrameworkManager>();
            windowManager = RuntimeAccessor.ServiceLocator.Resolve<IWindowManager>();    

            // moved this below the service locator calls as the optionsController was being used _before_ it was initialised :(
            // TODO: remove as many dependencies from the shell as possible
            InitializeComponent();

            SetupReportMenus();

            SetupRecentProjects();

            applicationController.PropertyChanged += (sender, e) => 
            {
                switch (e.PropertyName)
                {
                    case "ProjectFileName":
                        Text = applicationController.Title;
                        break;

                    case "RecentProjects":
                        SetupRecentProjects();
                        break;
                }
            };

            progressController = RuntimeAccessor.ServiceLocator.Resolve<IProgressController>();
            progressController.Status.PropertyChanged += (s, e) =>
            {
                toolStripStatusLabel.Text = progressController.Status;
            };
            progressController.TotalWork.PropertyChanged += (s, e) =>
            {
                toolStripProgressBar.TotalWork = progressController.TotalWork;
            };
            progressController.CompletedWork.PropertyChanged += (s, e) =>
            {
                toolStripProgressBar.CompletedWork = progressController.CompletedWork;
            };
            progressController.DisplayProgressDialog += (s, e) => SyncContext.Post(cb => 
                new ProgressMonitorDialog(e.ProgressMonitor).Show(this), null);
        }