Пример #1
0
        void OnToggledUseParent(object sender, EventArgs args)
        {
            if (useParentCheck.Active)
            {
                options = (NUnitCategoryOptions)test.Parent.GetOptions(typeof(NUnitCategoryOptions), config);
            }
            else
            {
                options = localOptions;
            }

            if (!options.EnableFilter)
            {
                noFilterRadio.Active = true;
            }
            else if (options.Exclude)
            {
                excludeRadio.Active = true;
            }
            else
            {
                includeRadio.Active = true;
            }

            Fill();
        }
Пример #2
0
		public object Clone ()
		{
			NUnitCategoryOptions op = new NUnitCategoryOptions ();
			op.enableFilter = enableFilter;
			op.exclude = exclude;
			op.categories = new StringCollection ();
			foreach (string s in categories)
				op.categories.Add (s);
			return op;
		}
Пример #3
0
        public NUnitOptionsWidget(Properties customizationObject)
        {
            Build();
            test    = ((Properties)customizationObject).Get <UnitTest> ("UnitTest");
            config  = ((Properties)customizationObject).Get <string> ("Config");
            options = localOptions = (NUnitCategoryOptions)test.GetOptions(typeof(NUnitCategoryOptions), config);

            store = new TreeStore(typeof(string));
            categoryTree.Model          = store;
            categoryTree.HeadersVisible = false;

            CellRendererText tr = new CellRendererText();

            tr.Editable      = true;
            tr.Edited       += new EditedHandler(OnCategoryEdited);
            textColumn       = new TreeViewColumn();
            textColumn.Title = GettextCatalog.GetString("Category");
            textColumn.PackStart(tr, false);
            textColumn.AddAttribute(tr, "text", 0);
            textColumn.Expand = true;
            categoryTree.AppendColumn(textColumn);

            if (test.Parent != null)
            {
                useParentCheck.Active = !test.HasOptions(typeof(NUnitCategoryOptions), config);
            }
            else
            {
                useParentCheck.Active    = false;
                useParentCheck.Sensitive = false;
            }

            if (!options.EnableFilter)
            {
                noFilterRadio.Active = true;
            }
            else if (options.Exclude)
            {
                excludeRadio.Active = true;
            }
            else
            {
                includeRadio.Active = true;
            }

            Fill();

            noFilterRadio.Toggled  += new EventHandler(OnFilterToggled);
            includeRadio.Toggled   += new EventHandler(OnFilterToggled);
            excludeRadio.Toggled   += new EventHandler(OnFilterToggled);
            useParentCheck.Toggled += new EventHandler(OnToggledUseParent);
            addButton.Clicked      += new EventHandler(OnAddCategory);
            removeButton.Clicked   += new EventHandler(OnRemoveCategory);
        }
Пример #4
0
        public object Clone()
        {
            NUnitCategoryOptions op = new NUnitCategoryOptions();

            op.enableFilter = enableFilter;
            op.exclude      = exclude;
            op.categories   = new StringCollection();
            foreach (string s in categories)
            {
                op.categories.Add(s);
            }
            return(op);
        }
		public NUnitOptionsWidget (Properties customizationObject)
		{
			Build ();
			test =  ((Properties)customizationObject).Get<UnitTest> ("UnitTest");
			config =  ((Properties)customizationObject).Get<string> ("Config");
			options = localOptions = (NUnitCategoryOptions) test.GetOptions (typeof(NUnitCategoryOptions), config);
			
			store = new TreeStore (typeof(string));
			categoryTree.Model = store;
			categoryTree.HeadersVisible = false;
			
			CellRendererText tr = new CellRendererText ();
			tr.Editable = true;
			tr.Edited += new EditedHandler (OnCategoryEdited);
			textColumn = new TreeViewColumn ();
			textColumn.Title = GettextCatalog.GetString ("Category");
			textColumn.PackStart (tr, false);
			textColumn.AddAttribute (tr, "text", 0);
			textColumn.Expand = true;
			categoryTree.AppendColumn (textColumn);
			
			if (test.Parent != null)
				useParentCheck.Active = !test.HasOptions (typeof(NUnitCategoryOptions), config);
			else {
				useParentCheck.Active = false;
				useParentCheck.Sensitive = false;
			}
			
			if (!options.EnableFilter)
				noFilterRadio.Active = true;
			else if (options.Exclude)
				excludeRadio.Active = true;
			else
				includeRadio.Active = true;

			Fill ();
			
			noFilterRadio.Toggled += new EventHandler (OnFilterToggled);
			includeRadio.Toggled += new EventHandler (OnFilterToggled);
			excludeRadio.Toggled += new EventHandler (OnFilterToggled);
			useParentCheck.Toggled += new EventHandler (OnToggledUseParent);
			addButton.Clicked += new EventHandler (OnAddCategory);
			removeButton.Clicked += new EventHandler (OnRemoveCategory);
		}
