
| Key: |
CIB-799
|
| Type: |
Bug
|
| Status: |
Resolved
|
| Resolution: |
Fixed
|
| Priority: |
Major
|
| Assignee: |
jason
|
| Reporter: |
Paul Redmond
|
| Votes: |
0
|
| Watchers: |
0
|
|
If you were logged in you would be able to see more operations.
|
|
|
Pulse
Created: 02/Dec/06 01:11 AM
Updated: 02/Dec/06 02:09 AM
|
|
| Component/s: |
Build core
|
| Affects Version/s: |
1.2.6
|
| Fix Version/s: |
1.2.7
|
|
|
I'm getting an error parsing my cppunit test results in 1.2.6.
I've narrowed the problem down to files I generate when a test generates an empty xml file. I did this because of the issue Pulse had parsing incomplete xml files. If I don't generate these files and let Pulse warn about unexpected end of file everything works as expected.
I've found a work-around but I think it's still worth investigating what's causing this error.
---
Here's the place-holder xml I generated:
<?xml version="1.0" encoding='ISO-8859-1' standalone='yes' ?>
<TestRun>
<FailedTests>
<FailedTest id="1">
<Name>build/test/cppunit/programs/binding::all</Name>
<FailureType>Error</FailureType>
<Location>
<File></File>
<Line></Line>
</Location>
<Message>Actual cppunit test results not produced!</Message>
</FailedTest>
</FailedTests>
<SuccessfulTests></SuccessfulTests>
<Statistics>
<Tests>1</Tests>
<FailuresTotal>1</FailuresTotal>
<Errors>1</Errors>
<Failures>0</Failures>
</Statistics>
</TestRun>
SEVERE: This node has no children
java.lang.IndexOutOfBoundsException: This node has no children
at nu.xom.ParentNode.getChild(Unknown Source)
at com.zutubi.pulse.core.XMLReportPostProcessor.getText(XMLReportPostProcessor.java:64)
at com.zutubi.pulse.core.CppUnitReportPostProcessor.getMessage(CppUnitReportPostProcessor.java:171)
at com.zutubi.pulse.core.CppUnitReportPostProcessor.processFailedTests(CppUnitReportPostProcessor.java:72)
at com.zutubi.pulse.core.CppUnitReportPostProcessor.processDocument(CppUnitReportPostProcessor.java:50)
at com.zutubi.pulse.core.XMLReportPostProcessor.internalProcess(XMLReportPostProcessor.java:35)
at com.zutubi.pulse.core.TestReportPostProcessor.process(TestReportPostProcessor.java:37)
at com.zutubi.pulse.core.Artifact.captureFile(Artifact.java:152)
at com.zutubi.pulse.core.DirectoryArtifact.capture(DirectoryArtifact.java:119)
at com.zutubi.pulse.core.CommandGroup.execute(CommandGroup.java:74)
at com.zutubi.pulse.core.RecipeProcessor.executeCommand(RecipeProcessor.java:209)
at com.zutubi.pulse.core.RecipeProcessor.build(RecipeProcessor.java:157)
at com.zutubi.pulse.core.RecipeProcessor.build(RecipeProcessor.java:100)
at com.zutubi.pulse.slave.SlaveRecipeProcessor.processRecipe(SlaveRecipeProcessor.java:73)
at com.zutubi.pulse.slave.command.RecipeCommand.run(RecipeCommand.java:30)
at com.zutubi.pulse.slave.ErrorHandlingRunnable.run(ErrorHandlingRunnable.java:36)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
|
|
Description
|
I'm getting an error parsing my cppunit test results in 1.2.6.
I've narrowed the problem down to files I generate when a test generates an empty xml file. I did this because of the issue Pulse had parsing incomplete xml files. If I don't generate these files and let Pulse warn about unexpected end of file everything works as expected.
I've found a work-around but I think it's still worth investigating what's causing this error.
---
Here's the place-holder xml I generated:
<?xml version="1.0" encoding='ISO-8859-1' standalone='yes' ?>
<TestRun>
<FailedTests>
<FailedTest id="1">
<Name>build/test/cppunit/programs/binding::all</Name>
<FailureType>Error</FailureType>
<Location>
<File></File>
<Line></Line>
</Location>
<Message>Actual cppunit test results not produced!</Message>
</FailedTest>
</FailedTests>
<SuccessfulTests></SuccessfulTests>
<Statistics>
<Tests>1</Tests>
<FailuresTotal>1</FailuresTotal>
<Errors>1</Errors>
<Failures>0</Failures>
</Statistics>
</TestRun>
SEVERE: This node has no children
java.lang.IndexOutOfBoundsException: This node has no children
at nu.xom.ParentNode.getChild(Unknown Source)
at com.zutubi.pulse.core.XMLReportPostProcessor.getText(XMLReportPostProcessor.java:64)
at com.zutubi.pulse.core.CppUnitReportPostProcessor.getMessage(CppUnitReportPostProcessor.java:171)
at com.zutubi.pulse.core.CppUnitReportPostProcessor.processFailedTests(CppUnitReportPostProcessor.java:72)
at com.zutubi.pulse.core.CppUnitReportPostProcessor.processDocument(CppUnitReportPostProcessor.java:50)
at com.zutubi.pulse.core.XMLReportPostProcessor.internalProcess(XMLReportPostProcessor.java:35)
at com.zutubi.pulse.core.TestReportPostProcessor.process(TestReportPostProcessor.java:37)
at com.zutubi.pulse.core.Artifact.captureFile(Artifact.java:152)
at com.zutubi.pulse.core.DirectoryArtifact.capture(DirectoryArtifact.java:119)
at com.zutubi.pulse.core.CommandGroup.execute(CommandGroup.java:74)
at com.zutubi.pulse.core.RecipeProcessor.executeCommand(RecipeProcessor.java:209)
at com.zutubi.pulse.core.RecipeProcessor.build(RecipeProcessor.java:157)
at com.zutubi.pulse.core.RecipeProcessor.build(RecipeProcessor.java:100)
at com.zutubi.pulse.slave.SlaveRecipeProcessor.processRecipe(SlaveRecipeProcessor.java:73)
at com.zutubi.pulse.slave.command.RecipeCommand.run(RecipeCommand.java:30)
at com.zutubi.pulse.slave.ErrorHandlingRunnable.run(ErrorHandlingRunnable.java:36)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
|
Show » |
|