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

Notification

Icon
Error

CLI for churning mode
SvenLoxx
#1 Posted : Monday, December 4, 2023 2:46:53 PM(UTC)
Rank: Newbie

Groups: Registered
Joined: 12/4/2023(UTC)
Posts: 4
Location: Germany

Hello,
we are attempting to set up NCrunch in command line for continuous churning mode.
Unfortunately, it's not functioning properly.
Could you advise on how to configure it via the command line for endless churning mode?
Remco
#2 Posted : Monday, December 4, 2023 11:01:26 PM(UTC)
Rank: NCrunch Developer

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

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

Right now, this is a feature that is specific to the NCrunch VS client and it isn't available for the console tool. Could you tell me more about your use case? How will having this feature in the console tool help you?
SvenLoxx
#3 Posted : Tuesday, December 5, 2023 7:20:23 AM(UTC)
Rank: Newbie

Groups: Registered
Joined: 12/4/2023(UTC)
Posts: 4
Location: Germany

Hello Remco,

Thank you for your prompt response.
We're aiming to execute NCrunch on a build server alongside the solution, ideally running continuously.
Currently, we're facing a challenge with our extensive unit test solution, encountering numerous errors during parallel or specific order execution.
Our goal is to identify and address these issues—such as static problems in tests—to mitigate failures.
To address this, we've devised a script that copies tests individually to the build server.
This process allows us to halt execution if a test fails, enabling us to effectively troubleshoot and resolve the identified issues.
Remco
#4 Posted : Tuesday, December 5, 2023 11:44:45 AM(UTC)
Rank: NCrunch Developer

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

Thanks: 959 times
Was thanked: 1290 time(s) in 1196 post(s)
Is the purpose of your script to force the runner to execute different groups in tests in different orders so that you can tease out the issues?

When run locally on a machine under VS, NCrunch churn mode does cycle the tests into different execution orders and groups. It will also cycle the test processes randomly to try and trigger sequence-dependent issues. Is there a reason you need this to be on your build server and you aren't able to use a client machine?
SvenLoxx
#5 Posted : Tuesday, December 5, 2023 12:25:51 PM(UTC)
Rank: Newbie

Groups: Registered
Joined: 12/4/2023(UTC)
Posts: 4
Location: Germany

There isn't a particular rationale for this.
The aim is to set up NCrunch to function in churn mode and, if feasible, to oversee it through the command-line interface (CLI).
The goal is to automate this process.
Remco
#6 Posted : Tuesday, December 5, 2023 10:51:17 PM(UTC)
Rank: NCrunch Developer

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

Thanks: 959 times
Was thanked: 1290 time(s) in 1196 post(s)
Thanks for confirming this. This would make sense as a feature request if you'd like to submit it at uservoice.
SvenLoxx
#7 Posted : Wednesday, December 6, 2023 7:16:06 AM(UTC)
Rank: Newbie

Groups: Registered
Joined: 12/4/2023(UTC)
Posts: 4
Location: Germany

Hello Remco,

Thank you for your response. I'll proceed with the request.
In the meantime, do you have any advice or assistance to offer?
Remco
#8 Posted : Wednesday, December 6, 2023 7:52:51 AM(UTC)
Rank: NCrunch Developer

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

Thanks: 959 times
Was thanked: 1290 time(s) in 1196 post(s)
Unfortunately, I can't right now provide you with a way to get churn mode to work using the console tool - but I can provide some general advise around its use that I hope will help with your situation.

The problem you're facing is very common and needs to be kept in check as test suites expand in size. Intermittent test failures slow down development and destroy developer sanity. There are two approaches I would suggest in bringing this problem under control:

1. Nominate a team member to take responsibility for turning on churn mode when they finish up work for the day. Let it run overnight. In the morning, check the results and examine the list of tests that failed. Construct a theory for each of these failures. If there is not enough information to act on them, add trace diagnostics to get more information so that the next time they fail, you'll have more to assess the situation.

2. For the tests that you've identified as intermittently failing, get NCrunch to target them for churn mode in isolation (just select the test and run churn mode). This will give you a way to stimulate the failure at will so that you can analyse it. Unfortunately it isn't possible to do this with a debugger attached, but as long as you can make the test fail, you can continue to add diagnostics until you've identified the reason for the failure. This won't work for many test-sequence dependent issues, but it works very well for race conditions and resource related problems.

We have some features coming with the V5 release that I expect will help immensely in dealing with this particular problem. I can't share details on this right now but please take this in confidence that we are doing what we can to help with this problem.
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.058 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download