diff --git a/xunit.runner.data/TestItem.cs b/xunit.runner.data/TestDataKind.cs similarity index 100% rename from xunit.runner.data/TestItem.cs rename to xunit.runner.data/TestDataKind.cs diff --git a/xunit.runner.data/xunit.runner.data.csproj b/xunit.runner.data/xunit.runner.data.csproj index 5e727ba..0e1468f 100644 --- a/xunit.runner.data/xunit.runner.data.csproj +++ b/xunit.runner.data/xunit.runner.data.csproj @@ -45,7 +45,7 @@ - + diff --git a/xunit.runner.worker/Connection.cs b/xunit.runner.worker/Connection.cs index 670f1c9..8bf511a 100644 --- a/xunit.runner.worker/Connection.cs +++ b/xunit.runner.worker/Connection.cs @@ -22,7 +22,7 @@ namespace xunit.runner.worker } - private void Dispose() + internal void Dispose() { if (_closed) { diff --git a/xunit.runner.worker/Program.cs b/xunit.runner.worker/Program.cs index f96ba69..5f1f199 100644 --- a/xunit.runner.worker/Program.cs +++ b/xunit.runner.worker/Program.cs @@ -97,7 +97,10 @@ namespace xunit.runner.worker private static void Usage() { - Console.Error.WriteLine("Need at least two arguments"); + Console.WriteLine("xunit.runner.worker [pipe name] [action] [assembly path]"); + Console.WriteLine("\tpipe name: Name of the pipe this worker should communicate on"); + Console.WriteLine("\taction: Action performed by the worker (run or discover tests"); + Console.WriteLine("\assembly path: Path of assembly to perform the action against"); } } } diff --git a/xunit.runner.wpf/ITestUtil.cs b/xunit.runner.wpf/ITestUtil.cs index 3d0a296..d27ceb3 100644 --- a/xunit.runner.wpf/ITestUtil.cs +++ b/xunit.runner.wpf/ITestUtil.cs @@ -33,7 +33,7 @@ namespace xunit.runner.wpf internal interface ITestSession { /// - /// Task which will be resolved when the session is completed. + /// Task which will be completed when the session is finished. /// Task Task { get; } } @@ -41,7 +41,7 @@ namespace xunit.runner.wpf internal interface ITestRunSession : ITestSession { /// - /// Raised when an idividual test is finished running. + /// Raised when an individual test is finished running. /// event EventHandler TestFinished; @@ -54,7 +54,7 @@ namespace xunit.runner.wpf internal interface ITestDiscoverSession : ITestSession { /// - /// Raised when an idividual test is finished running. + /// Raised when an individual test is finished running. /// event EventHandler TestDiscovered; diff --git a/xunit.runner.wpf/Impl/RemoteTestUtil.BackgroundRunner.cs b/xunit.runner.wpf/Impl/RemoteTestUtil.BackgroundRunner.cs index f464b07..6f89d85 100644 --- a/xunit.runner.wpf/Impl/RemoteTestUtil.BackgroundRunner.cs +++ b/xunit.runner.wpf/Impl/RemoteTestUtil.BackgroundRunner.cs @@ -170,7 +170,7 @@ namespace xunit.runner.wpf.Impl { _callback(null); _timer.Stop(); - _connection.Close(); + _connection.Dispose(); } finally { diff --git a/xunit.runner.wpf/Impl/RemoteTestUtil.Connection.cs b/xunit.runner.wpf/Impl/RemoteTestUtil.Connection.cs index 9e7a435..1b5db83 100644 --- a/xunit.runner.wpf/Impl/RemoteTestUtil.Connection.cs +++ b/xunit.runner.wpf/Impl/RemoteTestUtil.Connection.cs @@ -33,7 +33,7 @@ namespace xunit.runner.wpf.Impl _reader = new ClientReader(stream); } - internal void Close() + internal void Dispose() { if (_process != null) { @@ -64,7 +64,7 @@ namespace xunit.runner.wpf.Impl void IDisposable.Dispose() { - Close(); + Dispose(); } } } diff --git a/xunit.runner.wpf/ViewModel/MainViewModel.cs b/xunit.runner.wpf/ViewModel/MainViewModel.cs index 0143e39..d842768 100644 --- a/xunit.runner.wpf/ViewModel/MainViewModel.cs +++ b/xunit.runner.wpf/ViewModel/MainViewModel.cs @@ -235,16 +235,16 @@ namespace xunit.runner.wpf.ViewModel } this.IsBusy = true; - this.RunCommand.RaiseCanExecuteChanged(); - this.CancelCommand.RaiseCanExecuteChanged(); await Task.WhenAll(this.testSessionList.Select(x => x.Task)); } catch (Exception ex) { MessageBox.Show(Application.Current.MainWindow, ex.ToString()); + this.IsBusy = false; } finally { + Debug.Assert(!IsBusy); loadingDialog.Close(); } } @@ -331,8 +331,7 @@ namespace xunit.runner.wpf.ViewModel tc.State = TestState.NotRun; } - // TODO: Need a way to filter based on traits, selected test cases, etc ... For now we just run - // everything. + // TODO: Need a way to filter based on traits var runAll = TestCases.Count == this.allTestCases.Count; @@ -359,8 +358,6 @@ namespace xunit.runner.wpf.ViewModel } this.IsBusy = true; - this.RunCommand.RaiseCanExecuteChanged(); - this.CancelCommand.RaiseCanExecuteChanged(); } private void OnTestSessionFinished(ITestSession session) @@ -374,8 +371,6 @@ namespace xunit.runner.wpf.ViewModel { this.cancellationTokenSource = null; this.IsBusy = false; - this.RunCommand.RaiseCanExecuteChanged(); - this.CancelCommand.RaiseCanExecuteChanged(); } }