We use gradle build and have setIgnoreFailures set to true. We have test dashboard with aggregated embedded of multiple test results graphs for different products.
We have few thousands tests and it sometimes occurs that build is not created, for any reason.
For example some external xml schemas were not available during the build time, or build causes out of memory, or someone committed code which is not compiling. Another example which occurs last time. Someone has committed code which didn't close files. Tests opened so many files. We are doing some conversion of testNG xml reports at the end of test suite and then pass it to jenkins testng plugin. There were opened so many files, which causes that it was unable to create test XML report and the build was failed.
The purpose of this change is to know the state of tests even if build was not prepared for any reason. If someone asked about nightly tests result, I can say from the graph that we have no test result, because something goes wrong with the build.
Why does the build fail? If this is a maven build, use "-Dmaven.test.failure.ignore=true" to ensure that the build is not marked as failed even on test failures. This way you'll correctly see that the build is unstable.