Various flavors of junit xml are supported today (maven/gradle/etc) but one very common schema can not be imported by circle.
Currently circleci only handles a subset of this schema and inconsistently imports test results when it encounters elements it isn't expecting.
Archiving the following test results
* /home/circleci/test-results/a4fa6610-e512-40fa-8f8c-050be7289598.xml
Failed uploading test results
Error File: home/circleci/test-results/a4fa6610-e512-40fa-8f8c-050be7289598.xml had the following problems:
* theNameOfSomeTest, invalid testcase element: rerunFailure
* invalid top level element: rerunFailure
* invalid top level element: rerunFailure
* invalid top level element: rerunFailure
* invalid top level end element: testcase
* theNameOfSomeOtherTest, invalid testcase element: rerunFailure
* invalid top level element: rerunFailure
(there were a further 15 problems.
Marathon for example outputs junit xml in this xunit style schema. https://marathonlabs.github.io/marathon/
It looks like the maven surefire plugin which CircleCi claims to support in the "Collecting test data" documentation will use similar xml outputs when necessary.
Gradle appears to use a slight variation of the surefire format when retries are enabled as well. They give a basic explanation to it in the docblocks of the reporter implementation code.