Instrumentation fails on windows due to command line arg length.
----------------------------------------------------------------

         Key: MPJCOVERAGE-28
         URL: http://jira.codehaus.org/browse/MPJCOVERAGE-28
     Project: maven-jcoverage-plugin
        Type: Bug
    Versions: 1.0.9    
 Environment: Windows XP Professional Version 2002, SP 2, Java 1.4.1, Maven 
1.02, Pentium IV 2.26 GHZ, 1 GB Ram
    Reporter: Achim Westermann
 Assigned to: Emmanuel Venisse 


When starting with a clean project jcoverage fails when compiling the test 
classes to it's maven.jcoverage.dir with tons of "cannot resolve symbol" 
errors. 

The underlying error has already happend before. Instrumentation failed: 

    [instrument] [ERROR] java.io.IOException: CreateProcess: 
C:\j2sdk1.4.1\jre\bin\java.exe -classpath "C:\Dokumente und 
Einstellungen\westermann\.maven\repository\jcoverage\jars\jcoverage-1.0.5.jar;C:\Dokumente
 und 
Einstellungen\westermann\.maven\repository\bcel\jars\bcel-5.1.jar;C:\Dokumente 
und 
Einstellungen\westermann\.maven\repository\urbanophile\jars\java-getopt-1.0.9.jar;C:\Dokumente
 und 
Einstellungen\westermann\.maven\repository\log4j\jars\log4j-1.2.8.jar;C:\Dokumente
 und 
Einstellungen\westermann\.maven\repository\oro\jars\oro-2.0.7.jar;C:\Dokumente 
und 
Einstellungen\westermann\.maven\repository\junit\jars\junit-3.8.1.jar;C:\Dokumente
 und 
Einstellungen\westermann\.maven\repository\xerces\jars\xercesImpl-2.6.2.jar;C:\Dokumente
 und 
Einstellungen\westermann\.maven\repository\xerces\jars\xmlParserAPIs-2.2.1.jar" 
com.jcoverage.coverage.Instrument -d C:\build\jcoverage\classes -basedir 
C:\build\classes org\opencms\workplace\CmsWorkplace.class 
org\opencms\main\CmsRuntimeException.class 
org\opencms\file\TestSiblings$1.class com\opencms\workplace\CmsRepla?

This leads to the fact that the classes required by the test sources which 
should be the instrumented ones are not in maven.jcoverage.dir thus missing 
from jcoverage classpath. 


Occurrance: 

Only on Windows, not on RH Linux 7.3.

Assumption: 

On Windows the maximum command line length is exceeded. I have experienced 
similar behaviour in build-systems with makefile before. Look at the trainling 
'?' -> The argument seems to have been truncated. The error hits back to the 
current process at the process creation for the instrumentation task. 

Suggestion: 

A) Perhaps use files for the arguments and a new -file argument to the 
com.jcoverage.coverage.Instrument 
   class. Or lay open the underlying fork argument of the ANT javac task: 
Without forking this would not 
   happen. The fallback could be possible memory problems. 

B) Fail the goal immediately when instrumentation fails. Errors that result are 
hard to find. 

Thanks for jcoverage, 

Achim

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to