I've recently worked on having automated tests output service messages so that Team City is able to understand and display the tests' results.
To do this, I've added a command line build step that runs perl tests using a formatter that outputs Team City service messages (http://search.cpan.org/~thaljef/TAP-Formatter-TeamCity-0.04/).
What I've discovered is that whenever a test name holds a colon (:), Team City apparently gets confused about the test's name and suite it ran in.
It's as if any text before the colon is removed from the test's name and ends up in the testcase's name instead.
For example, here are messages printed (all on stdout) by a build step of a simple test suite:
##teamcity[testStarted captureStandardOutput='true' name='One is one.']
##teamcity[testFinished name='One is one.']
##teamcity[testStarted captureStandardOutput='true' name='Two: is 2.']
##teamcity[testFinished name='Two: is 2.']
##teamcity[testStarted captureStandardOutput='true' name='Three is: 3.']
##teamcity[testFinished name='Three is: 3.']
All tests successful.
Files=1, Tests=3, 0 wallclock secs ( 0.11 usr 0.02 sys + 0.08 cusr 0.01 csys = 0.22 CPU)
With these messages, here's how Team City interprets the information:
You can see visually in the attached screenshot how the information is displayed.
This has been seen in TC 6.0.1 build 15861.
Are there any possible workarounds or fixes in later version?
Attachment(s):Screenshot - TeamCity test names bug.png