The cppcheck plugin has a very confusing behaviour when it is configured to fail builds.
Set up a project such that the project builds fine on its own, but has a cppcheck error in it.
Configure the cppcheck-plugin threshold level to fail the build if there are more then 0 cppcheck "error" issues found.
Run the build.
Click on the cppcheck link.
You'll get the message "This plugin will not report cppcheck result until there is at least one success or unstable build."
You are prevented from seeing the cppcheck results which caused the failed build!
This gets even more confusing when there have been successful builds in the past. The results that are displayed are for the last successful build, even though the cppcheck plugin is the source of the build failure. This makes the build look like the latest changes haven't been picked up because the old source code is displayed.
Overall, this behaviour prevents you from seeing the source of the build failure, which is the latest cppcheck-plugin results. This makes it quite challenging to fix the source of the build failure because you can't see it from the the latest cppcheck build results. You have to drill into the specific build, then look at the cppcheck results.
The plugin needs to see if the build failure was because of a build step, or if the cppcheck plugin failed the build because of a cppcheck-plugin threshold being exceeded.
If the build failure is a result of the cppcheck-plugin threshold being exceeded, the cppcheck-plugin should show the latest cppcheck results so that the cppcheck failure can be investigated and corrected.