The filter buttons are now unchecked by default, which has the meaning of no filter applied. Clicking the filter buttons the applies that filter. In addition, we now mark skipped tests when they are discovered.
Before a test run, we collect all of the test cases to use in the run. Unfortuantely, we were using the same slower test discovery mechanism that we previously used when loading test assemblies. This change switches that code path to use the faster mechanism that we've already put in place.
Added markers to the IPC stream so the client knows when to stop
reading. The previous behavior was to just read until the pipe was
empty and swallow the exception.
The UI now executes the tests in a separate process. This removes the
need to shadow copy and frees up the idea of re-running the tests
without restart of the UI.