Index: src/test/java/org/codehaus/plexus/compiler/javac/JavacCompilerTest.java
===================================================================
--- src/test/java/org/codehaus/plexus/compiler/javac/JavacCompilerTest.java	(revision 3086)
+++ src/test/java/org/codehaus/plexus/compiler/javac/JavacCompilerTest.java	(working copy)
@@ -25,6 +25,7 @@
  */
 
 import org.codehaus.plexus.compiler.AbstractCompilerTest;
+import org.codehaus.plexus.compiler.Compiler;
 import org.codehaus.plexus.compiler.CompilerConfiguration;
 
 import java.io.File;
@@ -128,6 +129,38 @@
         internalTest( compilerConfiguration, expectedArguments );
     }
 
+    public void testCommandLineTooLongWhenForking() throws Exception
+    {
+        List expectedArguments = new ArrayList();
+
+        CompilerConfiguration compilerConfiguration = new CompilerConfiguration();
+
+        populateArguments( compilerConfiguration, expectedArguments, false, false );
+        
+        compilerConfiguration.setFork( true );
+
+        internalTest( compilerConfiguration, expectedArguments );
+
+        JavacCompiler compiler = (JavacCompiler) lookup( Compiler.ROLE, getRoleHint() );
+        
+        File destDir = new File( "target/test-classes-cmd" );
+        destDir.mkdirs();
+
+        /* fill the cmd line arguments, 300 is enough to make it break */
+        String[] args = new String[ 400 ];
+        args[0] = "-d";
+        args[1] = destDir.getAbsolutePath();
+        for ( int i = 2; i < args.length; i++ )
+        {
+            args[i] = "org/codehaus/foo/Person.java";
+        }
+        
+
+        List messages = compiler.compileOutOfProcess( new File( getBasedir() + "/src/test-input/src/main" ), "javac", args );
+
+        assertEquals( "There were errors launching the external compiler: " + messages, 0, messages.size() );
+    }
+
     private void populateArguments( CompilerConfiguration compilerConfiguration, List expectedArguments,
                                     boolean suppressSourceVersion, boolean suppressEncoding )
     {
