cake: NUnit runner: Handle specific non-zero exit codes

Right now, any time the NUnit console tool returns a non-zero exit code, the Cake NUnit runner throws a CakeException with the less-than-helpful error message, NUnit: Process returned an error.

I think this behavior is too broad, as it treats failed tests the same as an unexpected problem. I’d like the flexibility to decide whether to blow up my build based on test failures, errors, etc.

NUnit does have meaningful exit codes (discussed here), so we should throw more specific exceptions as appropriate.

About this issue

  • Original URL
  • State: closed
  • Created 9 years ago
  • Comments: 15 (15 by maintainers)

Most upvoted comments

@jrnail23 this should be in the next release of Cake, big thanks to @ChrisMaddock

I’d be interested in taking a look at this. We wrote some new scripts for the NUnit code samples recently, and it was this limitation which meant we decided to use NUnit via the console, instead of the tool.

It might make sense to add a virtual member to Tool<ToolSettings> so that each tool can opt in to handle it’s own errors.

@patriksvensson - I’m not yet familiar with Cake’s internal tool architecture, and it sounds like you have some ideas - mind posting a rough overview of what you’d expect this to look like?