axodox / AxoCover

Nice and free .Net code coverage support for Visual Studio with OpenCover.
https://marketplace.visualstudio.com/items?itemName=axodox1.AxoCover
MIT License
248 stars 60 forks source link

Significant increase in build time #167

Open HeedfulCrayon opened 6 years ago

HeedfulCrayon commented 6 years ago

I recently discovered this plugin, and I am trying it out with my solution, however it significantly increased my build time. It was from maybe 15-30 seconds to 4.5 minutes. I don't maintain the entire library of DLL's or know the intricacies of my codebase, but I don't understand why this plugin altered the build process. Any help would be appreciated.

axodox commented 6 years ago

AxoCover does not interact with build directly, it only processes the event build completed to extract the list of unit tests from the build output. You may want to install the debug version of AxoCover from releases and attach a debugger to Visual Studio and check what the program is waiting for in the Parallel Stacks view.

HeedfulCrayon commented 6 years ago

I am having some other weird issues too. When I initially open a solution and open axocover, it starts scanning the solution and visual studio freezes up and says (not responding) for a good 5 minutes. Then after that running tests work fine, but rebuilding my solution does the same thing as initially opening axocover. I don't have the capability to debug because of our .net framework is rather "special". Any other ideas? I can supply build logs, error logs, etc.

HeedfulCrayon commented 6 years ago

Some of the exceptions I have noticed while running tests:

Executing tests...
| Runner version is 1.1.385.0.
| We are on x86 platform.
   SerializableException: Could not load file or assembly 'AxoCover.Runner.XmlSerializers, Version=1.1.385.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
      at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
      at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   SerializableException: Could not load file or assembly 'AxoCover.Runner.XmlSerializers' or one of its dependencies. The system cannot find the file specified.
      at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
      at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
Test execution finished.
Shutting down...
Exiting...
Generating coverage report...
   SerializableException: The operation cannot be completed because the pipe was closed.  This may have been caused by the application on the other end of the pipe exiting.
      at System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(Boolean haveResult, Int32 error, Int32 numBytes)

   SerializableException: The operation cannot be completed because the pipe was closed.  This may have been caused by the application on the other end of the pipe exiting.
   SerializableException: The operation cannot be completed because the pipe was closed.  This may have been caused by the application on the other end of the pipe exiting.
      at System.ServiceModel.Channels.PipeConnection.EndRead()

   SerializableException: The operation cannot be completed because the pipe was closed.  This may have been caused by the application on the other end of the pipe exiting.
HeedfulCrayon commented 6 years ago

Does axocover hold on to any of the files in the test folder, or the results? The build step it hangs on is the unit test solution, and the task is called "Find under path"... at least that is where the output hangs

Edit: It also looks to be hanging on the task "Delete" occasionally