test-with-junit: Fail build when there are both passing and failing test suites

This fixes a case where `test-with-junit` would not fail the build if there were both test suites with and without failures.

The build would pass even if there were failures, depending on the execution order of the test suites.

This also adds code that outputs the test results and whether or not there were any failures.