diff options
author | Jérémie Laval <jeremie.laval@gmail.com> | 2018-10-12 17:09:01 +0300 |
---|---|---|
committer | Jérémie Laval <jeremie.laval@gmail.com> | 2018-10-15 18:15:52 +0300 |
commit | 01d1cce4a30139bde41c951d2b100283494ac96f (patch) | |
tree | 848bfcd2b996aff2e88e991d34b128404d14d605 /main/src/addins | |
parent | 5d638b629bac996f02c4a3190e0d50ab6438574b (diff) |
[NUnit] Allow setting working directory of remote process and do so for unit-tests execution
Test suite usually expects the working directory to be the path of the test assembly.
Diffstat (limited to 'main/src/addins')
2 files changed, 6 insertions, 4 deletions
diff --git a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs index 2d635ee4da..605c9175b6 100644 --- a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs +++ b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs @@ -46,15 +46,17 @@ namespace MonoDevelop.UnitTesting.NUnit.External { RemoteProcessConnection connection; IRemoteEventListener listener; + readonly string assemblyDirectory; - public ExternalTestRunner () + public ExternalTestRunner (string assemblyDirectory = null) { + this.assemblyDirectory = assemblyDirectory; } public Task Connect (NUnitVersion version, IExecutionHandler executionHandler = null, OperationConsole console = null) { var exePath = Path.Combine (Path.GetDirectoryName (GetType ().Assembly.Location), version.ToString (), "NUnitRunner.exe"); - connection = new RemoteProcessConnection (exePath, executionHandler, console, Runtime.MainSynchronizationContext); + connection = new RemoteProcessConnection (exePath, assemblyDirectory, executionHandler, console, Runtime.MainSynchronizationContext); connection.AddListener (this); return connection.Connect (); } diff --git a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitAssemblyTestSuite.cs b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitAssemblyTestSuite.cs index 918627278a..b75a993743 100644 --- a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitAssemblyTestSuite.cs +++ b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/NUnitAssemblyTestSuite.cs @@ -332,7 +332,7 @@ namespace MonoDevelop.UnitTesting.NUnit try { if (File.Exists (ld.Path)) { - runner = new ExternalTestRunner (); + runner = new ExternalTestRunner (Path.GetDirectoryName (ld.Path)); runner.Connect (ld.NUnitVersion).Wait (); var supportAssemblies = new List<string> (ld.SupportAssemblies.Result); ld.Info = runner.GetTestInfo (ld.Path, supportAssemblies).Result; @@ -397,7 +397,7 @@ namespace MonoDevelop.UnitTesting.NUnit var console = testContext.ExecutionContext.ConsoleFactory.CreateConsole ( OperationConsoleFactory.CreateConsoleOptions.Default.WithTitle (GettextCatalog.GetString ("Unit Tests"))); - ExternalTestRunner runner = new ExternalTestRunner (); + ExternalTestRunner runner = new ExternalTestRunner (Path.GetDirectoryName (AssemblyPath)); runner.Connect (NUnitVersion, testContext.ExecutionContext.ExecutionHandler, console).Wait (); LocalTestMonitor localMonitor = new LocalTestMonitor (testContext, test, suiteName, testName != null); |