Buggy code:
public class BinaryFormsTestCase extends CommandTestCase { public BinaryFormsTestCase ( String name ) { } public void testJar1 ( ) throws IOException { List args = new ArrayList ( ) ; args . add ( "-outjar" ) ; args . add ( "out//lib.jar" ) ; args . add ( "-classpath" ) ; args . add ( AjcTests . aspectjrtClasspath ( ) ) ; args . add ( "-d" ) ; args . add ( "out" ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//lib//ConcreteA.aj" ) ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//lib//AbstractA.aj" ) ) ; CommandTestCase . runCompiler ( args , NO_ERRORS ) ; args = new ArrayList ( ) ; args . add ( "-aspectpath" ) ; args . add ( "out//lib.jar" ) ; args . add ( "-classpath" ) ; args . add ( AjcTests . aspectjrtClasspath ( ) ) ; args . add ( "-d" ) ; args . add ( "out" ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//client//Client.java" ) ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//client//Client1.java" ) ) ; CommandTestCase . runCompiler ( args , NO_ERRORS ) ; TestUtil . runMain ( ( ( "out" + ( File . pathSeparator ) ) + "out//lib.jar" ) , "client.Client" ) ; TestUtil . runMain ( ( ( "out" + ( File . pathSeparator ) ) + "out//lib.jar" ) , "client.Client1" ) ; args = new ArrayList ( ) ; args . add ( "-aspectpath" ) ; args . add ( "out//lib.jar" ) ; args . add ( "-classpath" ) ; args . add ( AjcTests . aspectjrtClasspath ( ) ) ; args . add ( "-d" ) ; args . add ( "out" ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//client//MyAspect.aj" ) ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//client//Client1.java" ) ) ; CommandTestCase . runCompiler ( args , NO_ERRORS ) ; TestUtil . runMain ( ( ( "out" + ( File . pathSeparator ) ) + "out//lib.jar" ) , "client.Client1" ) ; args = new ArrayList ( ) ; args . add ( "-aspectpath" ) ; args . add ( "out//lib.jar" ) ; args . add ( "-classpath" ) ; args . add ( AjcTests . aspectjrtClasspath ( ) ) ; args . add ( "-d" ) ; args . add ( "out" ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//client//MyAspect1.aj" ) ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//client//Client1.java" ) ) ; CommandTestCase . runCompiler ( args , new int [ ] { 24 , 30 } ) ; args = new ArrayList ( ) ; args . add ( "-classpath" ) ; <START_BUG> args . add ( AjcTests . aspectjrtClasspath ( ) ) ; <END_BUG> args . add ( "-d" ) ; args . add ( "out" ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//client//Client1.java" ) ) ; CommandTestCase . runCompiler ( args , new int [ ] { 15 , 17 , 22 } ) ; args = new ArrayList ( ) ; args . add ( "-classpath" ) ; args . add ( ( ( ( AjcTests . aspectjrtClasspath ( ) ) + ( File . pathSeparator ) ) + "out//lib.jar" ) ) ; args . add ( "-Xlint:error" ) ; args . add ( "-d" ) ; args . add ( "out" ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//client//MyAspect.aj" ) ) ; args . add ( ( ( AjdtAjcTests . TESTDATA_PATH ) + "//src1//binary//client//Client1.java" ) ) ; CommandTestCase . runCompiler ( args , NO_ERRORS ) ; } }

Fix:
args . add ( ( ( "out//lib.jar" + ( File . pathSeparator ) ) + ( AjcTests . aspectjrtClasspath ( ) ) ) ) ;