Exemple #1
0
        protected internal virtual void ProcessException(Exception exception, TestCaseResult testResult)
        {
            if (!ExceptionExpected)
            {
                RecordException(exception, testResult);
                return;
            }

            if (IsExpectedExceptionType(exception))
            {
                if (IsExpectedMessageMatch(exception))
                {
                    if (exceptionHandler != null)
                    {
                        Reflect.InvokeMethod(exceptionHandler, this.Fixture, exception);
                    }

                    testResult.Success();
                }
                else
                {
                    testResult.Failure(WrongTextMessage(exception), GetStackTrace(exception));
                }
            }
            else if (IsAssertException(exception))
            {
                testResult.Failure(exception.Message, exception.StackTrace);
            }
            else
            {
                testResult.Failure(WrongTypeMessage(exception), GetStackTrace(exception));
            }
        }
        protected override internal void ProcessException(Exception exception, TestCaseResult testResult)
        {
            if (expectedException.Equals(exception.GetType()))
            {
                if (expectedMessage != null && !expectedMessage.Equals(exception.Message))
                {
                    string message = string.Format("Expected exception to have message: \"{0}\" but received message \"{1}\"",
                                                   expectedMessage, exception.Message);
                    testResult.Failure(message, exception.StackTrace);
                }
                else
                {
                    testResult.Success();
                }
            }
            else if (exception is Framework.AssertionException)
            {
                RecordException(exception, testResult);
            }
            else
            {
                string message = "Expected: " + expectedException.Name + " but was " + exception.GetType().Name;
                testResult.Failure(message, exception.StackTrace);
            }

            return;
        }
		protected override internal void ProcessException(Exception exception, TestCaseResult testResult)
		{
			if (expectedException.Equals(exception.GetType()))
			{
				if (expectedMessage != null && !expectedMessage.Equals(exception.Message))
				{
					string message = string.Format("Expected exception to have message: \"{0}\" but received message \"{1}\"", 
						expectedMessage, exception.Message);
					testResult.Failure(message, exception.StackTrace);
				} 
				else 
				{
					testResult.Success();
				}
			}
			else if (exception is Framework.AssertionException)
			{
				RecordException(exception,testResult);
			}
			else
			{
				string message = "Expected: " + expectedException.Name + " but was " + exception.GetType().Name;
				testResult.Failure(message, exception.StackTrace);
			}

			return;
		}
Exemple #4
0
 protected internal virtual void ProcessNoException(TestCaseResult testResult)
 {
     if (ExceptionExpected)
     {
         testResult.Failure(NoExceptionMessage(), null);
     }
     else
     {
         testResult.Success();
     }
 }
        public void ClearResult()
        {
            TestCaseResult result = new TestCaseResult( testCaseInfo );
            result.Failure("message", "stacktrace");

            TestSuiteTreeNode node = new TestSuiteTreeNode( result );
            Assert.AreEqual( TestSuiteTreeNode.FailureIndex, node.ImageIndex );
            Assert.AreEqual( TestSuiteTreeNode.FailureIndex, node.SelectedImageIndex );

            node.ClearResult();
            Assert.AreEqual( null, node.Result );
            Assert.AreEqual( TestSuiteTreeNode.InitIndex, node.ImageIndex );
            Assert.AreEqual( TestSuiteTreeNode.InitIndex, node.SelectedImageIndex );
        }
        //private TestCaseResult testCase;
        private TestSuiteResult MockSuiteResult( bool failure )
        {
            TestCaseResult testCaseResult = new TestCaseResult("a test case");
            if ( failure ) testCaseResult.Failure( "case failed", null );

            TestSuiteResult level1SuiteA = new TestSuiteResult("level 1 A");
            level1SuiteA.AddResult(testCaseResult);

            TestSuiteResult level1SuiteB = new TestSuiteResult("level 1 B");
            level1SuiteB.AddResult(new TestCaseResult("a successful test"));

            TestSuiteResult result = new TestSuiteResult("base");
            result.AddResult(level1SuiteA);
            result.AddResult(level1SuiteB);

            return result;
        }
