
| Key: |
CC-515
|
| Type: |
Bug
|
| Status: |
Open
|
| Priority: |
Critical
|
| Assignee: |
Unassigned
|
| Reporter: |
Andy O
|
| Votes: |
0
|
| Watchers: |
2
|
|
If you were logged in you would be able to see more operations.
|
|
|
|
Original Estimate:
|
Unknown
|
Remaining Estimate:
|
Unknown
|
Time Spent:
|
Unknown
|
|
Environment:
|
Windows Server 2003, JDK 1.5, VMWare virtual machine
|
|
|
We have a build that executes a JUnit task as such:
<junit
reloading="true"
printsummary="yes"
haltonfailure="no"
showoutput="yes">
<jvmarg value="-Djava.util.logging.config.file=${junit.logging.properties}"/>
<jvmarg value="-Demma.coverage.out.file=${tmp}/coverage.emma"/>
<jvmarg value="-Demma.coverage.out.merge=true"/>
<syspropertyset>
<propertyref builtin="all"/>
</syspropertyset>
<classpath>
<path refid="junit.run.classpath"/>
</classpath>
<formatter type="xml"/>
<batchtest fork="yes" todir="${tmp}">
<fileset dir="${src.test}">
<include name="**/Test*.java"/>
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
Everything runs fine outside of CruiseControl. However, when we run inside of CruiseControl, all of our JUnits fail, in fact, the JVM never starts the JUnit runner because of NoClassDefFound error "<some time>" If we remove the <syspropertyset> (which we really do need) then the tests run fine. It is the combination of <syspropertyset> and running in CruiseControl.
We've investigated this further and found that the culprit is cvstimestamp which gets passed in as "-Dcvstimestamp=some time with spaces" Important to note is that it does have the quotes around it because the CommandLine class looks for arguments with spaces in them an quotes the whole arguement (which seems wrong...shouldn't it be -Dname="parameter with spaces" or something?). If we remove cvstimestamp from the build properties in Project.java and try it, our build works flawlessly.
This issue actually doesn't occur on people running CruiseControl on a Unix box.
We think either 1 of 2 solutions would be nice.
1) The simplest solution right now seems to make cvstimestamp an optional parameter that gets passed in. It is Source Control System specific. We use SVN and have no use for this property.
2) Fix the way properties with spaces get passed into Ant Scripts.
Thanks
Andy O
|
|
Description
|
We have a build that executes a JUnit task as such:
<junit
reloading="true"
printsummary="yes"
haltonfailure="no"
showoutput="yes">
<jvmarg value="-Djava.util.logging.config.file=${junit.logging.properties}"/>
<jvmarg value="-Demma.coverage.out.file=${tmp}/coverage.emma"/>
<jvmarg value="-Demma.coverage.out.merge=true"/>
<syspropertyset>
<propertyref builtin="all"/>
</syspropertyset>
<classpath>
<path refid="junit.run.classpath"/>
</classpath>
<formatter type="xml"/>
<batchtest fork="yes" todir="${tmp}">
<fileset dir="${src.test}">
<include name="**/Test*.java"/>
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
Everything runs fine outside of CruiseControl. However, when we run inside of CruiseControl, all of our JUnits fail, in fact, the JVM never starts the JUnit runner because of NoClassDefFound error "<some time>" If we remove the <syspropertyset> (which we really do need) then the tests run fine. It is the combination of <syspropertyset> and running in CruiseControl.
We've investigated this further and found that the culprit is cvstimestamp which gets passed in as "-Dcvstimestamp=some time with spaces" Important to note is that it does have the quotes around it because the CommandLine class looks for arguments with spaces in them an quotes the whole arguement (which seems wrong...shouldn't it be -Dname="parameter with spaces" or something?). If we remove cvstimestamp from the build properties in Project.java and try it, our build works flawlessly.
This issue actually doesn't occur on people running CruiseControl on a Unix box.
We think either 1 of 2 solutions would be nice.
1) The simplest solution right now seems to make cvstimestamp an optional parameter that gets passed in. It is Source Control System specific. We use SVN and have no use for this property.
2) Fix the way properties with spaces get passed into Ant Scripts.
Thanks
Andy O |
Show » |
|
still, if somone can submit an alternative quoting strategy that solve the problem I'd be happy to commit it.