Пример #6
0
        internal UnitTestResult RunUnitTest(UnitTest test, string suiteName, string pathName, string testName, TestContext testContext)
        {
            var runnerExe = GetCustomConsoleRunnerCommand();

            if (runnerExe != null)
            {
                return(RunWithConsoleRunner(runnerExe, test, suiteName, pathName, testName, testContext));
            }

            ExternalTestRunner runner       = (ExternalTestRunner)Runtime.ProcessService.CreateExternalProcessObject(typeof(ExternalTestRunner), testContext.ExecutionContext, UserAssemblyPaths);
            LocalTestMonitor   localMonitor = new LocalTestMonitor(testContext, test, suiteName, testName != null);

            ITestFilter filter = null;

            if (test != null)
            {
                if (test is UnitTestGroup)
                {
                    filter = new TestNameFilter(CollectTests((UnitTestGroup)test));
                }
                else
                {
                    filter = new TestNameFilter(test.TestId);
                }
            }
            else
            {
                NUnitCategoryOptions categoryOptions = (NUnitCategoryOptions)test.GetOptions(typeof(NUnitCategoryOptions));
                if (categoryOptions.EnableFilter && categoryOptions.Categories.Count > 0)
                {
                    string[] cats = new string [categoryOptions.Categories.Count];
                    categoryOptions.Categories.CopyTo(cats, 0);
                    filter = new CategoryFilter(cats);
                    if (categoryOptions.Exclude)
                    {
                        filter = new NotFilter(filter);
                    }
                }
            }

            RunData rd = new RunData();

            rd.Runner       = runner;
            rd.Test         = this;
            rd.LocalMonitor = localMonitor;
            testContext.Monitor.CancelRequested += new TestHandler(rd.Cancel);

            UnitTestResult result;

            try {
                if (string.IsNullOrEmpty(AssemblyPath))
                {
                    string msg = GettextCatalog.GetString("Could not get a valid path to the assembly. There may be a conflict in the project configurations.");
                    throw new Exception(msg);
                }
                System.Runtime.Remoting.RemotingServices.Marshal(localMonitor, null, typeof(IRemoteEventListener));

                string testRunnerAssembly, testRunnerType;
                GetCustomTestRunner(out testRunnerAssembly, out testRunnerType);

                result = runner.Run(localMonitor, filter, AssemblyPath, "", new List <string> (SupportAssemblies), testRunnerType, testRunnerAssembly);
                if (testName != null)
                {
                    result = localMonitor.SingleTestResult;
                }
            } catch (Exception ex) {
                if (!localMonitor.Canceled)
                {
                    LoggingService.LogError(ex.ToString());
                    if (localMonitor.RunningTest != null)
                    {
                        RuntimeErrorCleanup(testContext, localMonitor.RunningTest, ex);
                    }
                    else
                    {
                        testContext.Monitor.ReportRuntimeError(null, ex);
                        throw;
                    }
                    result = UnitTestResult.CreateFailure(ex);
                }
                else
                {
                    result = UnitTestResult.CreateFailure(GettextCatalog.GetString("Canceled"), null);
                }
            } finally {
                testContext.Monitor.CancelRequested -= new TestHandler(rd.Cancel);
                runner.Dispose();
                System.Runtime.Remoting.RemotingServices.Disconnect(localMonitor);
            }

            return(result);
        }
		void OnToggledUseParent (object sender, EventArgs args)
		{
			if (useParentCheck.Active)
				options = (NUnitCategoryOptions) test.Parent.GetOptions (typeof(NUnitCategoryOptions), config);
			else
				options = localOptions;

			if (!options.EnableFilter)
				noFilterRadio.Active = true;
			else if (options.Exclude)
				excludeRadio.Active = true;
			else
				includeRadio.Active = true;

			Fill ();
		}