Exemple #7
0
        public override void Run(TestCaseResult result)
        {
            if (ShouldRun)
            {
                DateTime start = DateTime.Now;
                try
                {
                    List<string> expectedLines = CreateStringList(WomDocument.Parse(_expected));

                    WomDocument parseResult = ParseWikiText(_source);
                    List<string> actualLines = CreateStringList(parseResult);

                    CompareStringLists(expectedLines, actualLines);
                    result.Success();
                }
                catch (Exception ex)
                {
                    if (ex is NunitException)
                    {
                        ex = ex.InnerException;
                    }
                    if (testFramework.IsIgnoreException(ex))
                    {
                        result.NotRun(BuildMessage(ex), BuildStackTrace(ex));
                    }
                    else
                    {
                        result.Failure(BuildMessage(ex), BuildStackTrace(ex));
                    }
                }
                finally
                {
                    DateTime stop = DateTime.Now;
                    TimeSpan span = stop.Subtract(start);
                    result.Time = (double)span.Ticks / (double)TimeSpan.TicksPerSecond;
                }
            }
            else
            {
                result.NotRun(this.IgnoreReason);
            }
        }
Exemple #8
0
        protected void RecordException(Exception exception, TestCaseResult testResult, bool inTearDown)
        {
            StringBuilder msg = new StringBuilder();
            StringBuilder st  = new StringBuilder();

            if (inTearDown)
            {
                msg.Append(testResult.Message);
                msg.Append(Environment.NewLine);
                msg.Append("TearDown : ");
                st.Append(testResult.StackTrace);
                st.Append(Environment.NewLine);
                st.Append("--TearDown");
                st.Append(Environment.NewLine);
            }

            msg.Append(BuildMessage(exception));
            st.Append(BuildStackTrace(exception));
            testResult.Failure(msg.ToString(), st.ToString());
        }
        public override void Run(TestCaseResult testResult)
        {
            if (ShouldRun)
            {
                bool needParentTearDown = false;

                try
                {
                    if (Parent != null)
                    {
                        if (Parent.SetUpNeeded)
                        {
                            Parent.DoOneTimeSetUp(testResult);
                            needParentTearDown = Parent.SetUpComplete;
                        }

                        if (Parent.SetUpFailed)
                            testResult.Failure("TestFixtureSetUp Failed", testResult.StackTrace);
                    }

                    if (!testResult.IsFailure)
                        doRun(testResult);
                }
                catch (Exception ex)
                {
                    if (ex is NunitException)
                        ex = ex.InnerException;

                    RecordException(ex, testResult);
                }
                finally
                {
                    if (needParentTearDown)
                        Parent.DoOneTimeTearDown(testResult);
                }
            }
            else
            {
                testResult.NotRun(IgnoreReason);
            }
        }
Exemple #10
0
 private void MarkTestFailed(
     Test test, TestSuiteResult suiteResult, EventListener listener, ITestFilter filter)
 {
     if (test is TestSuite)
     {
         listener.SuiteStarted(test.TestName);
         TestSuiteResult result = new TestSuiteResult(new TestInfo(test), test.TestName.FullName);
         string          msg    = string.Format("Parent SetUp failed in {0}", this.FixtureType.Name);
         result.Failure(msg, null, FailureSite.Parent);
         MarkTestsFailed(test.Tests, suiteResult, listener, filter);
         suiteResult.AddResult(result);
         listener.SuiteFinished(result);
     }
     else
     {
         listener.TestStarted(test.TestName);
         TestCaseResult result = new TestCaseResult(new TestInfo(test));
         string         msg    = string.Format("TestFixtureSetUp failed in {0}", this.FixtureType.Name);
         result.Failure(msg, null, FailureSite.Parent);
         suiteResult.AddResult(result);
         listener.TestFinished(result);
     }
 }
        public void SetResult_Failure()
        {
            TestSuiteTreeNode node = new TestSuiteTreeNode( testCaseInfo );
            TestCaseResult result = new TestCaseResult( testCaseInfo );

            result.Failure("message", "stacktrace");
            node.Result = result;
            Assert.AreEqual( TestSuiteTreeNode.FailureIndex, node.ImageIndex );
            Assert.AreEqual( TestSuiteTreeNode.FailureIndex, node.SelectedImageIndex );
            Assert.AreEqual( "Failure", node.StatusText );
        }
 protected override internal void ProcessNoException(TestCaseResult testResult)
 {
     testResult.Failure(expectedException.Name + " was expected", null);
 }
