The description of this issue is simple and I thought the solution would be simple as well, but unfortunately it requires a lot of work. First, we can break the problem in 3 parts:
1.Deciding the new layout
2.Adding the server name in the XMLs
3.Change cactus.jsl to display the server name
The first part is what you called "clarify the test names with the server, group the
test results by server, or perhaps produce a separate report by server". I'm afraid we won't have the option to choose here - we might have to choose the option less impossible to implement.
For the second part we have 3 options:
2.1 add a server attribute on each individual junit xml (on the <testsuite> element). I haven't figured out how to do it, but I think it would require changing the Cactus Ant taks (and if that's the case, it might be better to wait for the Cargo integration before doing the change)
2.2 add a new element one level above the <testsuite> element (for instance, <server name="xxxx">). This is hard, as the XML is generated by the junitreport Ant task (so we would need to hack that class)
2.3 create a TESTS-TestSuites-Cactus.xml for each server (instead of consolidating everything in just one). This is also tough, as it would require a full refactoring in the report (at least it would allow the options that group by reports)
There is also another problem with the 2nd part: how to name the servers. I think the easiest way is to add a new property for each server, with a default value. For instance:
Finally, the third part will depend on the previous 2.
So, it looks to me that 2.2 is the easiest way. I changed cactus.jsl and manually modified the TESTS-TestSuites-Cactus.xml and it worked fine (see attachment). I still need to figure it out how to change the <testsutite> element automatically though.