nunit/nunit — pull request #285 by CharliePoole (2014-10-20 16:40:34+00:00)
Title: Issue 264

This fixes #264 as follows:

* Dropped filtering in the console runner. We now display whatever is in the XML.
* Apply filtering only to those NUnit exceptions that generate a result: AssertionException, SuccessException, IgnoreException and InconclusiveException. Any unexpected exceptions use the unfiltered stack trace.
* Filtering removes topmost entries of the stack that reference Assert or Assume classes. Top of stack should be the place where the exception was caused in the test itself.
* For compact framework, we have to also remove the entries for the code that caused the test to be invoked. Otherwise, we get a trace all the way down through the initial execution of NUnitLite, which is too much redundant info. We do this by scanning down to the first line that references a class in System.Reflection. In theory, it's possible to cause a failure by using reflection to invoke a method that contains an Assert, but this seems like a very strange thing to do, so we don't worry about it. If it becomes a problem in the future, we will need to do a more thorough analysis of the stack to find the point below which there is only System and NUnit code. This is a bit tricky since NUnit tests use the NUnit namespace as well.
* At the same time, in order to test this, I made changes to get the broken CF 3.5 build working again.
* I also changed how test failures are displayed under NUnitLite so it matches the nunit-console display.