Build 1966 - NUnitAction.GetTestableFiles

G'day,

Got an unseen error in the Nunit log for a build that's running nunit tests on Continua for the first time. The tests run ok in VS 2012 on the workstation (which just happens to be the agent that built the project/configuration).

It looks like a continua event log entry seems to be injected into the {Slug}/ci/builds/log/230?{GUID}# view.

An unhandled exception occurred in the action Execute method : Exception: SteppingException Message: No testable files found Stack Trace: at Continua.Modules.Builds.Stepping.Actions.NUnitAction.GetTestableFiles(IEnumerable`1 files, IBuildSteppingContext context) at Continua.Modules.Builds.Stepping.Actions.NUnitAction.GetCommandLine(IBuildSteppingContext context) at Continua.Stepping.Actions.ExecuteAction`1.Execute(TContext context) .

I’ve changed the logging so that it will not show the stack trace for this error in the next build.

Can you check that you have entered valid path(s) for the Files field of the NUnit Action and that you have set up the Workspace rules to copy the test files to the agent?

G'day,

I've changed the stage to explicitly copy the Nunit file to the output\tests\* folder which I've confirmed completes, but the UI is suggesting the file doesn't exist? not sure what's going on there.

Attachment unavailable

Hey Jamie, it looks like you are copying the files to the workspace on the Server rather then using the workspace rules to copy the agent files back to the server. If this is the case then I would suggest that you setup your workspace rules to copy them across at the end of that stage.

It looks like the dlls aren’t being copied back over to the agent when the ‘Test’ stage is run. I would suggest you look at your workspace rules for the ‘test’ stage and make sure that it is copying the correct files back to the agent.

Yeah that was my initial thought as well but both files exist on the Server and Agent PC's

Server : C:\Continua\Ws\iims\260\Output\Tests\Iims.Security.Nunit.dll

Agent: C:\Continua_WS\Ws\260\Output\Tests\Iims.Security.Nunit.dll

The sync Workspace step prior to running Nunit explicitly includes

\\JDSRV03\Continua\Ws\iims\260\Output\Tests\Iims.Security.Nunit.dll > C:\Continua_WS\Ws\260\Output\Tests\Iims.Security.Nunit.dll so I know the file is where it's should be.

I know the agent computer will run the unit test file and pass all the unit tests if I run the nunit ide manually with C:\Program Files (x86)\NUnit 2.6.2\bin\nunit.exe. Equally so I can double click on the file in C:\Continua_WS\Ws\260\Output\Tests\Iims.Security.Nunit.dll on the agent (dev PC) and it fires up Nunit correctly and runs the tests ok.

Any other idea's.

Can you send me screen shots that include your workspace rules for both your test stage and the stages before it? We run a similar process when building continua and the files are copied over successfully.

Ok, these are the default ones that come with the stages.

1. Stage: Build

Attachment unavailable

Ok so I got to the bottom of this Jamie. We have some logic in Continua that sends different values to NUnit when the project configuration value has been set on the nunit action.

If you have specified a value for the project configuration, then the ‘files’ field must be pointed to a project or solution rather then a dll. If you just want to test dlls then remove the project configuration value and it should work fine.

Im currently doing more testing/validation and Ill release the changes as a hotfix and let you know when it is available.

Yeap, that worked. Happy to finally get another project into the GREEN!

Attachment unavailable

Here is the build with the fixes for the problems you were getting Jamie.
Continua CI - 1.0.0.2012-64 bit
Continua CI - 1.0.0.2012-32 bit


Basically I have added a whole bunch of Validation checks on the NUnit action and cleaned up the error messages so any errors make more sense.

Now if you try to create a NUnit action with a Project Configuration value, it will show a validation error if you have only specified dll files