]> source.dussan.org Git - aspectj.git/commitdiff
minimal (unverified) compiler adapter tests
authorwisberg <wisberg>
Wed, 9 Apr 2003 13:54:46 +0000 (13:54 +0000)
committerwisberg <wisberg>
Wed, 9 Apr 2003 13:54:46 +0000 (13:54 +0000)
taskdefs/testsrc/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapterTest.java [new file with mode: 0644]

diff --git a/taskdefs/testsrc/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapterTest.java b/taskdefs/testsrc/org/aspectj/tools/ant/taskdefs/Ajc11CompilerAdapterTest.java
new file mode 100644 (file)
index 0000000..0d8ea4d
--- /dev/null
@@ -0,0 +1,99 @@
+/* *******************************************************************
+ * Copyright (c) 2003 Contributors. 
+ * All rights reserved. 
+ * This program and the accompanying materials are made available 
+ * under the terms of the Common Public License v1.0 
+ * which accompanies this distribution and is available at 
+ * http://www.eclipse.org/legal/cpl-v10.html 
+ *  
+ * Contributors: 
+ *     Wes Isberg     initial implementation 
+ * ******************************************************************/
+
+package org.aspectj.tools.ant.taskdefs;
+
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.taskdefs.Javac;
+import org.apache.tools.ant.types.Path;
+import org.aspectj.util.FileUtil;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import junit.framework.TestCase;
+
+/**
+ * 
+ */
+public class Ajc11CompilerAdapterTest extends TestCase {
+    public static boolean LOGGING = false;
+    ArrayList tempFiles = new ArrayList();
+    
+    public Ajc11CompilerAdapterTest(String name) {
+        super(name);
+    }
+    
+    public void tearDown() {
+        for (Iterator iter = tempFiles.iterator(); iter.hasNext();) {
+            File file = (File) iter.next();
+            FileUtil.deleteContents(file);
+            file.delete();
+        }
+    }
+    
+//    public void testCompilerAdapterWithJavac() { // XXX requires tools.jar 
+//        Javac javac = getJavac(new Project());
+//        setupTracingJava(javac);
+//        javac.execute();
+//    }
+
+    public void testCompilerAdapterWithAjc() { // XXX unverified        
+        Project project = new Project();
+        String cname = Ajc11CompilerAdapter.class.getName();
+        project.setProperty("build.compiler", cname);
+        Javac javac = getJavac(project);
+        setupTracingJava(javac);
+        log("---- first compile...");
+        System.out.flush();
+        javac.execute();
+        log("---- second compile (none: nothing out of date?)...");
+        javac.execute(); 
+    }
+
+    public void testCompilerAdapterWithAjcRecursively() { // XXX unverified
+        Project project = new Project();
+        String cname = Ajc11CompilerAdapter.class.getName();
+        project.setProperty("build.compiler", cname);
+        project.setProperty("build.compiler.clean", "yes");
+        Javac javac = getJavac(project);
+        setupTracingJava(javac);
+        log("---- first compile...");
+        System.out.flush();
+        javac.execute();
+        log("---- second compile...");
+        System.out.flush();
+        javac.execute(); // expecting full recompile - pre-cleaned
+    }
+
+    Javac getJavac(Project project) {
+        Javac javac = new Javac();
+        javac.setProject(project);
+        File classesDir = FileUtil.getTempDir("Ajc11CompilerAdapterTest");
+        tempFiles.add(classesDir);
+        javac.setDestdir(classesDir);
+        javac.setVerbose(true);
+        return javac;
+    }
+    
+    void setupTracingJava(Javac javac) { // XXX assumes module dir, doc loc
+        String exDir = "../docs/dist/doc/examples"; 
+        javac.setSrcdir(new Path(javac.getProject(), exDir));
+        javac.setIncludes("tracing/*.java"); // XXX assumes tracing example
+    }
+    void log(String s) {
+        if (LOGGING) {
+            System.err.println(s);
+        }
+    }
+}