nunit / nunit-console

NUnit Console runner and test engine
MIT License
215 stars 152 forks source link

Possible crash when WorkDirectory is a Networked Drive #714

Closed santhosh-James closed 1 month ago

santhosh-James commented 4 years ago

InternalTrace: Initializing at level Debug 17:03:06.823 Debug [ 1] ServiceManager: Added SettingsService 17:03:06.825 Debug [ 1] ServiceManager: Added DriverService 17:03:06.828 Debug [ 1] ServiceManager: Added RecentFilesService 17:03:06.830 Debug [ 1] ServiceManager: Added TestFilterService 17:03:06.833 Debug [ 1] ServiceManager: Added ExtensionService 17:03:06.835 Debug [ 1] ServiceManager: Added ProjectService 17:03:06.838 Debug [ 1] ServiceManager: Added DomainManager 17:03:06.840 Debug [ 1] ServiceManager: Added RuntimeFrameworkService 17:03:06.843 Debug [ 1] ServiceManager: Added TestAgency 17:03:06.846 Debug [ 1] ServiceManager: Added ResultService 17:03:06.848 Debug [ 1] ServiceManager: Added DefaultTestRunnerFactory 17:03:06.851 Info [ 1] ServiceManager: Initializing SettingsService 17:03:06.863 Info [ 1] ServiceManager: Initializing DriverService 17:03:06.869 Debug [ 1] ServiceManager: Request for service ExtensionService satisfied by ExtensionService 17:03:06.875 Info [ 1] ServiceManager: Initializing RecentFilesService 17:03:06.878 Debug [ 1] ServiceManager: Request for service ISettings satisfied by SettingsService 17:03:06.882 Info [ 1] ServiceManager: Initializing TestFilterService 17:03:06.884 Info [ 1] ServiceManager: Initializing ExtensionService 17:03:06.889 Info [ 1] ExtensionService: Scanning nunit.engine assembly for extension points 17:03:06.892 Info [ 1] ExtensionService: Found Path=/NUnit/Engine/NUnitV2Driver, Type=NUnit.Engine.Extensibility.IFrameworkDriver 17:03:06.914 Info [ 1] ExtensionService: Scanning nunit.engine.api assembly for extension points 17:03:06.917 Info [ 1] ExtensionService: Found Path=/NUnit/Engine/TypeExtensions/IService, Type=NUnit.Engine.IService 17:03:06.919 Info [ 1] ExtensionService: Found Path=/NUnit/Engine/TypeExtensions/ITestEventListener, Type=NUnit.Engine.ITestEventListener 17:03:06.921 Info [ 1] ExtensionService: Found Path=/NUnit/Engine/TypeExtensions/IDriverFactory, Type=NUnit.Engine.Extensibility.IDriverFactory 17:03:06.924 Info [ 1] ExtensionService: Found Path=/NUnit/Engine/TypeExtensions/IProjectLoader, Type=NUnit.Engine.Extensibility.IProjectLoader 17:03:06.926 Info [ 1] ExtensionService: Found Path=/NUnit/Engine/TypeExtensions/IResultWriter, Type=NUnit.Engine.Extensibility.IResultWriter 17:03:06.931 Info [ 1] ExtensionService: Processing file C:\packages\NUnit.ConsoleRunner.3.10.0\tools\nunit.nuget.addins 17:03:06.937 Info [ 1] ServiceManager: Initializing ProjectService 17:03:06.940 Debug [ 1] ServiceManager: Request for service ExtensionService satisfied by ExtensionService 17:03:06.943 Info [ 1] ServiceManager: Initializing DomainManager 17:03:06.945 Info [ 1] ServiceManager: Initializing RuntimeFrameworkService 17:03:06.947 Info [ 1] ServiceManager: Initializing TestAgency 17:03:06.993 Info [ 1] ServiceManager: Initializing ResultService 17:03:06.996 Debug [ 1] ServiceManager: Request for service ExtensionService satisfied by ExtensionService 17:03:06.998 Info [ 1] ServiceManager: Initializing DefaultTestRunnerFactory 17:03:07.001 Debug [ 1] ServiceManager: Request for service IProjectService satisfied by ProjectService 17:03:07.003 Debug [ 1] ServiceManager: Request for service IResultService satisfied by ResultService 17:03:07.005 Debug [ 1] ServiceManager: Request for service ITestFilterService satisfied by TestFilterService 17:03:07.007 Debug [ 1] ServiceManager: Request for service IExtensionService satisfied by ExtensionService 17:03:07.049 Debug [ 1] ServiceManager: Request for service IProjectService satisfied by ProjectService 17:03:07.051 Debug [ 1] ServiceManager: Request for service IRuntimeFrameworkService satisfied by RuntimeFrameworkService 17:03:07.054 Debug [ 1] ServiceManager: Request for service ExtensionService satisfied by ExtensionService 17:03:07.055 Debug [ 1] ServiceManager: Request for service ITestRunnerFactory satisfied by DefaultTestRunnerFactory 17:03:07.061 Debug [ 1] ServiceManager: Request for service ITestRunnerFactory satisfied by DefaultTestRunnerFactory 17:03:07.063 Debug [ 1] ServiceManager: Request for service TestAgency satisfied by TestAgency 17:03:07.112 Debug [ 1] RuntimeFrameworkService: Assembly C:\Users\bin\Debug\ParaBank.Pom.Tests.dll uses version 4.0.30319 17:03:07.153 Debug [ 1] RuntimeFrameworkService: Assembly C:\Users\bin\Debug\ParaBank.Pom.Tests.dll targets .NETFramework,Version=v4.6.1 17:03:07.157 Debug [ 1] RuntimeFrameworkService: Current framework is net-4.5 17:03:07.159 Debug [ 1] RuntimeFrameworkService: Requested framework is any 17:03:07.162 Debug [ 1] RuntimeFrameworkService: Test will use net-4.0 framework 17:03:07.169 Info [ 1] ProcessRunner: Running 17:03:07.180 Info [ 1] TestAgency: Getting standard agent for use under net-4.0 17:03:07.184 Debug [ 1] TestAgency: Using nunit-agent at C:\Users\packages\NUnit.ConsoleRunner.3.10.0\tools\nunit-agent.exe 17:03:07.186 Debug [ 1] ServiceManager: Request for service RuntimeFrameworkService satisfied by RuntimeFrameworkService 17:03:07.237 Debug [ 1] TestAgency: Launched Agent process 23368 - see nunit-agent_23368.log 17:03:07.239 Debug [ 1] TestAgency: Command line: "C:\Users\packages\NUnit.ConsoleRunner.3.10.0\tools\nunit-agent.exe" d4f6c526-6b31-4958-83ca-c3e3523f0e2d tcp://127.0.0.1:588/TestAgency --pid=27360 --trace:Debug --work="H:\" 17:03:07.241 Debug [ 1] TestAgency: Waiting for agent {d4f6c526-6b31-4958-83ca-c3e3523f0e2d} to register 17:03:09.655 Error [ 1] ProcessRunner: Failed to run remote tests Unable to acquire remote process agent 17:03:09.713 Info [ 1] ServiceManager: Stopping DefaultTestRunnerFactory 17:03:09.716 Info [ 1] ServiceManager: Stopping ResultService 17:03:09.718 Info [ 1] ServiceManager: Stopping TestAgency 17:03:09.722 Info [ 1] ServiceManager: Stopping RuntimeFrameworkService 17:03:09.724 Info [ 1] ServiceManager: Stopping DomainManager 17:03:09.727 Info [ 1] ServiceManager: Stopping ProjectService 17:03:09.728 Info [ 1] ServiceManager: Stopping ExtensionService 17:03:09.731 Info [ 1] ServiceManager: Stopping TestFilterService 17:03:09.733 Info [ 1] ServiceManager: Stopping RecentFilesService 17:03:09.737 Info [ 1] ServiceManager: Stopping DriverService 17:03:09.740 Info [ 1] ServiceManager: Stopping SettingsService

