It's all about the answers!

Ask a question

mstestLogPublisher not working for VS2010 version trx file?


Xiaoning Dou (653) | asked Oct 22 '10, 4:52 p.m.
The mstestLogPublisher we have been using for publishing MSTest results stopped working after we upgraded our Visual Studio to 2010. It was working fine for 2008.

After reading MSTestParser class in the build toolkit, my understanding is it is looking for <TestRunConfiguration> tag to get the fTestSuiteName, which is what's broken for VS2010. In VS2010 version of trx file, seems the tag has changed to <Configuration>.

Anyone else can confirm this same problem? Is there any plan to address this in a later version?

Here is the error call stack:
java.lang.IllegalArgumentException: The parameter "testSuiteName" must not be null.
at com.ibm.team.build.internal.common.helper.ValidationHelper.validateNotEmpty(ValidationHelper.java:128)
at com.ibm.team.build.internal.parser.data.JUnitParserTestSuiteData.<init>(JUnitParserTestSuiteData.java:95)
at com.ibm.team.build.internal.toolkit.mstest.MSTestParser.endDocument(MSTestParser.java:207)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.ibm.team.build.internal.toolkit.unit.UnitParser.parse(UnitParser.java:54)
at com.ibm.team.build.internal.toolkit.mstest.MSTestParser.parse(MSTestParser.java:89)
at com.ibm.team.build.internal.toolkit.unit.UnitLogParser.parse(UnitLogParser.java:77)
at com.ibm.team.build.internal.toolkit.unit.UnitLogParser.parse(UnitLogParser.java:66)
at com.ibm.team.build.internal.toolkit.unit.UnitLogPublisher.publishFile(UnitLogPublisher.java:223)
at com.ibm.team.build.internal.toolkit.unit.UnitLogPublisher.publish(UnitLogPublisher.java:181)
at com.ibm.team.build.ant.task.UnitLogPublisherTask.updateBuildResult(UnitLogPublisherTask.java:131)
at com.ibm.team.build.ant.task.AbstractPublisherTask.doExecute(AbstractPublisherTask.java:107)
at com.ibm.team.build.ant.task.AbstractTeamBuildTask.execute(AbstractTeamBuildTask.java:433)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:62)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:391)
at net.sf.antcontrib.logic.ForTask.doSequentialIteration(ForTask.java:259)
at net.sf.antcontrib.logic.ForTask.doToken(ForTask.java:268)
at net.sf.antcontrib.logic.ForTask.doTheTasks(ForTask.java:324)
at net.sf.antcontrib.logic.ForTask.execute(ForTask.java:244)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
at org.apache.tools.ant.Main.runBuild(Main.java:698)
at org.apache.tools.ant.Main.startAnt(Main.java:199)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

One answer



permanent link
Nick Edgar (6.5k711) | answered Oct 25 '10, 9:47 a.m.
JAZZ DEVELOPER
You are correct - our parser doesn't currently handle the case when the <TestRunConfiguration> element is missing, and the format has changed in VS2010 in a way that's not backwards-compatible.

We're tracking this in item 128914: MSTest parse fails on VS2010 and have a fix in for RTC 3.0. We plan to backport it to 2.0.0.2 iFix 6 -- see 138030: Backport 128914 (MSTest parse fails on VS2010) to 2.x.

See comment 14 in the first item for a workaround.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.