Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Telerik OpenAccess NCrunch Build Error
austin
#1 Posted : Thursday, December 8, 2016 5:50:01 PM(UTC)
Rank: Newbie

Groups: Registered
Joined: 12/8/2016(UTC)
Posts: 2
Location: United Kingdom

Thanks: 1 times
I am taking NCrunch for a test drive.

I was hoping to be able to run the tests contained in a Sitefinity SDK Sample located at

https://github.com/Sitef...finity.Samples.Products

I modified the enhancer location in OpenAccessNuget.targets to point to <EnhancerAssembly>$(NCrunchOriginalSolutionDir)enhancer\enhancer.exe</EnhancerAssembly>

I also set the Workspace base path to C:\nCrunch

I observe the following error.

NCrunch: If you are experiencing problems in getting this project to build, have a look at http://www.ncrunch.net/d...ng_project-build-issues
OpenAccessNuget.targets (112, 5): System.ArgumentException: The path is not of a legal form.
at System.IO.Path.NewNormalizePathLimitedChecks(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.InternalGetDirectoryName(String path)
at Telerik.OpenAccess.Sdk.Enhancer.EnhancerBase.DomainRun(Boolean createDomain)
at Telerik.OpenAccess.Sdk.Enhancer.Enhancer.Start(EnhancerSettings settingsPara)
at Telerik.OpenAccess.Sdk.Enhancer.Enhancer.Run(EnhancerSettings settings)
at Telerik.OpenAccess.Tools.OpenAccessEnhancer.Execute()

Can anyone get this to work? I'd quite like to try using NCrunch on some Sitefinity dev that I will be doing in coming months.

Thanks!
Remco
#2 Posted : Thursday, December 8, 2016 11:01:16 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,145

Thanks: 959 times
Was thanked: 1290 time(s) in 1196 post(s)
Hi, thanks for sharing this issue.

I've had a go at trying to reproduce this problem, but unfortunately I've been having trouble getting the above sample project to build on my machine (without NCrunch involved).

Looking at the code here, it seems that there is some very involved build logic here with all kinds of custom build steps. None of this code was written with consideration to NCrunch's constraints, so it's possible there are a few things that would require modification or special consideration to work correctly.

I recommend having a thorough read of NCrunch's 'Considerations and Constraints' section in the documentation. The project build issues section is also worth looking through.

It may be possible to disable the offending build steps using NCrunch-specific build overrides.

Rather than referencing enhancer.exe from your foreground solution location, it would be better to include this library in the 'Additional files to include' setting for the project and allowing it to be referenced using its normal logic, which I assume would expect a relative path to the project file.
1 user thanked Remco for this useful post.
austin on 12/9/2016(UTC)
austin
#3 Posted : Friday, December 9, 2016 9:43:41 AM(UTC)
Rank: Newbie

Groups: Registered
Joined: 12/8/2016(UTC)
Posts: 2
Location: United Kingdom

Thanks: 1 times
Yes thanks for investigating. My solution builds find in VisualStudio's normal build processes it was only when I installed NCrunch that I found problems. Before reporting I tried a bunch of different options including adding the enhancer files to the project so that it could be referenced with a relative path. I observed the same error most times. I also tried using a very short base Workspace path but again this made no difference.

I will take a look at modifying the build steps so that I find a compatible way of including NCrunch in the sequence. OpenAccess Enhancer has in the past proven to be quite fiddly since it's kind of a "Black Box" tech and I have never taken the time to understand it.

I may contact Telerik/Progress tech support about this matter. Maybe they will be able to provide some insight.

In any case this was just an initial test drive to try and understand how NCrunch works. My immediate goal would be to get a test rig set up that incorporates SpecFlow, Selenium, NCrunch and xUnit for testing against a Sitefinity codebase. Many of these tests are more integration tests rather than unit tests. Would it be true to say that NCrunch is more suited towards automatically running tests at the Unit end of the spectrum as opposed to the Integration Tests?

Also if I purchase an NCrunch license, is there a limit to how many distributed machines I could run NCrunch on? I don't have that many machines just now but I could recruit some of my old laptops into my build system.
Remco
#4 Posted : Friday, December 9, 2016 10:43:33 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,145

Thanks: 959 times
Was thanked: 1290 time(s) in 1196 post(s)
austin;9513 wrote:

In any case this was just an initial test drive to try and understand how NCrunch works. My immediate goal would be to get a test rig set up that incorporates SpecFlow, Selenium, NCrunch and xUnit for testing against a Sitefinity codebase. Many of these tests are more integration tests rather than unit tests. Would it be true to say that NCrunch is more suited towards automatically running tests at the Unit end of the spectrum as opposed to the Integration Tests?


I personally believe NCrunch can handle both kinds of tests very well, though its worth being aware that it may take more effort to get the integration tests running properly under NCrunch. Unit tests tend to be much more self-contained, so they usually tend to just work, where integration tests usually require a bit more fine tuning and knowledge of how NCrunch works.

You'll find you actually have much more to gain with the integration tests under NCrunch than you do with unit tests. This is because integration testing is where a number of NCrunch's main features really shine; i.e. distributed processing, parallel execution, impact detection, prioritisation, etc. With the right resources and configuration, it's possible for NCrunch to chew through long hours of end-to-end testing in just a few short minutes.

austin;9513 wrote:

Also if I purchase an NCrunch license, is there a limit to how many distributed machines I could run NCrunch on? I don't have that many machines just now but I could recruit some of my old laptops into my build system.


No fixed limit at all. The licensing is per user, so you can buy one named user license and set up as many grid nodes as you like.
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.039 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download