CharliePoole commented 4 years ago

We'll need more info in order to deal with this. As a start, the agent log and test logs may have something useful in them. The log you posted merely shows that the agent terminated. One thing I notice is that you have set the work directory to H:, which of course is not a directory.

santhosh-James commented 4 years ago

H: is a directory and TestResult.xml is generated there.

What information do you need. I have provided the console exception and trace here

On Dec 11, 2019, at 6:45 PM, CharliePoole notifications@github.com wrote:

 We'll need more info in order to deal with this. As a start, the agent log and test logs may have something useful in them. The log you posted merely shows that the agent terminated. One thing I notice is that you have set the work directory to H:, which of course is not a directory.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

CharliePoole commented 4 years ago

Humor me. :smile: H: is a drive. H:\ is a directory. It could work in console but break in agent. Also, if H: is a share, then use a local directory instead, just to be sure.

The run produces (at least) 3 trace files. The one you show does not have much info. There should be an agent log, which is referenced by name in the trace you provided. There is also a log for the running tests under the agent.

santhosh-James commented 4 years ago

Ringing in a local directory solves the issue

On Dec 11, 2019, at 7:19 PM, CharliePoole notifications@github.com wrote:

 Humor me. 😄 H: is a drive. H:\ is a directory. It could work in console but break in agent. Also, if H: is a share, then use a local directory instead, just to be sure.

The run produces (at least) 3 trace files. The one you show does not have much info. There should be an agent log, which is referenced by name in the trace you provided. There is also a log for the running tests under the agent.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

ChrisMaddock commented 4 years ago

@CharliePoole Do you know what the issue is with using a network dir for WorkDirectory? I knew we couldn't run the console itself on a network dir, but didn't know using it as workdir would cause issues.

Anyone on @nunit/engine-team got an easy way to test what's can and can't be done on a network dir? I'm thinking the engine should check for this and produce a user-friendly error message.

CharliePoole commented 4 years ago

I believe it has to do with permissions. NUnit was first written from the point of view that devs would have complete control of their own machines, which were pretty well isolated from any corporate resources. I personally worked on medical apps where that was the case. But it's probably not the case for a significant number of users today.

CharliePoole commented 4 years ago

IIRC, you couldn't run NUnit from a networked drive either. I think that's still true. You may have been able to run off a share, however. The same could be true of the work directory.

CharliePoole commented 1 month ago

Stale issue.