]> source.dussan.org Git - aspectj.git/commitdiff
improved test harnesses for working with runtime
authorAndy Clement <aclement@pivotal.io>
Tue, 19 Feb 2019 20:07:48 +0000 (12:07 -0800)
committerAndy Clement <aclement@pivotal.io>
Tue, 19 Feb 2019 20:07:48 +0000 (12:07 -0800)
org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjcTestCase.java
testing-util/src/main/java/org/aspectj/testing/util/TestUtil.java
testing/src/test/java/org/aspectj/testing/CompileSpec.java

index e102bd35146329a30bff78dac602f532260b8bf1..eca751182329e6022f5c036974ecfd3887cc6ef1 100644 (file)
@@ -670,6 +670,9 @@ public abstract class AjcTestCase extends TestCase {
                                vmargs ="";
                        }
                        try {
+                               if (mp.indexOf("$runtimemodule") != -1) {
+                                       mp = mp.replace(mp.indexOf("$runtimemodule"),"$runtimemodule".length(),TestUtil.aspectjrtPath(true).toString());
+                               }
                                if (mp.indexOf("$runtime") != -1) {
                                        mp = mp.replace(mp.indexOf("$runtime"),"$runtime".length(),TestUtil.aspectjrtPath().toString());
                                }
@@ -930,7 +933,7 @@ public abstract class AjcTestCase extends TestCase {
         if (-1 == cpIndex) {
                 String[] newargs = new String[args.length + 2];
                 newargs[0] = "-classpath";
-                newargs[1] = TestUtil.aspectjrtPath().getPath();
+                newargs[1] = TestUtil.aspectjrtPath(false).getPath();
                 System.arraycopy(args, 0, newargs, 2, args.length);
                 args = newargs;
                 cpIndex = 1;
index d35f9989618ebe56426b9f7f4626000f64c3d1c4..654efd8c4df5dc42d3fbfbebced0cdaf5be5cff1 100644 (file)
@@ -72,13 +72,16 @@ public final class TestUtil {
        private static final Properties LIB_RPATHS;
        private static final Map LIB_ENTRIES;
        private static File ASPECTJRT_PATH;
+       private static File ASPECTJRTJAR_PATH;
        static {
                {
-                       String[] paths = { "sp:aspectjrt.path", "sp:aspectjrt.jar"
-                                       ,"../lib/test/aspectjrt.jar", "../runtime/target/classes"
-//                                     ,"../aj-build/jars/aspectj5rt-all.jar", "../aj-build/jars/runtime.jar", "../runtime/bin"
-                                       };
+                       String[] paths = {
+                                       "sp:aspectjrt.path",
+                                       "sp:aspectjrt.jar",
+                                       "../runtime/target/classes",
+                                       "../lib/test/aspectjrt.jar"};
                        ASPECTJRT_PATH = FileUtil.getBestFile(paths);
+                       ASPECTJRTJAR_PATH = FileUtil.getBestFile(paths, true);
                }
                {
                        boolean j5 = false;
@@ -159,6 +162,15 @@ public final class TestUtil {
                return ASPECTJRT_PATH;
        }
 
+       // needsJar for module packaged runtime
+       public static File aspectjrtPath(boolean needsJar) {
+               if (needsJar) {
+                       return ASPECTJRTJAR_PATH;
+               } else {
+                       return ASPECTJRT_PATH;
+               }
+       }
+
        public static URL fileToURL(File file) {
                try {
                        return file.toURL();
index 22570e3d168610b71cda37fc7b7d11ea59676402..97cba2bc5fecf06df1162d600c6136a4250ae6f7 100644 (file)
@@ -303,6 +303,7 @@ public class CompileSpec implements ITestStep {
        }
        
        private String rewrite(String path) {
+               path = path.replace("$runtimemodule", TestUtil.aspectjrtPath(true).toString());
                path = path.replace("$runtime", TestUtil.aspectjrtPath().toString());
                return path;
        }