Exemple #13
0
 private void MarkTestFailed(
     Test test, TestSuiteResult suiteResult, EventListener listener, ITestFilter filter)
 {
     if (test is TestSuite)
     {
         listener.SuiteStarted(test.TestName);
         TestSuiteResult result = new TestSuiteResult( new TestInfo(test), test.TestName.FullName);
         string msg = string.Format( "Parent SetUp failed in {0}", this.FixtureType.Name );
         result.Failure(msg, null, FailureSite.Parent);
         MarkTestsFailed(test.Tests, suiteResult, listener, filter);
         suiteResult.AddResult(result);
         listener.SuiteFinished(result);
     }
     else
     {
         listener.TestStarted(test.TestName);
         TestCaseResult result = new TestCaseResult( new TestInfo(test) );
         string msg = string.Format( "TestFixtureSetUp failed in {0}", this.FixtureType.Name );
         result.Failure(msg, null, FailureSite.Parent);
         suiteResult.AddResult(result);
         listener.TestFinished(result);
     }
 }
		protected internal virtual void ProcessException(Exception exception, TestCaseResult testResult)
		{
			if (!ExceptionExpected)
			{
				RecordException(exception, testResult); 
				return;
			}

			if (IsExpectedExceptionType(exception))
			{
				if (IsExpectedMessageMatch(exception))
				{
					if ( exceptionHandler != null )
						Reflect.InvokeMethod( exceptionHandler, this.Fixture, exception );

					testResult.Success();
				}
				else
				{
					testResult.Failure(WrongTextMessage(exception), GetStackTrace(exception));
				}
			}
			else if (IsAssertException(exception))
			{
				testResult.Failure(exception.Message, exception.StackTrace);
			}
			else
			{
				testResult.Failure(WrongTypeMessage(exception), GetStackTrace(exception));
			}
		}
		protected internal virtual void ProcessNoException(TestCaseResult testResult)
		{
			if ( ExceptionExpected )
				testResult.Failure(NoExceptionMessage(), null);
			else
				testResult.Success();
		}
		protected void RecordException( Exception exception, TestCaseResult testResult, bool inTearDown )
		{
			StringBuilder msg = new StringBuilder();
			StringBuilder st = new StringBuilder();
			
			if ( inTearDown )
			{
				msg.Append( testResult.Message );
				msg.Append( Environment.NewLine );
				msg.Append( "TearDown : " );
				st.Append( testResult.StackTrace );
				st.Append( Environment.NewLine );
				st.Append( "--TearDown" );
				st.Append( Environment.NewLine );
			}

			msg.Append( BuildMessage( exception ) );
			st.Append( BuildStackTrace( exception ) );
			testResult.Failure( msg.ToString(), st.ToString() );
		}
Exemple #17
0
        public bool Run(TestInfo test, TestSuiteResult suite_result, string test_name, EventListener listener, ITestFilter filter, int timeout)
        {
            listener = new ProxyListener (listener);

            TestRunnerDelegate runner = new TestRunnerDelegate (delegate {
                return server.Run (test_name, listener, filter);
            });

            IAsyncResult ar = runner.BeginInvoke (test_name, null, filter, null, null);

            if (!ar.AsyncWaitHandle.WaitOne (timeout) || !ar.IsCompleted) {
                TestCaseResult error = new TestCaseResult (test);
                string msg = String.Format ("Timeout after {0} ms", timeout);
                error.Failure (msg, null, FailureSite.Parent);
                suite_result.AddResult (error);
                return false;
            }

            try {
                TestResult result = runner.EndInvoke (ar);
                if (result != null) {
                    suite_result.AddResult (result);
                    return true;
                }

                TestCaseResult error = new TestCaseResult (test);
                error.Failure ("Unknown error", null, FailureSite.Parent);
                suite_result.AddResult (error);
                return false;
            } catch (Exception ex) {
                TestCaseResult error = new TestCaseResult (test);
                string msg = String.Format ("Unknown exception: {0}", ex);
                error.Failure (msg, null, FailureSite.Parent);
                suite_result.AddResult (error);
                return false;
            }
        }
