I have setup distributed processing on one of my servers. I went through all the documentation and all projects build successfully on the server EXCEPT for the tests themselves. Any idea why?
Remco NCrunch Developer
#10496
31 May 2017 23:12 UTC
Hi, thanks for posting!
I'll need some more information before I can properly answer this question. Here's a few questions to help understand the situation:
- If you open the Processing Queue Window, do you see build/analysis tasks for your projects on both your local machine and the remote grid node, and do all of these tasks complete?
- After you run all your tests, does the Processing Queue Window show any test tasks as being run on the remote server?
- Roughly how many tests do you have in your solution, and what is the approximate end-to-end run time for each test?
- If you right click on a test in the Tests Window, then go to 'Run selected test on server', is there an option to run on the remote grid node, and does it work correctly?
I'll need some more information before I can properly answer this question. Here's a few questions to help understand the situation:
- If you open the Processing Queue Window, do you see build/analysis tasks for your projects on both your local machine and the remote grid node, and do all of these tasks complete?
- After you run all your tests, does the Processing Queue Window show any test tasks as being run on the remote server?
- Roughly how many tests do you have in your solution, and what is the approximate end-to-end run time for each test?
- If you right click on a test in the Tests Window, then go to 'Run selected test on server', is there an option to run on the remote grid node, and does it work correctly?
Remco wrote:Hi, thanks for posting!
I'll need some more information before I can properly answer this question. Here's a few questions to help understand the situation:
- If you open the Processing Queue Window, do you see build/analysis tasks for your projects on both your local machine and the remote grid node, and do all of these tasks complete?
- After you run all your tests, does the Processing Queue Window show any test tasks as being run on the remote server?
- Roughly how many tests do you have in your solution, and what is the approximate end-to-end run time for each test?
- If you right click on a test in the Tests Window, then go to 'Run selected test on server', is there an option to run on the remote grid node, and does it work correctly?
1. The Test project itself is always in a pending state.
2. Only the other projects build on the remote server NOT the test project itself.
3. 395 tests in all. 1 second per test estimated.
4. There is the option to run on the remote server but when I click it, it never even tries to run on the remote server.
Remco NCrunch Developer
#10502
01 Jun 2017 22:20 UTC
Check that the project doesn't have a required capability configured. See here for more information - http://www.ncrunch.net/documentation/reference_project-configuration_required-capabilities.
Remco wrote:Check that the project doesn't have a required capability configured. See here for more information - http://www.ncrunch.net/documentation/reference_project-configuration_required-capabilities.
I checked the settings and the project does not have any required capabilities configured.
Remco NCrunch Developer
#10505
02 Jun 2017 13:19 UTC
Thanks for confirming this. A few more things to check:
- Does turning off your local processing in the Distributed Processing Window then resetting the engine make any difference to this behaviour?
- If you set up a new little solution with a test project containing a single test, and use distributed processing, does this project build and does the test run on the remote server?
- Would you be able to submit a bug report after you've had this happen to you? I can then examine the log file to see if there are any obvious faults with the engine
- Does turning off your local processing in the Distributed Processing Window then resetting the engine make any difference to this behaviour?
- If you set up a new little solution with a test project containing a single test, and use distributed processing, does this project build and does the test run on the remote server?
- Would you be able to submit a bug report after you've had this happen to you? I can then examine the log file to see if there are any obvious faults with the engine
Remco wrote:Thanks for confirming this. A few more things to check:
- Does turning off your local processing in the Distributed Processing Window then resetting the engine make any difference to this behaviour?
- If you set up a new little solution with a test project containing a single test, and use distributed processing, does this project build and does the test run on the remote server?
- Would you be able to submit a bug report after you've had this happen to you? I can then examine the log file to see if there are any obvious faults with the engine
1. This has no effect.
2. Interestingly, YES, the new solution with new test project does build and run tests on the remote server.
3. Do you want me to send you the bug report after the test project does not build on the remote server but only locally? Keep in mind, there are no build errors. Just that the test project will only build locally.
I submitted a report through the ui.
Here is something else I just did.
In my existing solution, I created a new unit test project, added all my references.
Then I turned off local and remote only.
The new test project built remotely! Unfortunately the tests I was running is using a sql express database also so the tests fail remotely because it doesnt have the database. Any way around this?
In my existing solution, I created a new unit test project, added all my references.
Then I turned off local and remote only.
The new test project built remotely! Unfortunately the tests I was running is using a sql express database also so the tests fail remotely because it doesnt have the database. Any way around this?
Remco NCrunch Developer
#10512
02 Jun 2017 23:53 UTC
Thanks for sending through the report. The report didn't show anything out of the ordinary. The NCrunch client is not sending work to the remote server because it believes it has no work that the remote server can process.
Everything here points to a configuration issue. Could you try closing the solution and deleting the .ncrunchproject files for your test project to see if this makes any difference?
Regarding the database dependency, this is something you'll need to arrange on the remote server if you intend to use it to run tests. For distributed processing to work, all servers in the grid must have the necessary dependencies to be able to build your projects and run your tests. If you have tests that specifically cannot be run on certain servers, you can use the capabilities system to mark them out so they only run where configured to do so.
Everything here points to a configuration issue. Could you try closing the solution and deleting the .ncrunchproject files for your test project to see if this makes any difference?
Regarding the database dependency, this is something you'll need to arrange on the remote server if you intend to use it to run tests. For distributed processing to work, all servers in the grid must have the necessary dependencies to be able to build your projects and run your tests. If you have tests that specifically cannot be run on certain servers, you can use the capabilities system to mark them out so they only run where configured to do so.
I went ahead and jsut created a new unit test project and put in the test I needed. Now everything works
Remco NCrunch Developer
#10520
05 Jun 2017 23:20 UTC
alexpolajenko wrote:I went ahead and jsut created a new unit test project and put in the test I needed. Now everything works
Thanks for confirming this. This problem has me a bit baffled. If you discover what was causing it, please do let me know.
Post a reply
Log in to reply.