FitNesse explicitly fails the build, overriding the default Jenkins/Hudson behaviour to mark the build as unstable when a test fails (such as a junit unit or integration test).
This causes us some build process problems. We use post-build checks to run Sonar for static analysis. We want this to run if the build is unstable, but not broken, to get the most out of Sonar's trending information. In this way, we can adopt test-driven development with continuous code quality analysis. Unfortunately there is no satisfactory workaround to use FitNesse with Sonar as intended. We can configure Sonar to run even when the build is broken, but then we lose the benefit of the default configuration of Sonar for maven projects, and it is not the correct process either (it does not make sense to analyse broken code).
I see on github that mhoswell has forked the plugin and removed the getBuildResult() method override in class FitnesseResults. That would fix our problem. However, I am guessing that some users rely upon the current behaviour? Also, I see no evidence of a pull request.
My proposal is to provide an option to control whether or not the default Jenkins behaviour is overriden by FitNesse or not:
When FitNesse tests fail mark build as: (dropdown box failed|unstable)
I think unstable is expected behaviour and would prefer that as the default, but then existing users might prefer existing behaviour to be left alone! Would be interested to know what others think? I am happy to make the changes and put in a pull request.