Exemple #18
0
        public override TestResult Run(EventListener listener, ITestFilter filter)
        {
            TestSuiteResult suite_result = new TestSuiteResult (new TestInfo (this), TestName.FullName);

            DebuggerTestHost host = DebuggerTestHost.Create ();
            if (host == null) {
                TestCaseResult error = new TestCaseResult (new TestInfo (this));
                string msg = String.Format ("Failed to create DebuggerTestHost in {0}", FixtureType.Name);
                error.Failure (msg, null, FailureSite.Parent);
                suite_result.AddResult (error);
                return suite_result;
            }

            int timeout;
            if (Attribute.Timeout != 0)
                timeout = Attribute.Timeout;
            else
                timeout = DebuggerTestAddIn.DefaultTimeout;

            int repeat = 1;
            if (Attribute.Repeat != 0)
                repeat = Attribute.Repeat;

            try {
                for (int i = 0; i < repeat; i++) {
                    if (!host.Run (new TestInfo (this), suite_result, Type.AssemblyQualifiedName, listener, filter, timeout))
                        break;
                }

                return suite_result;
            } finally {
                host.Dispose ();
            }
        }
Exemple #19
0
		public override void Run (TestCaseResult res)
		{
			string type = _test.GetAttribute ("TYPE");
			if (type == "error")
				res.Success ();

			Uri baseUri = new Uri (_test.BaseURI);
			Uri testUri = new Uri (baseUri, _test.GetAttribute ("URI"));

			bool nonValidatingPassed = TestNonValidating (testUri.ToString ());
			bool validatingPassed = TestValidating (testUri.ToString ());
		
			bool isok = isOK (type, nonValidatingPassed, validatingPassed);
			string message="";
			if (_inverseResult) {
				isok = !isok;
				message = "The following test was FIXED:\n";
			}

			if (isok)
				res.Success ();
			else {
				message += "type:"+type;
				message += " non-validating passed:"+nonValidatingPassed.ToString();
				message += " validating passed:"+validatingPassed.ToString();
				message += " description:"+_test.InnerText;
				res.Failure (message, _errorString);
			}
		}
Exemple #20
0
		void ReportResult (string failureMessage, string stackTrace, TestCaseResult res)
		{
			if (_inverseResult) {
				if (failureMessage != null)
					res.Success ();
				else
					res.Failure ("The following test was FIXED: "+_testid, null);
			}
			else {
				if (failureMessage != null)
					res.Failure (failureMessage, stackTrace);
				else
					res.Success ();
			}
		}
        private TestSuiteResult MockSuiteResult(string suiteName, bool failure)
        {
            TestSuiteResult result = new TestSuiteResult(suiteName);
            result.Time = time;
            result.RunState = RunState.Executed;

            TestSuiteResult level1SuiteA = new TestSuiteResult("level 1 A");
            result.AddResult(level1SuiteA);
            level1SuiteA.RunState = RunState.Executed;

            TestSuiteResult level1SuiteB = new TestSuiteResult("level 1 B");
            result.AddResult(level1SuiteB);
            level1SuiteB.RunState = RunState.Executed;

            testCase = new TestCaseResult("a test case");
            if(failure) testCase.Failure("argument exception",null);
            else testCase.Success();

            level1SuiteA.AddResult(testCase);

            testCase = new TestCaseResult("a successful test");
            testCase.Success();
            level1SuiteB.AddResult(testCase);

            testCase = new TestCaseResult("a not run test");
            testCase.Ignore("test not run");
            level1SuiteB.AddResult(testCase);

            return result;
        }
Exemple #22
0
		public override void Run (TestCaseResult res) 
		{
			try
			{
				Harness.RunSingleTest(_baseUrl, _testInfo);
			}
			catch (Exception e)
			{
				res.Failure(e.Message, null);
				return;
			}
			res.Success();
		}
		protected override internal void ProcessNoException(TestCaseResult testResult)
		{
			testResult.Failure(expectedException.Name + " was expected", null);
		}