]> source.dussan.org Git - aspectj.git/commitdiff
148190#32
authoraclement <aclement>
Mon, 15 Jan 2007 08:44:45 +0000 (08:44 +0000)
committeraclement <aclement>
Mon, 15 Jan 2007 08:44:45 +0000 (08:44 +0000)
31 files changed:
ajde/testsrc/org/aspectj/ajde/AjdeModuleTests.java
ajde/testsrc/org/aspectj/ajde/AjdeTestCase.java
ajde/testsrc/org/aspectj/ajde/AjdeTests.java
ajde/testsrc/org/aspectj/ajde/AsmDeclarationsTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/AsmRelationshipsTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/BuildCancellingTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/BuildConfigurationTests.java [deleted file]
ajde/testsrc/org/aspectj/ajde/BuildOptionsTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/CompilerMessagesTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/DuplicateManifestTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/GenericsTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/InpathTestcase.java [deleted file]
ajde/testsrc/org/aspectj/ajde/JarManifestTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/ModelPerformanceTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/NullIdeEditorAdapter.java [deleted file]
ajde/testsrc/org/aspectj/ajde/NullIdeErrorHandler.java [deleted file]
ajde/testsrc/org/aspectj/ajde/NullIdeManager.java [deleted file]
ajde/testsrc/org/aspectj/ajde/NullIdeProgressMonitor.java [deleted file]
ajde/testsrc/org/aspectj/ajde/NullIdeProperties.java [deleted file]
ajde/testsrc/org/aspectj/ajde/NullIdeTaskListManager.java [deleted file]
ajde/testsrc/org/aspectj/ajde/NullIdeUIAdapter.java [deleted file]
ajde/testsrc/org/aspectj/ajde/OutxmlTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/ResourceCopyTestCase.java [deleted file]
ajde/testsrc/org/aspectj/ajde/ReweavableTestCase.java [deleted file]
ajde/testsrc/org/aspectj/ajde/SavedModelConsistencyTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/ShowWeaveMessagesTestCase.java [deleted file]
ajde/testsrc/org/aspectj/ajde/SimpleStructureModelTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/StructureModelRegressionTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/StructureModelTest.java [deleted file]
ajde/testsrc/org/aspectj/ajde/TestBuildListener.java [deleted file]
ajde/testsrc/org/aspectj/ajde/VersionTest.java [deleted file]

index 6a243c62b5eb9e28b2a4812dd85696ca736e6193..b6a1daa55e62ded1558bddb5d09105febc7f4b82 100644 (file)
@@ -1,4 +1,3 @@
-package org.aspectj.ajde;
 /* *******************************************************************
  * Copyright (c) 1999-2001 Xerox Corporation, 
  *               2002 Palo Alto Research Center, Incorporated (PARC).
@@ -11,9 +10,7 @@ package org.aspectj.ajde;
  * Contributors: 
  *     Xerox/PARC     initial implementation 
  * ******************************************************************/
-
-
-// default package
+package org.aspectj.ajde;
 
 import junit.framework.*;
 
@@ -22,8 +19,6 @@ public class AjdeModuleTests extends TestCase {
     public static TestSuite suite() { 
         TestSuite suite = new TestSuite(AjdeModuleTests.class.getName());
         suite.addTest(org.aspectj.ajde.AjdeTests.suite()); 
-        suite.addTest(org.aspectj.ajde.internal.AjdeInternalTests.suite()); 
-        suite.addTest(org.aspectj.ajde.ui.AjdeUiTests.suite()); 
         return suite;
     }
 
index 60073f400e6d9dfc998eed6b5a53ba8f81a6afd7..b6d9cf02c409b335b8f58632641278b4d7b59933 100644 (file)
-/* *******************************************************************
+/********************************************************************
  * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
  * All rights reserved. 
  * This program and the accompanying materials are made available 
  * under the terms of the Eclipse Public License v1.0 
  * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
+ * http://eclipse.org/legal/epl-v10.html 
  *  
  * Contributors: 
- *     Xerox/PARC     initial implementation 
- * ******************************************************************/
-
-
+ *      Xerox/PARC     initial implementation
+ *             Helen Hawkins  Converted to new interface (bug 148190) and
+ *                     to use a sandbox directory
+ *******************************************************************/
 package org.aspectj.ajde;
 
-import java.io.*;
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
 
-import org.aspectj.asm.AsmManager;
+import javax.swing.JFrame;
 
+import junit.framework.AssertionFailedError;
 import junit.framework.TestCase;
 
-public class AjdeTestCase extends TestCase {
-
-//     private static final String TEST_DATA_PATH = AjdeTests.testDataPath(null);
+import org.aspectj.ajde.Ajde;
+import org.aspectj.ajde.IconRegistry;
+import org.aspectj.ajde.core.AjCompiler;
+import org.aspectj.ajde.ui.utils.TestBuildProgressMonitor;
+import org.aspectj.ajde.ui.utils.TestCompilerConfiguration;
+import org.aspectj.ajde.ui.utils.TestEditorAdapter;
+import org.aspectj.ajde.ui.utils.TestIdeUIAdapter;
+import org.aspectj.ajde.ui.utils.TestMessageHandler;
+import org.aspectj.ajde.ui.utils.TestRuntimeProperties;
+import org.aspectj.asm.AsmManager;
+import org.aspectj.tools.ajc.Ajc;
 
-       protected NullIdeManager ideManager = NullIdeManager.getIdeManager();
-       protected TestBuildListener testerBuildListener = new TestBuildListener();
-       protected String currTestDataPath;
+public class AjdeTestCase extends TestCase {
 
-       public AjdeTestCase() {
-               super("");
-       }
+    public final static String testdataSrcDir = "../ajde/testdata";
+       protected static File sandboxDir;
        
-       public AjdeTestCase(String name) {
-               super(name);
-       }
-    public void testEmptyAddedForAntJUnit() {}
-
-       protected File openFile(String path) {
-               return new File(currTestDataPath + File.separatorChar + path);
-       }
-
-       /**
-        * Waits on the build complete.
-        */
-       protected boolean doSynchronousBuild(String configFilePath) {
-               testerBuildListener.reset();
-               File configFile = openFile(configFilePath);
-               Ajde.getDefault().getBuildManager().build(configFile.getAbsolutePath());
-               while(!testerBuildListener.getBuildFinished()) {
-                       try {
-                               Thread.sleep(300);
-                       } catch (InterruptedException ie) { } 
-               }       
-               return testerBuildListener.getBuildSucceeded();
-       }       
-
-       protected void setUp(String testDataPath) throws Exception {
-               currTestDataPath = AjdeTests.testDataPath(testDataPath);
+       private String projectDir;
+    
+       protected void setUp() throws Exception {
+               super.setUp();
+               // Create a sandbox in which to work
+               sandboxDir = Ajc.createEmptySandbox();
                // AMC - added this next line as a temporary workaround for 
                // listener leakage in AsmManager induced by the Ajde test suite.
                AsmManager.getDefault().removeAllListeners();
-               ideManager.init(currTestDataPath);
-               super.setUp();
-               assertTrue(NullIdeManager.getIdeManager().isInitialized()); 
-               Ajde.getDefault().getBuildManager().addListener(testerBuildListener);
        }
-    
+       
        protected void tearDown() throws Exception {
                super.tearDown();
+               projectDir = null;
+               sandboxDir = null;
+       }
+       
+       /**
+        * Fill in the working directory with the project files and
+        * creates a compiler instance for this project
+        */
+       public void initialiseProject(String projectName) {
+               
+               // need to initialize via AjdeUIManager
+               Ajde.getDefault().init(
+                               new TestCompilerConfiguration(projectName), 
+                               new TestMessageHandler(), 
+                               new TestBuildProgressMonitor(), 
+                               new TestEditorAdapter(), 
+                               new TestIdeUIAdapter(), 
+                               new IconRegistry(), 
+                               new JFrame(), 
+                               new TestRuntimeProperties(), 
+                               true);
+               
+               File projectSrc=new File(testdataSrcDir + File.separatorChar + projectName);
+               File destination=new File(getWorkingDir(),projectName);
+               if (!destination.exists()) {destination.mkdir();}
+               copy(projectSrc,destination);
+               projectDir = destination.getAbsolutePath();
+               
+//             compiler = new AjCompiler(
+//                             projectDir,
+//                             new TestCompilerConfiguration(projectDir),
+//                             new TestBuildProgressMonitor(),
+//                             new TestMessageHandler()); 
+       }
+       
+       /**
+        * @return the working directory
+        */
+       protected File getWorkingDir() { 
+               return sandboxDir; 
+       }
+       
+       /**
+        * @return the absolute path of the project directory
+        * for example c:\temp\ajcSandbox\ajcTest15200.tmp\myProject
+        */
+       protected String getAbsoluteProjectDir() {
+               return projectDir;
+       }
+       
+       /**
+        * Copy the contents of some directory to another location - the
+        * copy is recursive.
+        */
+       private void copy(File from, File to) {
+               String contents[] = from.list();
+               if (contents==null) return;
+               for (int i = 0; i < contents.length; i++) {
+                       String string = contents[i];
+                       File f = new File(from,string);
+                       File t = new File(to,string);
+                       
+                       if (f.isDirectory()) {
+                               t.mkdir();
+                               copy(f,t);
+                       } else if (f.isFile()) {
+                               try {
+                                       org.aspectj.util.FileUtil.copyFile(f,t);
+                               } catch (IOException e) {
+                                       throw new AssertionFailedError("Unable to copy " + f + " to " + t);
+                               }
+                       } 
+               }
+       }
+       
+       protected File openFile(String path) {
+               return new File(projectDir + File.separatorChar + path);
+       }
+       
+       public void doBuild(String configFile) {
+               getCompilerForConfigFileWithName(configFile).build();
+       }
+       
+       public AjCompiler getCompilerForConfigFileWithName(String configFileName) {
+               return Ajde.getDefault().getCompilerForConfigFile(projectDir + File.separator + configFileName);
        }
 
+       public List getErrorMessages(String configFileName) {
+               return ((TestMessageHandler)getCompilerForConfigFileWithName(configFileName).getMessageHandler()).getErrors();
+       }
+       
+       public List getMessages(String configFileName) {
+               return ((TestMessageHandler)getCompilerForConfigFileWithName(configFileName).getMessageHandler()).getMessages();
+       }
+       
     protected String genStructureModelExternFilePath(String configFilePath) {
         return configFilePath.substring(0, configFilePath.lastIndexOf(".lst")) + ".ajsym";
     }
-
 }
index 2c3fcc04587eac3b1f22ecd98453a13588306d0a..c48b9d2fe4437fcc236dafc164874615191611fd 100644 (file)
@@ -9,58 +9,31 @@
  *  
  * Contributors: 
  *     Xerox/PARC     initial implementation 
+ *     Helen Hawkins  updated for bug 148190
  * ******************************************************************/
-
-
 package org.aspectj.ajde;
 
-import java.io.File;
-
-import org.aspectj.util.FileUtil;
+import org.aspectj.ajde.internal.AspectJBuildManagerTest;
+import org.aspectj.ajde.internal.LstBuildConfigManagerTest;
+import org.aspectj.ajde.ui.StructureSearchManagerTest;
+import org.aspectj.ajde.ui.StructureViewManagerTest;
 
-import junit.framework.*;
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
  
 public class AjdeTests extends TestCase {
 
-    // TODO-path
-    private static final File TESTDATA_PATH;
-    static {
-        String[] paths = { "../ajde/testdata" };
-        TESTDATA_PATH  = FileUtil.getBestFile(paths);
-    }
-    public static String testDataPath(String file) {
-        if (null == file) {
-            return TESTDATA_PATH.getPath();
-        }
-        File f = new File(TESTDATA_PATH, file);
-        f = FileUtil.getBestFile(f);
-        return (null == f ? "" : f.getPath());
-    }
-
     public static Test suite() { 
         TestSuite suite = new TestSuite(AjdeTests.class.getName());
         //$JUnit-BEGIN$
         suite.addTestSuite(SymbolFileGenerationTest.class);
-        suite.addTestSuite(ShowWeaveMessagesTestCase.class);
-               suite.addTestSuite(DuplicateManifestTest.class);
-               suite.addTestSuite(BuildOptionsTest.class); 
-        suite.addTestSuite(BuildConfigurationTests.class);
-        suite.addTestSuite(StructureModelRegressionTest.class); 
-        suite.addTestSuite(StructureModelTest.class); 
-        suite.addTestSuite(VersionTest.class); 
-               suite.addTestSuite(CompilerMessagesTest.class);
-               suite.addTestSuite(AsmDeclarationsTest.class);
-               suite.addTestSuite(AsmRelationshipsTest.class);
-               suite.addTestSuite(InpathTestcase.class);
-               suite.addTestSuite(ReweavableTestCase.class);
-               suite.addTestSuite(ResourceCopyTestCase.class);
-               suite.addTestSuite(ModelPerformanceTest.class);
-               suite.addTestSuite(SavedModelConsistencyTest. class);
-               suite.addTestSuite(BuildCancellingTest.class);
-               suite.addTestSuite(JarManifestTest.class);
                suite.addTestSuite(ExtensionTests.class);
-               suite.addTestSuite(GenericsTest.class); 
-               suite.addTestSuite(OutxmlTest.class);
+               suite.addTestSuite(AspectJBuildManagerTest.class); 
+        suite.addTestSuite(LstBuildConfigManagerTest.class);
+        suite.addTestSuite(StructureSearchManagerTest.class); 
+        suite.addTestSuite(StructureViewManagerTest.class); 
+        suite.addTestSuite(AjdeCompilerTests.class);
                
         //$JUnit-END$
         return suite;
diff --git a/ajde/testsrc/org/aspectj/ajde/AsmDeclarationsTest.java b/ajde/testsrc/org/aspectj/ajde/AsmDeclarationsTest.java
deleted file mode 100644 (file)
index bc44c6e..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- * 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import org.aspectj.asm.*;
-
-/**
- * @author Mik Kersten
- */ 
-public class AsmDeclarationsTest extends AjdeTestCase {
-
-       private IHierarchy model = null;
-    // TODO-path
-       private static final String CONFIG_FILE_PATH = "../examples/coverage/coverage.lst";
-
-       public AsmDeclarationsTest(String name) {
-               super(name);  
-       }
-
-       public void testRoot() {
-               IProgramElement root = (IProgramElement)model.getRoot();
-               assertNotNull(root);
-               assertEquals(root.toLabelString(), "coverage.lst");     
-       }
-
-       public void testAspectAccessibility() {
-               IProgramElement packageAspect = AsmManager.getDefault().getHierarchy().findElementForType(null, "AdviceNamingCoverage");
-               assertNotNull(packageAspect);
-               assertEquals(IProgramElement.Accessibility.PACKAGE, packageAspect.getAccessibility());
-               assertEquals("aspect should not have public in it's signature","aspect AdviceNamingCoverage",packageAspect.getSourceSignature());
-       }
-       
-       public void testStaticModifiers() {
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, "ModifiersCoverage");
-               assertNotNull(aspect);
-
-               IProgramElement staticA = model.findElementForSignature(aspect, IProgramElement.Kind.FIELD, "staticA");
-               assertTrue(staticA.getModifiers().contains(IProgramElement.Modifiers.STATIC));
-
-               IProgramElement finalA = model.findElementForSignature(aspect, IProgramElement.Kind.FIELD, "finalA");
-               assertTrue(!finalA.getModifiers().contains(IProgramElement.Modifiers.STATIC));
-               assertTrue(finalA.getModifiers().contains(IProgramElement.Modifiers.FINAL));
-
-       }
-       
-       public void testFileInPackageAndDefaultPackage() {
-               IProgramElement root = model.getRoot();
-               assertEquals(root.toLabelString(), "coverage.lst");     
-               IProgramElement pkg = (IProgramElement)root.getChildren().get(1);
-               assertEquals(pkg.toLabelString(), "pkg");       
-               assertEquals(((IProgramElement)pkg.getChildren().get(0)).toLabelString(), "InPackage.java");    
-               assertEquals(((IProgramElement)root.getChildren().get(0)).toLabelString(), "ModelCoverage.java"); 
-       }  
-
-       public void testDeclares() {
-               IProgramElement node = (IProgramElement)model.getRoot();
-               assertNotNull(node);
-       
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, "DeclareCoverage");
-               assertNotNull(aspect);
-               
-               String label = "declare error: \"Illegal construct..\"";
-               IProgramElement decErrNode = model.findElementForSignature(aspect, IProgramElement.Kind.DECLARE_ERROR, "declare error");
-               assertNotNull(decErrNode);
-               assertEquals(decErrNode.toLabelString(), label);
-               
-               String decWarnMessage = "declare warning: \"Illegal call.\"";
-               IProgramElement decWarnNode = model.findElementForSignature(aspect, IProgramElement.Kind.DECLARE_WARNING, "declare warning");
-               assertNotNull(decWarnNode);
-               assertEquals(decWarnNode.toLabelString(), decWarnMessage);      
-               
-               String decParentsMessage = "declare parents: implements Serializable";
-               IProgramElement decParentsNode = model.findElementForSignature(aspect, IProgramElement.Kind.DECLARE_PARENTS, "declare parents");
-               assertNotNull(decParentsNode);          
-               assertEquals(decParentsNode.toLabelString(), decParentsMessage);                
-               // check the next two relative to this one
-               int declareIndex = decParentsNode.getParent().getChildren().indexOf(decParentsNode);
-               String decParentsPtnMessage = "declare parents: extends Observable";            
-               assertEquals(decParentsPtnMessage,((IProgramElement)aspect.getChildren().get(declareIndex+1)).toLabelString());                 
-               String decParentsTPMessage = "declare parents: extends Observable";     
-               assertEquals(decParentsTPMessage,((IProgramElement)aspect.getChildren().get(declareIndex+2)).toLabelString());
-               
-               String decSoftMessage = "declare soft: SizeException";
-               IProgramElement decSoftNode = model.findElementForSignature(aspect, IProgramElement.Kind.DECLARE_SOFT, "declare soft");
-               assertNotNull(decSoftNode);             
-               assertEquals(decSoftNode.toLabelString(), decSoftMessage);              
-
-               String decPrecMessage = "declare precedence: AdviceCoverage, InterTypeDecCoverage, <type pattern>";
-               IProgramElement decPrecNode = model.findElementForSignature(aspect, IProgramElement.Kind.DECLARE_PRECEDENCE, "declare precedence");
-               assertNotNull(decPrecNode);             
-               assertEquals(decPrecNode.toLabelString(), decPrecMessage);      
-       } 
-
-       public void testInterTypeMemberDeclares() {
-               IProgramElement node = (IProgramElement)model.getRoot();
-               assertNotNull(node);
-       
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, "InterTypeDecCoverage");
-               assertNotNull(aspect);
-               
-               String fieldMsg = "Point.xxx";
-               IProgramElement fieldNode = model.findElementForLabel(aspect, IProgramElement.Kind.INTER_TYPE_FIELD, fieldMsg);
-               assertNotNull(fieldNode);               
-               assertEquals(fieldNode.toLabelString(), fieldMsg);
-
-               String methodMsg = "Point.check(int,Line)";
-               IProgramElement methodNode = model.findElementForLabel(aspect, IProgramElement.Kind.INTER_TYPE_METHOD, methodMsg);
-               assertNotNull(methodNode);              
-               assertEquals(methodNode.toLabelString(), methodMsg);
-
-               // TODO: enable
-//             String constructorMsg = "Point.new(int, int, int)";
-//             ProgramElementNode constructorNode = model.findNode(aspect, ProgramElementNode.Kind.INTER_TYPE_CONSTRUCTOR, constructorMsg);
-//             assertNotNull(constructorNode);         
-//             assertEquals(constructorNode.toLabelString(), constructorMsg);
-       }
-       
-       public void testPointcuts() {
-               IProgramElement node = (IProgramElement)model.getRoot();
-               assertNotNull(node);
-       
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, "AdviceNamingCoverage");
-               assertNotNull(aspect);          
-       
-               String ptct = "named()";
-               IProgramElement ptctNode = model.findElementForSignature(aspect, IProgramElement.Kind.POINTCUT, ptct);
-               assertNotNull(ptctNode);                
-               assertEquals(ptctNode.toLabelString(), ptct);           
-
-               String params = "namedWithArgs(int,int)";
-               IProgramElement paramsNode = model.findElementForSignature(aspect, IProgramElement.Kind.POINTCUT, params);
-               assertNotNull(paramsNode);              
-               assertEquals(paramsNode.toLabelString(), params);       
-       }
-
-       public void testAbstract() {
-               IProgramElement node = (IProgramElement)model.getRoot();
-               assertNotNull(node);
-       
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, "AbstractAspect");
-               assertNotNull(aspect);  
-               
-               String abst = "abPtct()";
-               IProgramElement abstNode = model.findElementForSignature(aspect, IProgramElement.Kind.POINTCUT, abst);
-               assertNotNull(abstNode);                
-               assertEquals(abstNode.toLabelString(), abst);                   
-       }
-
-       public void testAdvice() {
-               IProgramElement node = (IProgramElement)model.getRoot();
-               assertNotNull(node);
-       
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, "AdviceNamingCoverage");
-               assertNotNull(aspect);  
-
-               String anon = "before(): <anonymous pointcut>";
-               IProgramElement anonNode = model.findElementForLabel(aspect, IProgramElement.Kind.ADVICE, anon);
-               assertNotNull(anonNode);                
-               assertEquals(anonNode.toLabelString(), anon);                   
-
-               String named = "before(): named..";
-               IProgramElement namedNode = model.findElementForLabel(aspect, IProgramElement.Kind.ADVICE, named);
-               assertNotNull(namedNode);               
-               assertEquals(namedNode.toLabelString(), named);         
-
-               String namedWithOneArg = "around(int): namedWithOneArg..";
-               IProgramElement namedWithOneArgNode = model.findElementForLabel(aspect, IProgramElement.Kind.ADVICE, namedWithOneArg);
-               assertNotNull(namedWithOneArgNode);             
-               assertEquals(namedWithOneArgNode.toLabelString(), namedWithOneArg);             
-
-               String afterReturning = "afterReturning(int,int): namedWithArgs..";
-               IProgramElement afterReturningNode = model.findElementForLabel(aspect, IProgramElement.Kind.ADVICE, afterReturning);
-               assertNotNull(afterReturningNode);              
-               assertEquals(afterReturningNode.toLabelString(), afterReturning);
-
-               String around = "around(int): namedWithOneArg..";
-               IProgramElement aroundNode = model.findElementForLabel(aspect, IProgramElement.Kind.ADVICE, around);
-               assertNotNull(aroundNode);              
-               assertEquals(aroundNode.toLabelString(), around);
-
-               String compAnon = "before(int): <anonymous pointcut>..";
-               IProgramElement compAnonNode = model.findElementForLabel(aspect, IProgramElement.Kind.ADVICE, compAnon);
-               assertNotNull(compAnonNode);            
-               assertEquals(compAnonNode.toLabelString(), compAnon);
-
-               String compNamed = "before(int): named()..";
-               IProgramElement compNamedNode = model.findElementForLabel(aspect, IProgramElement.Kind.ADVICE, compNamed);
-               assertNotNull(compNamedNode);           
-               assertEquals(compNamedNode.toLabelString(), compNamed);
-       }
-
-       protected void setUp() throws Exception {
-               super.setUp("examples");
-               assertTrue("build success", doSynchronousBuild(CONFIG_FILE_PATH));      
-               model = AsmManager.getDefault().getHierarchy();
-       }
-
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/AsmRelationshipsTest.java b/ajde/testsrc/org/aspectj/ajde/AsmRelationshipsTest.java
deleted file mode 100644 (file)
index cb32415..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- * 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.aspectj.ajdt.internal.core.builder.AsmHierarchyBuilder;
-import org.aspectj.asm.AsmManager;
-import org.aspectj.asm.IProgramElement;
-import org.aspectj.asm.IRelationship;
-
-/**
- * @author Mik Kersten
- */
-public class AsmRelationshipsTest extends AjdeTestCase {
-  
-       private AsmManager manager = null;
-    // TODO-path
-       private static final String CONFIG_FILE_PATH = "../examples/coverage/coverage.lst";
-
-       public AsmRelationshipsTest(String name) {
-               super(name);
-       }
-
-       // see pr148027
-       public void testUsesPointcut() {
-               if (!AsmHierarchyBuilder.shouldAddUsesPointcut) return;
-               
-           IProgramElement ptUsage = AsmManager.getDefault().getHierarchy().findElementForType(null, "PointcutUsage");
-           assertNotNull(ptUsage);
-           IProgramElement pts = AsmManager.getDefault().getHierarchy().findElementForType(null, "Pointcuts");
-           assertNotNull(pts);
-           
-               IProgramElement pUsesA = manager.getHierarchy().findElementForLabel(
-                       ptUsage, 
-                               IProgramElement.Kind.POINTCUT, 
-                               "usesA()"/*Point"*/);
-               assertNotNull(pUsesA);
-
-               IProgramElement ptsA = manager.getHierarchy().findElementForLabel(
-                       pts, 
-                               IProgramElement.Kind.POINTCUT, 
-                               "a()"/*Point"*/);
-               assertNotNull(ptsA);
-               
-               assertTrue(AsmManager.getDefault().getRelationshipMap().get(pUsesA).size()>0);
-               assertTrue(AsmManager.getDefault().getRelationshipMap().get(ptsA).size()>0);
-       }
-       
-       public void testDeclareParents() {              
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, "DeclareCoverage");
-
-               IProgramElement dp = manager.getHierarchy().findElementForLabel(
-                               aspect, 
-                               IProgramElement.Kind.DECLARE_PARENTS, 
-                               "declare parents: implements Serializable"/*Point"*/);
-               
-               assertNotNull(dp);
-               /*List relations = */manager.getRelationshipMap().get(dp);
-                               
-               List rels = AsmManager.getDefault().getRelationshipMap().get(dp);
-               assertTrue(rels.size()>0);
-               
-//             assertTrue(rel.getTargets().size() > 0);
-//             
-//             checkDeclareMapping("DeclareCoverage", "Point", , 
-//                     "Point", "matched by", "matches declare", 
-//                     IProgramElement.Kind.DECLARE_PARENTS);          
-       }
-       
-       public void testDeclareWarningAndError() {              
-               checkDeclareMapping("DeclareCoverage", "Point", "declare warning: \"Illegal call.\"", 
-                       "method-call(void Point.setX(int))", "matched by", "matches declare", IProgramElement.Kind.DECLARE_WARNING);            
-       }
-       
-       public void testInterTypeDeclarations() {               
-               checkInterTypeMapping("InterTypeDecCoverage", "Point", "Point.xxx", "Point", 
-                       "declared on", "aspect declarations", IProgramElement.Kind.INTER_TYPE_FIELD);   
-               checkInterTypeMapping("InterTypeDecCoverage", "Point", "Point.check(int,Line)", 
-                       "Point", "declared on", "aspect declarations", IProgramElement.Kind.INTER_TYPE_METHOD); 
-       }
-
-       public void testAdvice() {      
-               checkMapping("AdvisesRelationshipCoverage", "Point", "before(): methodExecutionP..", 
-                       "setX(int)", "advises", "advised by");
-               checkUniDirectionalMapping("AdvisesRelationshipCoverage", "Point", "before(): getP..", 
-                       "field-get(int Point.x)", "advises");
-               checkUniDirectionalMapping("AdvisesRelationshipCoverage", "Point", "before(): setP..", 
-                       "field-set(int Point.x)", "advises");   
-       }
-
-       private void checkDeclareMapping(String fromType, String toType, String from, String to, 
-               String forwardRelName, String backRelName, IProgramElement.Kind kind) {
-               
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, fromType);
-               assertNotNull(aspect);          
-               String beforeExec = from;
-               IProgramElement beforeExecNode = manager.getHierarchy().findElementForLabel(aspect, kind, beforeExec);
-               assertNotNull(beforeExecNode);
-               IRelationship rel = manager.getRelationshipMap().get(beforeExecNode, IRelationship.Kind.DECLARE, forwardRelName);
-               assertTrue(rel.getTargets().size() > 0);
-               String handle = (String)rel.getTargets().get(0);
-               assertEquals(manager.getHierarchy().findElementForHandle(handle).toString(), to);  
-
-               IProgramElement clazz = AsmManager.getDefault().getHierarchy().findElementForType(null, toType);
-               assertNotNull(clazz);
-               String set = to;
-               IProgramElement setNode = manager.getHierarchy().findElementForLabel(clazz, IProgramElement.Kind.CODE, set);
-               assertNotNull(setNode);
-               IRelationship rel2 = manager.getRelationshipMap().get(setNode, IRelationship.Kind.DECLARE, backRelName);
-               String handle2 = (String)rel2.getTargets().get(0);
-               assertEquals(manager.getHierarchy().findElementForHandle(handle2).toString(), from);
-       }
-       
-       private void checkUniDirectionalMapping(String fromType, String toType, String from, 
-               String to, String relName) {
-               
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, fromType);
-               assertNotNull(aspect);          
-               String beforeExec = from;
-               IProgramElement beforeExecNode = manager.getHierarchy().findElementForLabel(aspect, IProgramElement.Kind.ADVICE, beforeExec);
-               assertNotNull(beforeExecNode);
-               IRelationship rel = manager.getRelationshipMap().get(beforeExecNode, IRelationship.Kind.ADVICE, relName);
-               for (Iterator it = rel.getTargets().iterator(); it.hasNext(); ) {
-                       String currHandle = (String)it.next();
-                       if (manager.getHierarchy().findElementForHandle(currHandle).toLabelString().equals(to)) return;
-               }
-               fail(); // didn't find it
-       }
-
-       private void checkMapping(String fromType, String toType, String from, String to, 
-               String forwardRelName, String backRelName) {
-               
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, fromType);
-               assertNotNull(aspect);          
-               String beforeExec = from;
-               IProgramElement beforeExecNode = manager.getHierarchy().findElementForLabel(aspect, IProgramElement.Kind.ADVICE, beforeExec);
-               assertNotNull(beforeExecNode);
-               IRelationship rel = manager.getRelationshipMap().get(beforeExecNode, IRelationship.Kind.ADVICE, forwardRelName);
-               String handle = (String)rel.getTargets().get(0);
-               assertEquals(manager.getHierarchy().findElementForHandle(handle).toString(), to);  
-
-               IProgramElement clazz = AsmManager.getDefault().getHierarchy().findElementForType(null, toType);
-               assertNotNull(clazz);
-               String set = to;
-               IProgramElement setNode = manager.getHierarchy().findElementForLabel(clazz, IProgramElement.Kind.METHOD, set);
-               assertNotNull(setNode);
-               IRelationship rel2 = manager.getRelationshipMap().get(setNode, IRelationship.Kind.ADVICE, backRelName);
-               String handle2 = (String)rel2.getTargets().get(0);
-               assertEquals(manager.getHierarchy().findElementForHandle(handle2).toString(), from);
-       }
-
-       private void checkInterTypeMapping(String fromType, String toType, String from, 
-               String to, String forwardRelName, String backRelName, IProgramElement.Kind declareKind) {
-               
-               IProgramElement aspect = AsmManager.getDefault().getHierarchy().findElementForType(null, fromType);
-               assertNotNull(aspect);          
-               String beforeExec = from;
-               IProgramElement fromNode = manager.getHierarchy().findElementForLabel(aspect, declareKind, beforeExec);
-               assertNotNull(fromNode);
-               IRelationship rel = manager.getRelationshipMap().get(fromNode, IRelationship.Kind.DECLARE_INTER_TYPE, forwardRelName);
-               String handle = (String)rel.getTargets().get(0);
-               assertEquals(manager.getHierarchy().findElementForHandle(handle).toString(), to);  
-
-               IProgramElement clazz = AsmManager.getDefault().getHierarchy().findElementForType(null, toType);
-               assertNotNull(clazz);
-//             String set = to;
-               IRelationship rel2 = manager.getRelationshipMap().get(clazz, IRelationship.Kind.DECLARE_INTER_TYPE, backRelName);
-//             String handle2 = (String)rel2.getTargets().get(0);
-               for (Iterator it = rel2.getTargets().iterator(); it.hasNext(); ) {
-                       String currHandle = (String)it.next();
-                       if (manager.getHierarchy().findElementForHandle(currHandle).toLabelString().equals(from)) return;
-               }
-               fail(); // didn't find it
-       }
-       protected void setUp() throws Exception {
-               super.setUp("examples");
-               assertTrue("build success", doSynchronousBuild(CONFIG_FILE_PATH));      
-               manager = AsmManager.getDefault();
-       }
-
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/BuildCancellingTest.java b/ajde/testsrc/org/aspectj/ajde/BuildCancellingTest.java
deleted file mode 100644 (file)
index 3d4937d..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2004 Contributors.
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *    Andy Clement     Initial version
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.aspectj.ajde.internal.CompilerAdapter;
-import org.aspectj.util.FileUtil;
-
-/**
- * It is now possible to cancel the compiler during either the
- * compilation or weaving phases - this testcase verifies a few
- * cases, making sure the process stops when expected.  It can
- * check the disk contents, but it doesn't right now.
- * 
- * Two different .lst files are used during these tests: LoadsaCode.lst and 
- * EvenMoreCode.lst which contain mixes of aspects and classes
- * 
- * Here are some things to think about that will help you understand what is 
- * on the disk when we cancel the compiler.
- * 
- * There are 3 important phases worth remembering :
- * - Compile all the types 
- * - Weave all the aspects
- * - Weave all the classes
- * 
- * Each of those steps goes through all the types.  This
- * means during the 'weave all the aspects' step we are 
- * jumping over classes and during the 'weave all the
- * classes ' step we are jumping over aspects.  Why is this important?
- * 
- *  
- * We only write bytes out during the 'weave all the classes ' phase and it is even
- * during that phase that we write out the bytes for aspects.  This means if you cancel
- * during compilation or during the weaving of aspects - there will be nothing on the 
- * disk.  If you cancel whilst in the 'weave all the classes ' phase then the disk
- * will contain anything finished with by the cancellation point.
- */
-public class BuildCancellingTest extends AjdeTestCase {
-
-       private CompilerAdapter compilerAdapter;
-       public static final String PROJECT_DIR = "BuildCancelling";
-       public static final String binDir = "bin";
-       private static final boolean debugTests = false;
-
-       public BuildCancellingTest(String arg0) {
-               super(arg0);
-       }
-
-       // Ensure the output directory is clean
-       protected void setUp() throws Exception {
-               super.setUp(PROJECT_DIR);
-               FileUtil.deleteContents(openFile(binDir));
-       }
-       
-
-       
-       /**
-        * After first compilation message, get it to cancel, there should be one more warning
-        * message about cancelling the compile and their should be nothing on the disk.
-        */
-       public void testCancelFirstCompile() {
-               if (debugTests) System.out.println("\n\n\ntestCancelFirstCompile: Building with LoadsaCode.lst");
-               compilerAdapter = new CompilerAdapter();
-               BuildProgMon programmableBPM = new BuildProgMon();
-
-               programmableBPM.cancelOn("compiled:",1); // Force a cancel after the first compile occurs
-
-               compilerAdapter.compile(
-                       (String) openFile("LoadsaCode.lst").getAbsolutePath(),
-                       programmableBPM,
-                       false);
-                       
-               assertTrue("Should have cancelled after first compile?:"+programmableBPM.numCompiledMessages,
-                 programmableBPM.numCompiledMessages==1);
-               
-// Comment out to check the disk contents  
-//             assertTrue("As weaving was cancelled, no files should have been written out, but I found:"+wovenClassesFound(),
-//               wovenClassesFound()==0);
-                 
-               boolean expectedCancelMessageFound = checkFor("Compilation cancelled as requested");
-               if (!expectedCancelMessageFound) dumpTaskData(); // Useful for debugging
-               assertTrue("Failed to get warning message about compilation being cancelled!", expectedCancelMessageFound);
-       }
-       
-       
-       
-       /**
-        * After third compilation message, get it to cancel, there should be one more warning
-        * message about cancelling the compile and their should be nothing on the disk.
-        */
-       public void testCancelThirdCompile() {
-               if (debugTests) System.out.println("\n\n\ntestCancelThirdCompile: Building with LoadsaCode.lst");
-               compilerAdapter = new CompilerAdapter();
-               BuildProgMon programmableBPM = new BuildProgMon();
-
-               programmableBPM.cancelOn("compiled:",3); // Force a cancel after the third compile occurs
-
-               compilerAdapter.compile(
-                       (String) openFile("LoadsaCode.lst").getAbsolutePath(),
-                       programmableBPM,
-                       false);
-                       
-               assertTrue("Should have cancelled after third compile?:"+programmableBPM.numCompiledMessages,
-                 programmableBPM.numCompiledMessages==3);
-                 
-//             Comment out to check the disk contents            
-//             assertTrue("As weaving was cancelled, no files should have been written out, but I found:"+wovenClassesFound(),
-//               wovenClassesFound()==0);
-
-               boolean expectedCancelMessageFound = checkFor("Compilation cancelled as requested");
-               if (!expectedCancelMessageFound) dumpTaskData(); // Useful for debugging
-               assertTrue("Failed to get warning message about compilation being cancelled!", expectedCancelMessageFound);
-       }
-
-
-       /**
-        * After first weave aspect message, get it to cancel, there should be one more warning
-        * message about cancelling the weave and their should be nothing on the disk.
-        */
-       public void testCancelFirstAspectWeave() {
-               if (debugTests) System.out.println("\n\n\ntestCancelFirstAspectWeave: Building with LoadsaCode.lst");
-               compilerAdapter = new CompilerAdapter();
-               BuildProgMon programmableBPM = new BuildProgMon();
-
-               programmableBPM.cancelOn("woven aspect ",1); // Force a cancel after the first weave aspect occurs
-
-               compilerAdapter.compile((String) openFile("LoadsaCode.lst").getAbsolutePath(),programmableBPM,false);
-                       
-               assertTrue("Should have cancelled after first aspect weave?:"+programmableBPM.numWovenAspectMessages,
-                 programmableBPM.numWovenAspectMessages==1);
-
-//             Comment out to check the disk contents
-//             assertTrue("As weaving was cancelled, no files should have been written out?:"+wovenClassesFound(),
-//               wovenClassesFound()==0);
-
-               boolean expectedCancelMessageFound = checkFor("Weaving cancelled as requested");
-               if (!expectedCancelMessageFound) dumpTaskData(); // Useful for debugging
-               assertTrue("Failed to get warning message about weaving being cancelled!", expectedCancelMessageFound);
-       }
-       
-
-
-       /**
-        * After third weave aspect message, get it to cancel, there should be one more warning
-        * message about cancelling the weave and their should be nothing on the disk.
-        */     
-       public void testCancelThirdAspectWeave() {
-               if (debugTests) System.out.println("\n\n\ntestCancelThirdAspectWeave: Building with LoadsaCode.lst");
-               compilerAdapter = new CompilerAdapter();
-               
-               BuildProgMon programmableBPM = new BuildProgMon();
-               // Force a cancel after the third weave occurs.
-               // This should leave two class files on disk - I think?
-               programmableBPM.cancelOn("woven aspect ",3); 
-                       
-               compilerAdapter.compile(
-                       (String) openFile("LoadsaCode.lst").getAbsolutePath(),
-                       programmableBPM,
-                       false);
-               
-               assertTrue("Should have cancelled after third weave?:"+programmableBPM.numWovenAspectMessages,
-                 programmableBPM.numWovenAspectMessages==3);
-                 
-//             Comment out to check disk contents
-//             assertTrue("As weaving was cancelled, no files should have been written out?:"+wovenClassesFound(),
-//               wovenClassesFound()==0);
-                 
-               boolean expectedCancelMessageFound = checkFor("Weaving cancelled as requested");
-               if (!expectedCancelMessageFound) dumpTaskData(); // Useful for debugging
-               assertTrue("Failed to get warning message about weaving being cancelled!", expectedCancelMessageFound);
-
-       }
-       
-       /**
-        * After first weave class message, get it to cancel, there should be one more
-        * warning message about cancelling the weave and their should be nothing on the
-        * disk.
-        * 
-        * EvenMoreCode.lst contains:
-        * A1.aj
-        * Cl1.java
-        * A2.aj
-        * Cl2.java
-        * HW.java
-        * A3.aj
-        * Cl3.java
-        * A4.aj
-        * 
-        */
-       public void testCancelFirstClassWeave() {
-               if (debugTests) System.out.println("testCancelFirstClassWeave: Building with EvenMoreCode.lst");
-               compilerAdapter = new CompilerAdapter();
-               BuildProgMon programmableBPM = new BuildProgMon();
-
-               programmableBPM.cancelOn("woven class",1); 
-       
-               compilerAdapter.compile(
-                       (String) openFile("EvenMoreCode.lst").getAbsolutePath(),
-                       programmableBPM,
-                       false);
-       
-//             Should just be A1 on the disk - uncomment this line to verify that! (and uncomment diskContents())
-//             assertTrue("Incorrect disk contents found",diskContents("A1"));
-
-               assertTrue("Should have cancelled after first class weave?:"+programmableBPM.numWovenClassMessages,
-                 programmableBPM.numWovenClassMessages==1);
-                 
-               boolean expectedCancelMessageFound = checkFor("Weaving cancelled as requested");
-               if (!expectedCancelMessageFound) dumpTaskData(); // Useful for debugging
-               assertTrue("Failed to get warning message about weaving being cancelled!", expectedCancelMessageFound);
-       }
-       
-       
-       /**
-        * After first weave aspect message, get it to cancel, there should be one more
-        * warning message about cancelling the weave and their should be nothing on the
-        * disk.
-        * 
-        * EvenMoreCode.lst contains:
-        * A1.aj
-        * Cl1.java
-        * A2.aj
-        * Cl2.java
-        * HW.java
-        * A3.aj
-        * Cl3.java
-        * A4.aj
-        * 
-        */
-       public void testCancelSecondClassWeave() {
-               if (debugTests) System.out.println("testCancelSecondClassWeave: Building with EvenMoreCode.lst");
-               compilerAdapter = new CompilerAdapter();
-               BuildProgMon programmableBPM = new BuildProgMon();
-
-               programmableBPM.cancelOn("woven class",2); 
-       
-               compilerAdapter.compile(
-                       (String) openFile("EvenMoreCode.lst").getAbsolutePath(),
-                       programmableBPM,
-                       false);
-       
-//             Uncomment this line to verify disk contents(and uncomment diskContents())
-//             assertTrue("Incorrect disk contents found",diskContents("A1 Cl1 A2"));
-
-               assertTrue("Should have cancelled after first class weave?:"+programmableBPM.numWovenClassMessages,
-                 programmableBPM.numWovenClassMessages==2);
-                 
-               boolean expectedCancelMessageFound = checkFor("Weaving cancelled as requested");
-               if (!expectedCancelMessageFound) dumpTaskData(); // Useful for debugging
-               assertTrue("Failed to get warning message about weaving being cancelled!", expectedCancelMessageFound);
-
-       }
-       
-       
-       // ----
-       // Helper classes and methods
-       
-
-       private class BuildProgMon implements BuildProgressMonitor {
-               
-        public int numWovenClassMessages = 0;
-        public int numWovenAspectMessages = 0;
-        public int numCompiledMessages = 0;
-        
-               private String programmableString;
-               private int count;
-               private List messagesReceived = new ArrayList();
-               private int currentVal;
-        
-               public void start(String configFile) {
-                       currentVal = 0;
-               }
-
-               public void cancelOn(String string,int count) {
-                       programmableString = string;
-                       this.count = count;
-               }
-
-               public void setProgressText(String text) {
-                       String newText = text+" [Percentage="+currentVal+"%]";
-                       messagesReceived.add(newText);
-                       if (text.startsWith("woven aspect ")) numWovenAspectMessages++;
-                       if (text.startsWith("woven class ")) numWovenClassMessages++;
-                       if (text.startsWith("compiled:")) numCompiledMessages++;
-                       if (programmableString != null
-                               && text.indexOf(programmableString) != -1) {
-                               count--;
-                               if (count==0) {
-                                       if (debugTests) System.out.println("Just got message '"+newText+"' - asking build to cancel");
-                                       compilerAdapter.requestCompileExit();
-                                       programmableString = null;
-                               }
-                       }
-               }
-               
-               public boolean containsMessage(String prefix,String distinguishingMarks) {
-                       for (Iterator iter = messagesReceived.iterator(); iter.hasNext();) {
-                               String element = (String) iter.next();
-                               if (element.startsWith(prefix) &&
-                                   element.indexOf(distinguishingMarks)!=-1) return true;
-                       }
-                       return false;
-               }
-               
-               public void dumpMessages() {
-                       System.out.println("ProgressMonitorMessages");
-                       for (Iterator iter = messagesReceived.iterator(); iter.hasNext();) {
-                               String element = (String) iter.next();
-                               System.out.println(element);
-                       }
-               }
-
-               public void setProgressBarVal(int newVal) {
-                       this.currentVal = newVal;
-               }
-
-               public void incrementProgressBarVal() {
-                       System.err.println("ipbv");
-               }
-
-               public void setProgressBarMax(int maxVal) {
-                       System.err.println("spbm"+maxVal);
-               }
-
-               public int getProgressBarMax() {
-                       return 100; // Causes setProgressBarVal() to be fed what are effectively percentages
-               }
-
-               public void finish(boolean b) {
-               }
-
-       }
-       
-//     private boolean diskContents(String shouldExist) {
-//             String[] fullList = new String[] { "A1","A2","A3","A4","Cl1","Cl2","Cl3","HW"};
-//             boolean isOK = true;
-//             for (int i = 0; i < fullList.length; i++) {
-//                     String file = fullList[i];
-//                     if (shouldExist.indexOf(file)!=-1) {
-//                             // There should be a class file called this
-//                             if (!openFile("bin/"+file+".class").exists()) {
-//                                     isOK=false; 
-//                                     System.out.println("Couldn't find this expected file: "+file+".class");
-//                             }
-//                     } else {
-//                             // There should NOT be a class file called this
-//                             if (openFile("bin/"+file+".class").exists()) {
-//                                     isOK=false;
-//                                     System.out.println("Found this file when not expected: "+file+".class");
-//                             }
-//                     }
-//             }
-//             return isOK;
-//     }
-//     
-//     private int wovenClassesFound() {
-//             int found = 0;
-//             File fA1 = openFile("bin/A1.class");
-//             File fA2 = openFile("bin/A2.class");
-//             File fA3 = openFile("bin/A3.class");
-//             File fA4 = openFile("bin/A4.class");
-//             File fHW = openFile("bin/HW.class");
-//
-//             found+=(fA1.exists()?1:0);
-//             found+=(fA2.exists()?1:0);
-//             found+=(fA3.exists()?1:0);
-//             found+=(fA4.exists()?1:0);
-//             found+=(fHW.exists()?1:0);
-//             return found;
-//     }
-       
-
-       private boolean checkFor(String what) {
-               List ll = ideManager.getCompilationSourceLineTasks();
-               for (Iterator iter = ll.iterator(); iter.hasNext();) {
-                       Object element = (Object) iter.next();
-                       if (element.toString().indexOf(what) != -1)
-                               return true;
-               }
-               return false;
-       }
-       
-       private void dumpTaskData() {
-               if (!debugTests) return;
-               List ll = ideManager.getCompilationSourceLineTasks();
-               for (Iterator iter = ll.iterator(); iter.hasNext();) {
-                       Object element = (Object) iter.next();
-                       System.out.println("RecordedMessage>"+element);
-               }
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/BuildConfigurationTests.java b/ajde/testsrc/org/aspectj/ajde/BuildConfigurationTests.java
deleted file mode 100644 (file)
index fc5eb96..0000000
+++ /dev/null
@@ -1,626 +0,0 @@
-/**********************************************************************
-Copyright (c) 2003 IBM Corporation and others.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-Contributors:
-Adrian Colyer - initial version
-...
-**********************************************************************/
-package org.aspectj.ajde;
-
-import java.io.File;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.TestSuite;
-
-import org.aspectj.ajde.NullIdeTaskListManager.SourceLineTask;
-import org.aspectj.ajde.internal.CompilerAdapter;
-import org.aspectj.ajde.ui.UserPreferencesAdapter;
-import org.aspectj.ajde.ui.internal.AjcBuildOptions;
-import org.aspectj.ajde.ui.internal.UserPreferencesStore;
-import org.aspectj.ajdt.internal.core.builder.AjBuildConfig;
-import org.aspectj.org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
-import org.aspectj.util.LangUtil;
-
-/**
- * Tests that a correctly populated AjBuildConfig object is created
- * in reponse to the setting in BuildOptionsAdapter and 
- * ProjectPropretiesAdapter
- */
-public class BuildConfigurationTests extends AjdeTestCase {
-
-       private CompilerAdapter compilerAdapter;
-       private AjBuildConfig buildConfig = null;
-       private AjcBuildOptions buildOptions = null;
-       private UserPreferencesAdapter preferencesAdapter = null;
-       private NullIdeProperties projectProperties = null;
-    private NullIdeTaskListManager taskListManager;
-       private static final String configFile = 
-               AjdeTests.testDataPath("examples/figures-coverage/all.lst");
-       
-
-       public BuildConfigurationTests( String name ) {
-               super( name );  
-       }
-
-       public static void main(String[] args) {
-               junit.swingui.TestRunner.run(BuildConfigurationTests.class);
-       }
-
-       public static TestSuite suite() {
-               TestSuite result = new TestSuite();
-               result.addTestSuite(BuildConfigurationTests.class);     
-               return result;
-       }
-
-
-       // The tests...
-       public void testCharacterEncoding() {
-               buildOptions.setCharacterEncoding( "UTF-8" );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );
-        assertTrue(configFile + " failed", null != buildConfig);                       
-               Map options = buildConfig.getOptions().getMap();
-               String encoding = (String) options.get( CompilerOptions.OPTION_Encoding );
-               assertEquals( "character encoding", "UTF-8", encoding );
-       }
-
-       public void testComplianceLevelJava13() {
-               buildOptions.setComplianceLevel( BuildOptionsAdapter.VERSION_13 );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String compliance = (String) options.get(CompilerOptions.OPTION_Compliance);
-               String sourceLevel = (String) options.get(CompilerOptions.OPTION_Source);               
-               assertEquals( "compliance level", CompilerOptions.VERSION_1_3, compliance);
-               assertEquals( "source level", CompilerOptions.VERSION_1_3, sourceLevel );
-       }
-       
-       public void testComplianceLevelJava14() {
-               buildOptions.setComplianceLevel( BuildOptionsAdapter.VERSION_14 );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String compliance = (String) options.get(CompilerOptions.OPTION_Compliance);
-               String sourceLevel = (String) options.get(CompilerOptions.OPTION_Source);               
-               assertEquals( "compliance level", CompilerOptions.VERSION_1_4, compliance);
-               assertEquals( "source level", CompilerOptions.VERSION_1_4, sourceLevel );
-       }
-
-       public void testCompilanceLevelJava6() {
-               buildOptions.setComplianceLevel( BuildOptionsAdapter.VERSION_16 );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String compliance = (String) options.get(CompilerOptions.OPTION_Compliance);
-               String sourceLevel = (String) options.get(CompilerOptions.OPTION_Source);
-               
-               if (Ajde.getDefault().compilerIsJava6Compatible()) {
-                       assertEquals("expected compliance level to be 1.6 but found " + compliance, "1.6", compliance);
-                       assertEquals("expected source level to be 1.6 but found " + sourceLevel, "1.6", sourceLevel );
-                       assertTrue("expected to 'behaveInJava5Way' but aren't",buildConfig.getBehaveInJava5Way());                      
-               } else {
-                       List l = taskListManager.getSourceLineTasks();
-                       String expectedError = "Java 6.0 compliance level is unsupported";
-                       String found = ((SourceLineTask)l.get(0)).getContainedMessage().getMessage();
-                       assertEquals("Expected 'Java 6.0 compliance level is unsupported'" +
-                                       " error message but found " + found ,expectedError,found);
-               }
-       }
-
-       public void testSourceCompatibilityLevelJava6() {
-               buildOptions.setSourceCompatibilityLevel(BuildOptionsAdapter.VERSION_16 );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String compliance = (String) options.get(CompilerOptions.OPTION_Compliance);
-               String sourceLevel = (String) options.get(CompilerOptions.OPTION_Source);
-               
-               if (Ajde.getDefault().compilerIsJava6Compatible()) {
-                       assertEquals("expected compliance level to be 1.6 but found " + compliance, "1.6", compliance);
-                       assertEquals("expected source level to be 1.6 but found " + sourceLevel, "1.6", sourceLevel );
-                       assertTrue("expected to 'behaveInJava5Way' but aren't",buildConfig.getBehaveInJava5Way());                      
-               } else {
-                       List l = taskListManager.getSourceLineTasks();
-                       String expectedError = "Java 6.0 source level is unsupported";
-                       String found = ((SourceLineTask)l.get(0)).getContainedMessage().getMessage();
-                       assertEquals("Expected 'Java 6.0 compliance level is unsupported'" +
-                                       " error message but found " + found ,expectedError,found);
-               }
-       }
-       
-       public void testCompilanceLevelJava5() {
-               buildOptions.setComplianceLevel( BuildOptionsAdapter.VERSION_15 );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String compliance = (String) options.get(CompilerOptions.OPTION_Compliance);
-               String sourceLevel = (String) options.get(CompilerOptions.OPTION_Source);               
-               assertEquals("expected compliance level to be 1.5 but found " + compliance, CompilerOptions.VERSION_1_5, compliance);
-               assertEquals("expected source level to be 1.5 but found " + sourceLevel, CompilerOptions.VERSION_1_5, sourceLevel );
-               assertTrue("expected to 'behaveInJava5Way' but aren't",buildConfig.getBehaveInJava5Way());
-       }
-       
-       public void testSourceCompatibilityLevel() {
-               buildOptions.setComplianceLevel( BuildOptionsAdapter.VERSION_13);
-               buildOptions.setSourceCompatibilityLevel( BuildOptionsAdapter.VERSION_14);
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String compliance = (String) options.get(CompilerOptions.OPTION_Compliance);
-               String sourceLevel = (String) options.get(CompilerOptions.OPTION_Source);               
-               assertEquals( "compliance level", CompilerOptions.VERSION_1_3, compliance);
-               assertEquals( "source level", CompilerOptions.VERSION_1_4, sourceLevel );               
-       }
-       
-       public void testSourceIncompatibilityLevel() {
-               // this config should "fail" and leave source level at 1.4
-               buildOptions.setComplianceLevel( BuildOptionsAdapter.VERSION_14);
-               buildOptions.setSourceCompatibilityLevel( BuildOptionsAdapter.VERSION_13);
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String compliance = (String) options.get(CompilerOptions.OPTION_Compliance);
-               String sourceLevel = (String) options.get(CompilerOptions.OPTION_Source);               
-               assertEquals( "compliance level", CompilerOptions.VERSION_1_4, compliance);
-               assertEquals( "source level", CompilerOptions.VERSION_1_4, sourceLevel );               
-       }
-
-       public void testSourceCompatibilityLevelJava5() {
-               buildOptions.setSourceCompatibilityLevel( BuildOptionsAdapter.VERSION_15);
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String compliance = (String) options.get(CompilerOptions.OPTION_Compliance);
-               String sourceLevel = (String) options.get(CompilerOptions.OPTION_Source);               
-               assertEquals("expected compliance level to be 1.5 but found " + compliance, CompilerOptions.VERSION_1_5, compliance);
-               assertEquals("expected source level to be 1.5 but found " + sourceLevel, CompilerOptions.VERSION_1_5, sourceLevel );
-               assertTrue("expected to 'behaveInJava5Way' but aren't",buildConfig.getBehaveInJava5Way());
-       }
-       
-       public void testSourceIncompatibilityLevelJava5() {
-               // because compliance is set to be 1.5 then source compatibility
-               // will be set to 1.5
-               buildOptions.setComplianceLevel( BuildOptionsAdapter.VERSION_15);
-               buildOptions.setSourceCompatibilityLevel( BuildOptionsAdapter.VERSION_14);
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String compliance = (String) options.get(CompilerOptions.OPTION_Compliance);
-               String sourceLevel = (String) options.get(CompilerOptions.OPTION_Source);               
-               assertEquals("expected compliance level to be 1.5 but found " + compliance, CompilerOptions.VERSION_1_5, compliance);
-               assertEquals("expected source level to be 1.5 but found " + sourceLevel, CompilerOptions.VERSION_1_5, sourceLevel );
-               assertTrue("expected to 'behaveInJava5Way' but aren't",buildConfig.getBehaveInJava5Way());
-       }
-       
-       public void testNullWarnings() {
-               buildOptions.setWarnings( null );       
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               
-               // this should leave us with the default warnings
-               assertOptionEquals( "report overriding package default",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportOverridingPackageDefaultMethod,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report method with cons name",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportMethodWithConstructorName,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report deprecation",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportDeprecation,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report hidden catch block",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportHiddenCatchBlock,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report unused local",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportUnusedLocal,
-                                                   CompilerOptions.IGNORE);
-               assertOptionEquals( "report unused param",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportUnusedParameter,
-                                                   CompilerOptions.IGNORE);
-               assertOptionEquals( "report synthectic access",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportSyntheticAccessEmulation,
-                                                   CompilerOptions.IGNORE);
-               assertOptionEquals( "report non-externalized string literal",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportNonExternalizedStringLiteral,
-                                                   CompilerOptions.IGNORE);
-               assertOptionEquals( "report assert identifer",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportAssertIdentifier,
-                                                   CompilerOptions.WARNING);                                               
-       }
-       
-//     public void testEmptyWarnings() {
-//             buildOptions.setWarnings( new HashSet() );      
-//             buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-//             Map options = buildConfig.getJavaOptions();
-//             
-//             // this should leave us with the user specifiable warnings
-//             // turned off
-//             assertOptionEquals( "report overriding package default",
-//                                                     options, 
-//                                                 CompilerOptions.OPTION_ReportOverridingPackageDefaultMethod,
-//                                                 CompilerOptions.WARNING);
-//             assertOptionEquals( "report method with cons name",
-//                                                     options, 
-//                                                 CompilerOptions.OPTION_ReportMethodWithConstructorName,
-//                                                 CompilerOptions.WARNING);
-//             assertOptionEquals( "report deprecation",
-//                                                     options, 
-//                                                 CompilerOptions.OPTION_ReportDeprecation,
-//                                                 CompilerOptions.WARNING); 
-//             assertOptionEquals( "report hidden catch block",
-//                                                     options, 
-//                                                 CompilerOptions.OPTION_ReportHiddenCatchBlock,
-//                                                 CompilerOptions.WARNING);
-//             assertOptionEquals( "report unused local",
-//                                                     options, 
-//                                                 CompilerOptions.OPTION_ReportUnusedLocal,
-//                                                 CompilerOptions.WARNING);
-//             assertOptionEquals( "report unused param",
-//                                                     options, 
-//                                                 CompilerOptions.OPTION_ReportUnusedParameter,
-//                                                 CompilerOptions.WARNING);
-//             assertOptionEquals( "report synthectic access",
-//                                                     options, 
-//                                                 CompilerOptions.OPTION_ReportSyntheticAccessEmulation,
-//                                                 CompilerOptions.WARNING);
-//             assertOptionEquals( "report non-externalized string literal",
-//                                                     options, 
-//                                                 CompilerOptions.OPTION_ReportNonExternalizedStringLiteral,
-//                                                 CompilerOptions.WARNING);
-//             assertOptionEquals( "report assert identifer",
-//                                                     options, 
-//                                                 CompilerOptions.OPTION_ReportAssertIdentifier,
-//                                                 CompilerOptions.WARNING);                                                           
-//     }
-       
-       public void testSetOfWarnings() {
-               HashSet warnings = new HashSet();
-               warnings.add( BuildOptionsAdapter.WARN_ASSERT_IDENITIFIER );            
-               warnings.add( BuildOptionsAdapter.WARN_CONSTRUCTOR_NAME );              
-               warnings.add( BuildOptionsAdapter.WARN_DEPRECATION );           
-               warnings.add( BuildOptionsAdapter.WARN_MASKED_CATCH_BLOCKS );           
-               warnings.add( BuildOptionsAdapter.WARN_PACKAGE_DEFAULT_METHOD );                
-               warnings.add( BuildOptionsAdapter.WARN_SYNTHETIC_ACCESS );              
-               warnings.add( BuildOptionsAdapter.WARN_UNUSED_ARGUMENTS );              
-               warnings.add( BuildOptionsAdapter.WARN_UNUSED_IMPORTS );                
-               warnings.add( BuildOptionsAdapter.WARN_UNUSED_LOCALS );         
-               warnings.add( BuildOptionsAdapter.WARN_NLS );
-
-               buildOptions.setWarnings( warnings );   
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               
-               // this should leave us with all the user specifiable warnings
-               // turned on
-               assertOptionEquals( "report overriding package default",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportOverridingPackageDefaultMethod,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report method with cons name",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportMethodWithConstructorName,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report deprecation",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportDeprecation,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report hidden catch block",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportHiddenCatchBlock,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report unused local",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportUnusedLocal,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report unused param",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportUnusedParameter,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report synthectic access",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportSyntheticAccessEmulation,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report non-externalized string literal",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportNonExternalizedStringLiteral,
-                                                   CompilerOptions.WARNING);
-               assertOptionEquals( "report assert identifer",
-                                                       options, 
-                                                   CompilerOptions.OPTION_ReportAssertIdentifier,
-                                                   CompilerOptions.WARNING);                                                           
-       }
-       
-       public void testNoDebugOptions() {
-               buildOptions.setDebugLevel( null );     
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               
-               // this should leave us with the default debug settings
-               assertOptionEquals( "debug source",
-                                                       options, 
-                                                   CompilerOptions.OPTION_SourceFileAttribute,
-                                                   CompilerOptions.GENERATE);
-               assertOptionEquals( "debug lines",
-                                                       options, 
-                                                   CompilerOptions.OPTION_LineNumberAttribute,
-                                                   CompilerOptions.GENERATE);
-               assertOptionEquals( "debug vars",
-                                                       options, 
-                                                   CompilerOptions.OPTION_LocalVariableAttribute,
-                                                   CompilerOptions.GENERATE);                                                                                          
-       }
-       
-       public void testEmptyDebugOptions() {
-               buildOptions.setDebugLevel( new HashSet() );    
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               
-               // this should leave us with the default debug 
-               assertOptionEquals( "debug source",
-                                                       options, 
-                                                   CompilerOptions.OPTION_SourceFileAttribute,
-                                                   CompilerOptions.GENERATE);
-               assertOptionEquals( "debug lines",
-                                                       options, 
-                                                   CompilerOptions.OPTION_LineNumberAttribute,
-                                                   CompilerOptions.GENERATE);
-               assertOptionEquals( "debug vars",
-                                                       options, 
-                                                   CompilerOptions.OPTION_LocalVariableAttribute,
-                                                   CompilerOptions.GENERATE);                                                                                                          
-       }
-       
-       public void testDebugAll() {
-               HashSet debugOpts = new HashSet();
-               debugOpts.add( BuildOptionsAdapter.DEBUG_ALL );
-               buildOptions.setDebugLevel( debugOpts );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               
-               // this should leave us with all debug on
-               assertOptionEquals( "debug source",
-                                                       options, 
-                                                   CompilerOptions.OPTION_SourceFileAttribute,
-                                                   CompilerOptions.GENERATE);
-               assertOptionEquals( "debug lines",
-                                                       options, 
-                                                   CompilerOptions.OPTION_LineNumberAttribute,
-                                                   CompilerOptions.GENERATE);
-               assertOptionEquals( "debug vars",
-                                                       options, 
-                                                   CompilerOptions.OPTION_LocalVariableAttribute,
-                                                   CompilerOptions.GENERATE);                                                                                                          
-               
-       }
-       
-       public void testDebugSet() {
-               HashSet debugOpts = new HashSet();
-               debugOpts.add( BuildOptionsAdapter.DEBUG_SOURCE );
-               debugOpts.add( BuildOptionsAdapter.DEBUG_VARS );
-               buildOptions.setDebugLevel( debugOpts );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               
-               // this should leave us with all debug on
-               assertOptionEquals( "debug source",
-                                                       options, 
-                                                   CompilerOptions.OPTION_SourceFileAttribute,
-                                                   CompilerOptions.GENERATE);
-               assertOptionEquals( "debug lines",
-                                                       options, 
-                                                   CompilerOptions.OPTION_LineNumberAttribute,
-                                                   CompilerOptions.GENERATE);
-               assertOptionEquals( "debug vars",
-                                                       options, 
-                                                   CompilerOptions.OPTION_LocalVariableAttribute,
-                                                   CompilerOptions.GENERATE);                                                                                                                                  
-       }
-       
-       public void testNoImport() {
-               buildOptions.setNoImportError( true );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-//             Map options = buildConfig.getJavaOptions();
-//             String noImport = (String) options.get( CompilerOptions.OPTION_ReportInvalidImport );
-//             assertEquals( "no import", CompilerOptions.WARNING, noImport );
-//             buildOptions.setNoImportError( false );
-       }
-       
-       public void testPreserveAllLocals() {
-               buildOptions.setPreserveAllLocals( true );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               Map options = buildConfig.getOptions().getMap();
-               String preserve = (String) options.get( CompilerOptions.OPTION_PreserveUnusedLocal );
-               assertEquals( "preserve unused", CompilerOptions.PRESERVE, preserve );
-       }       
-
-       public void testNonStandardOptions() {
-               buildOptions.setNonStandardOptions( "-XterminateAfterCompilation" );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               assertTrue( "XterminateAfterCompilation", buildConfig.isTerminateAfterCompilation() );
-               buildOptions.setNonStandardOptions( "-XserializableAspects" );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-               assertTrue( "XserializableAspects", buildConfig.isXserializableAspects() );
-               buildOptions.setNonStandardOptions( "-XnoInline" );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-               assertTrue( "XnoInline", buildConfig.isXnoInline());
-               buildOptions.setNonStandardOptions( "-Xlint" );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-               assertEquals( "Xlint", AjBuildConfig.AJLINT_DEFAULT, 
-                                      buildConfig.getLintMode());
-               buildOptions.setNonStandardOptions( "-Xlint:error" );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-               assertEquals( "Xlint", AjBuildConfig.AJLINT_ERROR, 
-                                      buildConfig.getLintMode());
-
-               // XXX test for lintfile
-//             buildOptions.setNonStandardOptions( "-Xlintfile testdata/AspectJBuildManagerTest/lint.properties" );
-//             buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-//             assertEquals( "Xlintfile", new File( "testdata/AspectJBuildManagerTest/lint.properties" ).getAbsolutePath(), 
-//                                    buildConfig.getLintSpecFile().toString());
-               // and a few options thrown in at once
-               buildOptions.setNonStandardOptions( "-Xlint -XnoInline -XserializableAspects" );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               assertEquals( "Xlint", AjBuildConfig.AJLINT_DEFAULT, 
-                                      buildConfig.getLintMode());
-               assertTrue( "XnoInline", buildConfig.isXnoInline());
-               assertTrue( "XserializableAspects", buildConfig.isXserializableAspects() );                                                                                     
-       }
-
-       public void testSourceRoots() {
-               Set roots = new HashSet();
-               projectProperties.setSourceRoots( roots );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               List configRoots = buildConfig.getSourceRoots();        
-               assertTrue( "no source dirs", configRoots.isEmpty() );
-               
-               File f = new File( AjdeTests.testDataPath("examples/figures/figures-coverage" ));
-               roots.add( f );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               List configRoots2 = buildConfig.getSourceRoots();       
-               assertTrue( "one source dir", configRoots2.size() == 1 );
-               assertTrue( "source dir", configRoots2.contains(f) );
-
-               
-               File f2 = new File( AjdeTests.testDataPath("examples/figures/figures-demo"));
-               roots.add( f2 );                
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               List configRoots3 = buildConfig.getSourceRoots();       
-               assertTrue( "two source dirs", configRoots3.size() == 2 );
-               assertTrue( "source dir 1", configRoots3.contains(f) );
-               assertTrue( "source dir 2", configRoots3.contains(f2) );
-       }
-       
-       public void testInJars() {
-               Set jars = new HashSet();
-               projectProperties.setInJars( jars );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               List inJars = buildConfig.getInJars();  
-               assertTrue( "no in jars", inJars.isEmpty() );
-               
-               File f = new File( "jarone.jar" );
-               jars.add( f );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               List inJars2 = buildConfig.getInJars();
-               assertTrue( "one in jar", inJars2.size() == 1 );
-               assertTrue( "in jar", inJars2.contains(f) );
-
-               
-               File f2 = new File( "jartwo.jar" );
-               jars.add( f2 );         
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-               List inJars3 = buildConfig.getInJars(); 
-               assertTrue( "two in jars", inJars3.size() == 2 );
-               assertTrue( "in jar 1", inJars3.contains(f) );
-               assertTrue( "in jar 2", inJars3.contains(f2) );         
-       }
-       
-       public void testAspectPath() {
-               Set aspects = new HashSet();
-               projectProperties.setAspectPath( aspects );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );
-        assertTrue(configFile + " failed", null != buildConfig);            
-               List aPath = buildConfig.getAspectpath();       
-               assertTrue( "no aspect path", aPath.isEmpty() );
-               
-               File f = new File( "jarone.jar" );
-               aspects.add( f );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               List aPath2 = buildConfig.getAspectpath();      
-               assertEquals("aspectpath", 1, aPath2.size());
-               assertTrue( "1 aspectpath", aPath2.contains(f) );
-
-               
-               File f2 = new File( "jartwo.jar" );
-               aspects.add( f2 );              
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               List aPath3 = buildConfig.getAspectpath();      
-               assertTrue( "two jars in path", aPath3.size() == 2 );
-               assertTrue( "1 aspectpath", aPath3.contains(f) );
-               assertTrue( "2 aspectpath", aPath3.contains(f2) );              
-       }
-       
-       public void testOutJar() {
-               String outJar = "mybuild.jar";
-               projectProperties.setOutJar( outJar );
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               assertNotNull("output jar", buildConfig.getOutputJar());
-        assertEquals( "out jar", outJar, buildConfig.getOutputJar().toString() );                              
-       }
-       
-       public void testXHasMember() {
-               buildOptions.setNonStandardOptions("-XhasMember");
-               buildConfig = compilerAdapter.genBuildConfig( configFile );                     
-        assertTrue(configFile + " failed", null != buildConfig);            
-               assertTrue( "XhasMember", buildConfig.isXHasMemberEnabled() );
-       }
-
-       protected void setUp() throws Exception {
-               preferencesAdapter = new UserPreferencesStore(false);
-               buildOptions = new AjcBuildOptions(preferencesAdapter);
-               compilerAdapter = new CompilerAdapter();
-               projectProperties = new NullIdeProperties( "" );
-        taskListManager = new NullIdeTaskListManager();
-        ErrorHandler handler = new NullIdeErrorHandler();
-        try {
-            Ajde.init(            
-                null,
-                taskListManager,
-                null,
-                projectProperties,  
-                buildOptions,
-                null,
-                null,
-                handler);  
-        } catch (Throwable t) {
-            String s = "Unable to initialize AJDE "
-                + LangUtil.renderException(t);
-            assertTrue(s, false);
-        }
-       }
-       
-       protected void tearDown() throws Exception {
-               super.tearDown();
-        preferencesAdapter = null;
-        buildOptions = null;
-        compilerAdapter = null;
-        projectProperties = null;
-        taskListManager = null;
-       }
-
-       private void assertOptionEquals( String reason, Map options, String optionName, String value) {
-               String mapValue = (String) options.get(optionName);
-               assertEquals( reason, value, mapValue );
-       }
-       
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/BuildOptionsTest.java b/ajde/testsrc/org/aspectj/ajde/BuildOptionsTest.java
deleted file mode 100644 (file)
index 579912d..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- *        AMC 01.21.2003 extended to cover new AspectJ1.1 options
- * ******************************************************************/
-
-
-package org.aspectj.ajde;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import junit.framework.TestSuite;
-
-import org.aspectj.ajde.ui.UserPreferencesAdapter;
-import org.aspectj.ajde.ui.internal.AjcBuildOptions;
-import org.aspectj.ajde.ui.internal.UserPreferencesStore;
-
-public class BuildOptionsTest extends AjdeTestCase {
-
-       private AjcBuildOptions buildOptions = null;
-       private UserPreferencesAdapter preferencesAdapter = null;
-
-       public BuildOptionsTest(String name) {
-               super(name);
-       }
-
-       public static void main(String[] args) {
-               junit.swingui.TestRunner.run(BuildOptionsTest.class);
-       }
-
-       public static TestSuite suite() {
-               TestSuite result = new TestSuite();
-               result.addTestSuite(BuildOptionsTest.class);    
-               return result;
-       }
-
-       public void testCharacterEncoding() {
-               buildOptions.setCharacterEncoding("mumble");
-               assertTrue("character encoding", buildOptions.getCharacterEncoding().equals("mumble"));
-       }
-       
-//     public void testPortingMode() {
-//             buildOptions.setPortingMode(true);
-//             assertTrue("porting mode", buildOptions.getPortingMode());
-//     }
-
-       public void testVerboseMode() {
-               buildOptions.setVerboseMode(true);
-               assertTrue("verbose mode", buildOptions.getVerboseMode());      
-       }               
-       
-       public void testNonStandardOptions() {
-               buildOptions.setNonStandardOptions( "-Xlint" );
-               assertEquals( "non std options", "-Xlint", 
-                       buildOptions.getNonStandardOptions());
-       }
-       
-       public void testComplianceLevel() {
-               buildOptions.setComplianceLevel( BuildOptionsAdapter.VERSION_14 );
-               assertEquals( "compliance level",
-                                         BuildOptionsAdapter.VERSION_14,
-                                         buildOptions.getComplianceLevel());   
-       }
-       
-       public void testSourceCompatibilityLevel() {
-               buildOptions.setSourceCompatibilityLevel(BuildOptionsAdapter.VERSION_13);
-               assertEquals( "source level",
-                                         BuildOptionsAdapter.VERSION_13,
-                                         buildOptions.getSourceCompatibilityLevel());                          
-       }
-       
-       public void testWarnings() {
-               buildOptions.setWarnings( null );
-               assertNull( "null warning set", buildOptions.getWarnings());
-               HashSet s = new HashSet();
-               buildOptions.setWarnings( s );
-               Set s2 = buildOptions.getWarnings();
-               assertTrue( "empty warning set", s2.isEmpty() );
-               s.add( BuildOptionsAdapter.WARN_ASSERT_IDENITIFIER );
-               s.add( BuildOptionsAdapter.WARN_MASKED_CATCH_BLOCKS );
-               buildOptions.setWarnings( s );
-               s2 = buildOptions.getWarnings();
-               assertTrue( "two warnings", s2.size() == 2 );
-               boolean warn_assert_found = false;
-               boolean warn_catch_found = false;
-               Iterator it = s2.iterator();
-               while (it.hasNext()) {
-                       String option = (String) it.next();
-                       if ( option.equals( BuildOptionsAdapter.WARN_ASSERT_IDENITIFIER ) ) {
-                               warn_assert_found = true;
-                       }                                       
-                       if ( option.equals( BuildOptionsAdapter.WARN_MASKED_CATCH_BLOCKS ) ) {
-                               warn_catch_found = true;
-                       }                                       
-               }
-               assertTrue( "assert warning found", warn_assert_found );        
-               assertTrue( "catch waning found", warn_catch_found );
-       }
-       
-       public void testDebugLevel() {
-               buildOptions.setDebugLevel( null );
-               assertNull( "null debug set", buildOptions.getDebugLevel());
-               HashSet s = new HashSet();
-               buildOptions.setDebugLevel( s );
-               Set s2 = buildOptions.getDebugLevel();
-               assertTrue( "empty debug set", s2.isEmpty() );
-               s.add( BuildOptionsAdapter.DEBUG_LINES );
-               s.add( BuildOptionsAdapter.DEBUG_SOURCE );
-               buildOptions.setDebugLevel( s );
-               s2 = buildOptions.getDebugLevel();
-               assertTrue( "two warnings", s2.size() == 2 );
-               boolean debug_lines_found = false;
-               boolean debug_source_found = false;
-               Iterator it = s2.iterator();
-               while (it.hasNext()) {
-                       String option = (String) it.next();
-                       if ( option.equals( BuildOptionsAdapter.DEBUG_LINES ) ) {
-                               debug_lines_found = true;
-                       }                                       
-                       if ( option.equals( BuildOptionsAdapter.DEBUG_SOURCE ) ) {
-                               debug_source_found = true;
-                       }                                       
-               }
-               assertTrue( "debug lines found", debug_lines_found );   
-               assertTrue( "debug source found", debug_source_found );                         
-       }
-
-       public void testNoImportError() {
-               buildOptions.setNoImportError(true);
-               assertTrue("no import error", buildOptions.getNoImportError());                 
-       }
-       
-       public void testPreserveLocals() {
-               buildOptions.setPreserveAllLocals(true);
-               assertTrue("preserve all locals", buildOptions.getPreserveAllLocals());                                 
-       }
-       
-       protected void setUp() throws Exception {
-               super.setUp();
-               preferencesAdapter = new UserPreferencesStore(false);
-               buildOptions = new AjcBuildOptions(preferencesAdapter);
-       }
-
-       protected void tearDown() throws Exception {
-               super.tearDown();
-               buildOptions.setCharacterEncoding("");
-//             buildOptions.setPortingMode(true);
-       }
-}
-
diff --git a/ajde/testsrc/org/aspectj/ajde/CompilerMessagesTest.java b/ajde/testsrc/org/aspectj/ajde/CompilerMessagesTest.java
deleted file mode 100644 (file)
index 15c4254..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2003 Contributors.
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     AMC 2003     initial version
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.io.IOException;
-import java.util.List;
-
-//import org.aspectj.bridge.*;
-import org.aspectj.bridge.IMessage;
-
-/**
- * @author colyer
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class CompilerMessagesTest extends AjdeTestCase {
-       
-    // TODO-path
-       private final String CONFIG_FILE_PATH = "../examples/declare-warning/all.lst";
-
-       public CompilerMessagesTest(String name) {
-               super(name);
-       }
-
-       public void testMessages() {
-               // bug 33474
-               // The build has happened, what messages did the compiler give, and do they
-               // contain the information we expect?
-               List msgs = NullIdeManager.getIdeManager().getCompilationSourceLineTasks();
-        if (2 != msgs.size()) {
-            assertTrue("not two messages: " + msgs, false);
-        }
-               assertEquals("Two warning messages should be produced",2,msgs.size());
-               NullIdeTaskListManager.SourceLineTask task = 
-                       (NullIdeTaskListManager.SourceLineTask) msgs.get(0);
-               assertEquals( 8, task.getContainedMessage().getSourceLocation().getLine());
-               assertEquals( "Please don't call init methods", task.message.getMessage());
-               try {
-                       String fullyQualifiedFile = task.getContainedMessage().getSourceLocation().getSourceFile().getCanonicalPath();
-                       // this name has a tester specific prefix, followed by the location of the file.
-                       // we can validate the ending.
-                       fullyQualifiedFile = fullyQualifiedFile.replace('\\','/');  // ignore platform differences in slashes
-                       assertTrue( "Fully-qualified source file location returned", 
-                               fullyQualifiedFile.endsWith("/examples/declare-warning/apackage/SomeClass.java"));
-               } catch (IOException ex) {
-                       assertTrue( "Unable to convert source file location: " + task.getContainedMessage().getSourceLocation().getSourceFile(), false);
-               }
-       }
-
-       public void testDeclareMessageContents() {
-               List msgs = NullIdeManager.getIdeManager().getCompilationSourceLineTasks();
-               IMessage msg = (IMessage)((NullIdeTaskListManager.SourceLineTask)msgs.get(1)).getContainedMessage();
-               assertEquals( "Please don't call setters" , msg.getMessage());
-               assertEquals("field-set(int apackage.SomeClass.x)", msg.getDetails());
-       }
-
-
-       /*
-        * @see TestCase#setUp()
-        */
-       protected void setUp() throws Exception {
-               super.setUp("examples");
-               doSynchronousBuild(CONFIG_FILE_PATH);   
-       }
-
-       /*
-        * @see AjdeTestCase#tearDown()
-        */
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/DuplicateManifestTest.java b/ajde/testsrc/org/aspectj/ajde/DuplicateManifestTest.java
deleted file mode 100644 (file)
index 620ccf0..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Matthew Webster - initial implementation
- *******************************************************************************/
-package org.aspectj.ajde;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-
-public class DuplicateManifestTest extends AjdeTestCase {
-
-
-       public static final String PROJECT_DIR = "DuplicateManifestTest";
-
-       public static final String injarName  = "injar.jar";
-       public static final String aspectjarName  = "aspectjar.jar";
-       public static final String outjarName = "outjar.jar";
-
-
-       /*
-        * Ensure the output directpry in clean
-        */
-       protected void setUp() throws Exception {
-               super.setUp(PROJECT_DIR);
-       }
-       
-       public void testWeave () {
-               Set injars = new HashSet();
-               injars.add(openFile(injarName));
-               ideManager.getProjectProperties().setInJars(injars);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile(aspectjarName));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               File outjar = openFile(outjarName);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed", doSynchronousBuild("build.lst"));
-               assertTrue(
-                       "Build warnings",
-                       ideManager.getCompilationSourceLineTasks().isEmpty());
-               compareManifests(openFile(injarName),openFile(outjarName));
-               outjar.delete(); // Tidy up !
-               File rogueSymFile = new File(currTestDataPath + File.separatorChar + "build.ajsym");
-               if (rogueSymFile.exists()) rogueSymFile.delete();
-       }
-       
-       private void compareManifests (File inFile, File outFile) {
-
-               try {
-                       JarFile inJar = new JarFile(inFile);
-                       Manifest inManifest = inJar.getManifest();
-                       inJar.close();
-                       JarFile outJar = new JarFile(outFile);
-                       Manifest outManifest = outJar.getManifest();
-                       outJar.close();
-                       assertTrue("The manifests in '" + inFile.getCanonicalPath() + "' and '" + outFile.getCanonicalPath() + "' sould be the same",inManifest.equals(outManifest));
-               }
-               catch (IOException ex) {
-                       fail(ex.toString());
-               }
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/GenericsTest.java b/ajde/testsrc/org/aspectj/ajde/GenericsTest.java
deleted file mode 100644 (file)
index df30060..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 Contributors
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     Mik Kersten - initial implementation
- *******************************************************************************/
-package org.aspectj.ajde;
-
-//import org.aspectj.asm.AsmManager;
-
-/**
- * @author Mik Kersten
- */
-public class GenericsTest extends AjdeTestCase {
-    
-    //private AsmManager manager = null;
-    // TODO-path
-       //private static final String CONFIG_FILE_PATH = "../bug-83565/build.lst";
-       public void testBuild() {       
-//         assertTrue("build success", doSynchronousBuild(CONFIG_FILE_PATH));  
-       }
-       
-       protected void setUp() throws Exception {
-               super.setUp("examples");
-               //manager = AsmManager.getDefault();
-       }
-    
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/InpathTestcase.java b/ajde/testsrc/org/aspectj/ajde/InpathTestcase.java
deleted file mode 100644 (file)
index b5a7362..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2003 Contributors.
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Mik Kersten     initial implementation
- *    Andy Clement     Copied/changed for -inpath testing 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.JarInputStream;
-import java.util.zip.*;
-
-import org.aspectj.util.FileUtil;
-
-/**
- * @author websterm
- */
-public class InpathTestcase extends AjdeTestCase {
-
-       public static final String PROJECT_DIR = "InpathTest";
-       public static final String binDir = "bin";
-
-       public static final String indir1Name = "indir1";
-       public static final String indir2Name = "indir2";
-       public static final String injarName  = "injar.jar";
-       public static final String outjarName = "/bin/output.jar";
-
-       /**
-        * Constructor for JarResourceCopyTestCase.
-        * @param arg0
-        */
-       public InpathTestcase(String arg0) {
-               super(arg0);
-       }
-
-
-
-       /*
-        * Ensure the output directpry in clean
-        */
-       protected void setUp() throws Exception {
-               super.setUp(PROJECT_DIR);
-               FileUtil.deleteContents(openFile(binDir));
-       }
-
-
-
-       /**
-        * Inputs to the compiler:
-        *   inpath = 'indir1/'
-        *   source = 'src'
-        *   output = a jar file
-        * 
-        * Expected result = output jar file contains contents of indir1 and 
-        *                   class file for source that was in src
-        */
-       public void testInpathToOutjar() {
-               Set inpath = new HashSet();
-               File indir1 = openFile(indir1Name);
-               inpath.add(indir1);
-               ideManager.getProjectProperties().setInpath(inpath);
-               File outjar = openFile(outjarName);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed", doSynchronousBuild("build.lst"));
-               assertTrue("Build warnings", ideManager.getCompilationSourceLineTasks().isEmpty());
-
-               Set expectedOutputJarContents = new HashSet();
-               // From indir1
-// If we don't copy resources, these next three files won't make it.
-//             expectedOutputJarContents.add("META-INF/MANIFEST.MF");
-//             expectedOutputJarContents.add("META-INF/test.xml");
-//             expectedOutputJarContents.add("test/test.props");
-               expectedOutputJarContents.add("test/TestProperties.class");
-               // From src
-               expectedOutputJarContents.add("Main.class");
-
-               compareJars(indir1, "src", outjar, expectedOutputJarContents);
-
-               // Tidy up
-               FileUtil.deleteContents(openFile(binDir));
-               openFile(binDir).delete();
-               assertFalse(openFile(binDir).exists());
-       }
-
-
-
-       /**
-        * Similar to the first test but outputs to a directory rather than
-        * a jar.
-        *
-        */
-       public void testInpathToBin() {
-               Set inpath = new HashSet();
-               File indir1 = openFile(indir1Name);
-               inpath.add(indir1);
-               ideManager.getProjectProperties().setInpath(inpath);
-               assertTrue("Build failed", doSynchronousBuild("build.lst"));
-               assertTrue(
-                       "Build warnings",
-                       ideManager.getCompilationSourceLineTasks().isEmpty());
-
-               Set expectedBindirContents = new HashSet();
-               // From indir1
-// If we don't copy resources, these next three files won't make it
-//             expectedBindirContents.add("META-INF/MANIFEST.MF");
-//             expectedBindirContents.add("META-INF/test.xml");
-//             expectedBindirContents.add("test/test.props");
-               expectedBindirContents.add("test/TestProperties.class");
-               // From src
-               expectedBindirContents.add("Main.class");
-
-               compareIndirToBin(indir1, "src", "bin", expectedBindirContents);
-               
-               // Tidy up
-               FileUtil.deleteContents(openFile(binDir));
-               openFile(binDir).delete();
-               assertFalse(openFile(binDir).exists());
-       }
-
-
-
-       /**
-        * Inputs to the compiler:
-        *   inpath is 'indir2' that contains a helloworld source file and class file.
-        *   source is 'src2' which contains Aspect.java which weaves before advice into the HelloWorld code from 'indir2'
-        * 
-        * Expected result: HelloWorld copied through to output jar and 'weaved'.  Compiled version of Aspect.java put into
-        *                  the output jar.  The HelloWorld.java source file is also copied through to the output jar.
-        * 
-        * An extra check is done at the end of this test to verify that HelloWorld has changed size (due to the weaving).
-        */
-       public void testInpathToOutjar2() {
-               Set inpath = new HashSet();
-               File indir2 = openFile(indir2Name);
-               inpath.add(indir2);
-               ideManager.getProjectProperties().setInpath(inpath);
-               File outjar = openFile(outjarName);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed", doSynchronousBuild("build2.lst"));
-               assertTrue(
-                       "Build warnings",
-                       ideManager.getCompilationSourceLineTasks().isEmpty());
-
-               Set expectedOutputJarContents = new HashSet();
-               // From indir1
-               expectedOutputJarContents.add("example/HelloWorld.class");
-
-//             If we don't copy resources, this file won't make it
-//             expectedOutputJarContents.add("example/HelloWorld.java");
-               // From src
-               expectedOutputJarContents.add("Aspect.class");
-
-               compareJars(indir2, "src", outjar, expectedOutputJarContents);
-
-               // Extra test.  The HelloWorld class from the input directory should have been woven
-               // by the aspect - verify that the size of the HelloWorld class in the output directory
-               // is a different size to the input version.
-               int outputsize = fetchFromJar(outjar, "example/HelloWorld.class");                                
-               try {
-                       FileInputStream fis = new FileInputStream(openFile(indir2Name+"/example/HelloWorld.class"));
-                       byte[] filedata = FileUtil.readAsByteArray(fis);
-                       int inputsize = filedata.length;
-                       assertTrue("Weaving of Aspect should have occurred but the input and output size for HelloWorld.class are the same",
-                               (inputsize!=outputsize));
-               } catch (Exception e) {
-                       e.printStackTrace();
-                       fail();
-               }
-               
-               FileUtil.deleteContents(openFile(binDir));
-               openFile(binDir).delete();
-               assertFalse(openFile(binDir).exists());
-       }
-       
-       
-       
-       /**
-        * More complex inpath - a jar and a directory
-        * 
-        * Inputs:
-        *   -inpath injar.jar;indir2
-        *   source is 'src2' which contains Aspect.java
-        * 
-        * Expected result: Result should be a directory containing the contents of injar.jar and indir2 and the
-        *                  Aspect.class file.
-        *
-        */
-       public void testInpathAndInjarToBin() {
-               Set inpath = new HashSet();
-               File indir2 = openFile(indir2Name);
-               inpath.add(indir2);
-               inpath.add(openFile(injarName));
-               ideManager.getProjectProperties().setInpath(inpath);
-               assertTrue("Build failed", doSynchronousBuild("build2.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-
-               Set expectedBindirContents = new HashSet();
-
-               // From indir1
-               expectedBindirContents.add("example/HelloWorld.class");
-
-//             If we don't copy resources, this file won't make it
-//             expectedBindirContents.add("example/HelloWorld.java");
-               // From injar.jar
-               expectedBindirContents.add("props/resources.properties");
-               // From src
-               expectedBindirContents.add("Aspect.class");
-
-               compareIndirToBin(indir2, "src", "bin", expectedBindirContents);
-               
-               // Check the input and output versions of HelloWorld.class are different sizes
-               try {
-                       FileInputStream fis1 = new FileInputStream(openFile("indir2/example/HelloWorld.class"));
-                       byte[] filedata1 = FileUtil.readAsByteArray(fis1);
-                       int inputsize = filedata1.length;
-                       FileInputStream fis2 = new FileInputStream(openFile("bin/example/HelloWorld.class"));
-                       byte[] filedata2 = FileUtil.readAsByteArray(fis2);
-                       int outputsize = filedata2.length;
-                       assertTrue("Weaving of Aspect should have occurred but the input and output size for HelloWorld.class are the same",
-                                         (outputsize!=inputsize));
-
-                       fis1.close();
-                       fis2.close();
-               } catch (Exception e) {
-                       e.printStackTrace();
-                       fail();
-               }
-               
-               FileUtil.deleteContents(openFile(binDir));
-               openFile(binDir).delete();
-               assertFalse(openFile(binDir).exists());
-       }
-
-
-
-       // Return the size of specified entry from the output jar file
-       public int fetchFromJar(File outjarFile, String filename) {
-               int ret = -1;
-               try {
-                       JarInputStream outjar;
-
-                       outjar =
-                               new JarInputStream(new java.io.FileInputStream(outjarFile));
-
-                       ZipEntry entry;
-                       while (null != (entry = (ZipEntry)outjar.getNextEntry())) {
-                               String zipentryname = entry.getName();
-                               if (zipentryname.equals(filename)) {
-                                               byte[] filedata = FileUtil.readAsByteArray(outjar);
-                                               ret = filedata.length;
-                                               outjar.closeEntry();
-                                               break;
-                               }
-                               outjar.closeEntry();
-                       }
-                       outjar.close();
-               } catch (FileNotFoundException e) {
-                       e.printStackTrace();
-               } catch (IOException e) {
-                       e.printStackTrace();
-               }
-               return ret;
-       }
-       /*
-        * Ensure -outjar contains all non-Java resouces from injars
-        */
-       public void compareJars(
-               File dirFile,
-               String sourceDir,
-               File outjarFile,
-               Set expectedOutputJarContents) {
-
-               try {
-                       assertTrue(
-                               "outjar older than injar",
-                               (outjarFile.lastModified() > dirFile.lastModified()));
-
-                       // Go through the output jar file, for each element, remove it from
-                       // the expectedOutputJarContents - when we finish, the expectedOutputJarContents
-                       // set should be empty!
-                       JarInputStream outjar =
-                               new JarInputStream(new java.io.FileInputStream(outjarFile));
-                       ZipEntry entry;
-                       while (null != (entry = outjar.getNextEntry())) {
-                               String fileName = entry.getName();
-                               fileName = fileName.replace('\\', '/');
-                               if (fileName.indexOf("CVS") == -1) {
-                                       boolean b = expectedOutputJarContents.remove(fileName);
-                                       assertTrue(
-                                                       "Unexpectedly found : " + fileName + " in outjar",
-                                                       b);
-                               }
-                               outjar.closeEntry();
-                       }
-                       outjar.close();
-
-                       assertTrue(
-                               "Didnt make it into the output jar: "
-                                       + expectedOutputJarContents.toString(),
-                               expectedOutputJarContents.isEmpty());
-               } catch (IOException ex) {
-                       fail(ex.toString());
-               }
-       }
-
-       /*
-        * Ensure -outjar contains all non-Java resouces from source and injars
-        */
-       public void compareSourceToOutjar(String indirName, File outjarFile) {
-               HashSet resources = new HashSet();
-               listSourceResources(indirName, resources);
-
-               try {
-
-                       JarInputStream outjar =
-                               new JarInputStream(new java.io.FileInputStream(outjarFile));
-                       ZipEntry entry;
-                       while (null != (entry = outjar.getNextEntry())) {
-                               String fileName = entry.getName();
-
-                               if (!fileName.endsWith(".class")) {
-                                       boolean b = resources.remove(fileName);
-                                       assertTrue(fileName, b);
-                               }
-                               outjar.closeEntry();
-                       }
-                       outjar.close();
-
-                       assertTrue(
-                               "Missing resources: " + resources.toString(),
-                               resources.isEmpty());
-               } catch (IOException ex) {
-                       fail(ex.toString());
-               }
-       }
-
-       /*
-        * Ensure bin contains all non-Java resouces from source and injars
-        */
-       public void compareIndirToBin(
-               File indirFile,
-               String sourceDir,
-               String outdirName,
-               Set expectedOutdirContents) {
-
-//             byte[] inManifest = null;
-
-               File binBase = openFile(outdirName);
-               String[] toResources = FileUtil.listFiles(binBase);
-               for (int i = 0; i < toResources.length; i++) {
-                       String fileName = toResources[i];
-                       if (fileName.indexOf("CVS") == -1) {
-                               boolean b = expectedOutdirContents.remove(fileName);
-                               assertTrue("Extraneous resources: " + fileName, b);
-                       }
-               }
-
-               assertTrue(
-                       "Missing resources: " + expectedOutdirContents.toString(),
-                       expectedOutdirContents.isEmpty());
-       }
-
-       /**
-        * @param resources
-        */
-//     private void dumpResources(HashSet resources) {
-//             System.err.println("Dump: " + resources.size() + " resources");
-//             for (Iterator iter = resources.iterator(); iter.hasNext();) {
-//                     Object element = (Object) iter.next();
-//                     System.err.println("  Resource: " + element);
-//             }
-//     }
-
-       private void listSourceResources(String indirName, Set resources) {
-               File srcBase = openFile(indirName);
-               File[] fromResources =
-                       FileUtil.listFiles(srcBase, aspectjResourceFileFilter);
-               for (int i = 0; i < fromResources.length; i++) {
-                       String name = FileUtil.normalizedPath(fromResources[i], srcBase);
-                       //System.err.println("Checking "+name);
-                       if (!name.startsWith("CVS/")
-                               && (-1 == name.indexOf("/CVS/"))
-                               && !name.endsWith("/CVS")) {
-                               resources.add(name);
-                       }
-               }
-       }
-
-//     private byte[] listDirResources(File directory, Set resources) {
-//             return listDirResources(
-//                     directory.getAbsolutePath(),
-//                     directory,
-//                     resources);
-//     }
-
-//     private byte[] listDirResources(
-//             String prefix,
-//             File directory,
-//             Set resources) {
-//             byte[] manifest = null;
-//
-//             File[] resourceFiles = directory.listFiles(new FileFilter() {
-//                     public boolean accept(File arg0) {
-//                             boolean accept =
-//                                     !arg0.getName().endsWith(".class") && !arg0.isDirectory();
-//                             return accept;
-//                     }
-//             });
-//             for (int i = 0; i < resourceFiles.length; i++) {
-//                     File f = resourceFiles[i];
-//                     String name = f.getAbsolutePath();
-//                     if (f.getAbsolutePath().startsWith(prefix))
-//                             name = name.substring(prefix.length());
-//                     name = name.replace('\\', '/');
-//
-//                     resources.add(resourceFiles[i]);
-//             }
-//             File[] subdirs = directory.listFiles(new FileFilter() {
-//                     public boolean accept(File arg0) {
-//                             return arg0.isDirectory();
-//                     }
-//             });
-//             for (int i = 0; i < subdirs.length; i++) {
-//                     listDirResources(prefix, subdirs[i], resources);
-//             }
-//
-//             return manifest;
-//     }
-
-       public static final FileFilter aspectjResourceFileFilter =
-               new FileFilter() {
-               public boolean accept(File pathname) {
-                       String name = pathname.getName().toLowerCase();
-                       return (
-                               !name.endsWith(".class")
-                                       && !name.endsWith(".java")
-                                       && !name.endsWith(".aj"));
-
-               }
-       };
-
-       /*
-        * Ensure bin contains all non-Java resouces from source and injars
-        */
-       public void compareDirs(String indirName, String outdirName) {
-               File binBase = openFile(outdirName);
-               File[] toResources =
-                       FileUtil.listFiles(binBase, aspectjResourceFileFilter);
-
-               HashSet resources = new HashSet();
-               listSourceResources(indirName, resources);
-
-               for (int i = 0; i < toResources.length; i++) {
-                       String fileName = FileUtil.normalizedPath(toResources[i], binBase);
-                       boolean b = resources.remove(fileName);
-                       assertTrue("Extraneous resources: " + fileName, b);
-               }
-
-               assertTrue(
-                       "Missing resources: " + resources.toString(),
-                       resources.isEmpty());
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/JarManifestTest.java b/ajde/testsrc/org/aspectj/ajde/JarManifestTest.java
deleted file mode 100644 (file)
index 0211584..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
- * Created on 16-Mar-2004
- *
- * To change the template for this generated file go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-package org.aspectj.ajde;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.jar.JarInputStream;
-import java.util.jar.Manifest;
-
-import org.aspectj.util.FileUtil;
-
-/**
- * @author websterm
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class JarManifestTest extends AjdeTestCase {
-       public static final String PROJECT_DIR = "JarManifestTest";   
-       public static final String srcDir = PROJECT_DIR + "/src"; 
-       public static final String binDir = "bin"; 
-
-       public static final String outjarName = "/bin/output.jar"; 
-
-       /**
-        * Constructor for JarResourceCopyTestCase.
-        * @param arg0
-        */
-       public JarManifestTest (String arg0) {
-               super(arg0);
-       }
-
-       /*
-        * Ensure the output directpry in clean
-        */     
-       protected void setUp() throws Exception {
-               super.setUp(PROJECT_DIR);
-               FileUtil.deleteContents(openFile(binDir));
-       }
-
-       public void testWeave () {
-               File outjar = openFile(outjarName);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed",doSynchronousBuild("weave.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-               checkManifest(outjar);
-       }
-
-       public void testNoweave () {
-               File outjar = openFile(outjarName);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed",doSynchronousBuild("noweave.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-               checkManifest(outjar);
-       }
-       
-       private void checkManifest (File outjarFile) {
-               Manifest manifest = null;
-
-               try {
-                       JarInputStream outjar = new JarInputStream(new FileInputStream(outjarFile));
-                       manifest = outjar.getManifest();
-                       outjar.close();
-                       assertNotNull("'" + outjarFile.getCanonicalPath() + "' should contain a manifest",manifest);
-               }
-               catch (IOException ex) {
-                       fail(ex.toString());
-               }
-       }
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/ModelPerformanceTest.java b/ajde/testsrc/org/aspectj/ajde/ModelPerformanceTest.java
deleted file mode 100644 (file)
index 99da65f..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2003 Contributors.
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Mik Kersten     initial implementation 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-/**
- * @author Mik Kersten
- */
-public class ModelPerformanceTest extends AjdeTestCase {
-
-    // TODO-path
-       private final String CONFIG_FILE_PATH = "../examples/spacewar/spacewar/debug.lst";
-  
-       public ModelPerformanceTest(String name) {
-               super(name);
-       }
-
-       public static void main(String[] args) {
-               junit.swingui.TestRunner.run(ModelPerformanceTest.class);
-       }
-       public void testNothingButKeepAntJUnitHappy() {}
-       /**
-        * Assert that a compile that includes building the structure model
-        * adds an acceptable percentage of overhead.
-        * 
-        * Does a few initial builds to minimize caching effects.
-        */
-       public void skip_testRelativeToNoModel() {
-               timedBuild(true);
-               timedBuild(false);
-               timedBuild(true);
-               
-               long rawBuildTime = timedBuild(false);
-               long modelBuildTime = timedBuild(true);
-               float overhead = (float)modelBuildTime / (float)rawBuildTime;
-               
-               assertTrue("overhead is " + overhead + " > 1.3", overhead < 1.3);
-//             System.err.println("> overhead: " + overhead);
-       }
-
-       public long timedBuild(boolean buildModel) {
-               long startTime = System.currentTimeMillis();
-               doSynchronousBuild(CONFIG_FILE_PATH);
-               Ajde.getDefault().getBuildManager().setBuildModelMode(buildModel);
-               long endTime = System.currentTimeMillis();
-               return  (endTime - startTime);
-               
-       }
-
-       protected void setUp() throws Exception {
-               super.setUp("examples");        
-       }
-
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-
-}
-
diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeEditorAdapter.java b/ajde/testsrc/org/aspectj/ajde/NullIdeEditorAdapter.java
deleted file mode 100644 (file)
index b4bf2dd..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2003 Contributors.
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Mik Kersten     initial implementation 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.io.IOException;
-import java.util.List;
-
-import org.aspectj.bridge.ISourceLocation;
-
-/**
- * @author beatmik
- */
-public class NullIdeEditorAdapter implements EditorAdapter {
-
-       public void showSourceLine(
-               String filePath,
-               int lineNumber,
-               boolean highlight) {
-
-       }
-
-       public void showSourceLine(
-               ISourceLocation sourceLocation,
-               boolean highlight) {
-
-       }
-
-       public void showSourceLine(int lineNumber, boolean highlight) {
-
-       }
-
-       public String getCurrFile() {
-               return null;
-       }
-
-       public void saveContents() throws IOException {
-       }
-
-       public void pasteToCaretPos(String text) {
-
-       }
-
-
-       public void showSourcelineAnnotation(
-               String filePath,
-               int lineNumber,
-               List items) {
-
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeErrorHandler.java b/ajde/testsrc/org/aspectj/ajde/NullIdeErrorHandler.java
deleted file mode 100644 (file)
index f5337ad..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-/**
- * @author Mik Kersten
- */
-public class NullIdeErrorHandler implements ErrorHandler {
-
-       public void handleWarning(String message) {
-               System.out.println("NullIde> warning: " + message);
-       }
-
-       public void handleError(String message) {
-               System.out.println("NullIde> error: " + message);
-       }
-
-       public void handleError(String message, Throwable t) {
-               System.out.println("NullIde> error: " + message);
-               t.printStackTrace(System.out);
-       }
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java b/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java
deleted file mode 100644 (file)
index 400e9f7..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC       initial implementation 
- *     AMC  03.27.2003  changed to allow access to NullIdeManager
- *                                             as a singleton - needed for verifying
- *                                             compiler warning and error messages.
- * ******************************************************************/
-
-
-package org.aspectj.ajde;
-
-import java.util.List;
-
-import javax.swing.JFrame;
-
-import org.aspectj.ajde.ui.IdeUIAdapter;
-import org.aspectj.ajde.ui.UserPreferencesAdapter;
-import org.aspectj.ajde.ui.internal.UserPreferencesStore;
-import org.aspectj.ajde.ui.swing.*;
-
-/**
- * @author Mik Kersten
- */
-public class NullIdeManager {
-       
-       private static NullIdeManager ideManager = null;
-       private NullIdeTaskListManager taskListManager = null;
-       private NullIdeProperties projectProperties = null;
-       private boolean initialized = false;
-       
-       public static NullIdeManager getIdeManager() {
-               if ( null == ideManager ) {
-                       ideManager = new NullIdeManager();
-               }
-               return ideManager;
-       }
-       
-       public void init(String testProjectPath) {
-               try {
-                       UserPreferencesAdapter preferencesAdapter = new UserPreferencesStore(false);
-                       projectProperties = new NullIdeProperties(testProjectPath);
-                       taskListManager = new NullIdeTaskListManager();
-                       EditorAdapter ajdeEditor = new NullIdeEditorAdapter();
-                       IdeUIAdapter uiAdapter = new NullIdeUIAdapter();
-                       JFrame nullFrame = new JFrame();
-
-                       AjdeUIManager.getDefault().init(
-                               ajdeEditor,
-                               taskListManager,
-                               projectProperties,  
-                               preferencesAdapter,
-                               uiAdapter,
-                               new IconRegistry(),
-                               nullFrame,
-                               new NullIdeProgressMonitor(),
-                               new NullIdeErrorHandler(),
-                               true);  
-                       initialized = true;
-               } catch (Throwable t) {
-                       initialized = false;
-                       t.printStackTrace();
-                       Ajde.getDefault().getErrorHandler().handleError(
-                               "Null IDE failed to initialize.",
-                               t);
-               }
-       }
-       
-       public List getCompilationSourceLineTasks() {
-               return taskListManager.getSourceLineTasks();
-       }
-       
-       public NullIdeProperties getProjectProperties() {
-               return projectProperties;
-       }
-
-       public void setProjectProperties(NullIdeProperties properties) {
-               projectProperties = properties;
-       }
-
-       public boolean isInitialized() {
-               return initialized && AjdeUIManager.getDefault().isInitialized();
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeProgressMonitor.java b/ajde/testsrc/org/aspectj/ajde/NullIdeProgressMonitor.java
deleted file mode 100644 (file)
index ab451f0..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-/**
- * @author Mik Kersten
- */
-public class NullIdeProgressMonitor implements BuildProgressMonitor {
-
-       public void start(String configFile) {
-               
-       }
-
-       public void setProgressText(String text) {
-
-       }
-
-       public void setProgressBarVal(int newVal) {
-
-       }
-
-       public void incrementProgressBarVal() {
-
-       }
-
-       public void setProgressBarMax(int maxVal) {
-
-       }
-
-       public int getProgressBarMax() {
-               return 0;
-       }
-
-       public void finish(boolean b) {
-
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeProperties.java b/ajde/testsrc/org/aspectj/ajde/NullIdeProperties.java
deleted file mode 100644 (file)
index 5a38d44..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- *        AMC 01.20.2003 extended to support AspectJ 1.1 options
- * ******************************************************************/
-
-
-package org.aspectj.ajde;
-
-import java.io.*;
-import java.util.*;
-
-import org.aspectj.tools.ajc.AjcTests;
-import org.aspectj.util.FileUtil;
-
-/**
- * @author     Mik Kersten
- */
-public class NullIdeProperties implements ProjectPropertiesAdapter {
-
-       private String testProjectPath = "";
-       private List buildConfigFiles = new ArrayList();
-
-       private Set inJars;
-       private Set inpath;
-       private Set sourceRoots;
-       private Set aspectPath;
-       private String outJar;
-       private String outputPath = "bin";
-
-       public NullIdeProperties(String testProjectPath) {
-               this.testProjectPath = testProjectPath;
-       }
-
-       public List getBuildConfigFiles() {
-               return buildConfigFiles;
-       }
-       
-       public String getLastActiveBuildConfigFile() {
-               return null;    
-       }
-       
-       public String getDefaultBuildConfigFile() {
-               return null;    
-       }
-
-    public String getProjectName() {
-       return "test";  
-    }
-
-    public String getRootProjectDir() {
-       return testProjectPath;
-    }
-
-    public List getProjectSourceFiles() {
-       return null;    
-    }
-
-    public String getProjectSourcePath() {
-               return testProjectPath + "/src";        
-    }
-
-    public String getClasspath() {
-        return testProjectPath 
-            + File.pathSeparator 
-            + System.getProperty("sun.boot.class.path")
-            + File.pathSeparator 
-            + AjcTests.aspectjrtClasspath();  
-    }
-
-    public String getOutputPath() {
-       return testProjectPath + "/" + outputPath; 
-    }
-    
-    public void setOutputPath(String outputPath) {
-       this.outputPath = outputPath;
-    }
-
-    public OutputLocationManager getOutputLocationManager() {
-       return null;
-    }
-
-    public String getAjcWorkingDir() {
-       return testProjectPath + "/ajworkingdir";       
-    }
-    public String getBootClasspath() {
-       return null;
-    }
-    
-    public String getClassToExecute() {
-       return "figures.Main";  
-    }
-
-    public String getExecutionArgs() {
-       return null;
-    }
-
-    public String getVmArgs() {
-       return null;    
-    }
-    
-    public void setInJars( Set jars ) { this.inJars = jars; }
-    
-    public void setInpath( Set path) { this.inpath = path; }
-    
-    public Set getInJars( ) {
-       return inJars;
-    }
-    
-    public Set getInpath( ) {
-       return inpath;
-    }
-    
-       public Map getSourcePathResources() {
-               Map map = new HashMap();
-
-               /* Allow the user to override the testProjectPath by using sourceRoots */ 
-               File[] srcBase;
-               if (sourceRoots == null || sourceRoots.isEmpty()) {
-                       srcBase = new File[] { new File(getProjectSourcePath()) };
-               }
-               else {
-                       srcBase = new File[sourceRoots.size()];
-                       sourceRoots.toArray(srcBase);
-               }
-               
-               for (int j = 0; j < srcBase.length; j++) {
-                       File[] fromResources = FileUtil.listFiles(srcBase[j], new FileFilter() {
-                               public boolean accept(File pathname) {
-                                       String name = pathname.getName().toLowerCase();
-                                       return !name.endsWith(".class") && !name.endsWith(".java") && !name.endsWith(".aj");
-                               }
-                       });
-                       for (int i = 0; i < fromResources.length; i++) {
-                               String normPath = FileUtil.normalizedPath(fromResources[i] ,srcBase[j]);
-                               map.put(normPath, fromResources[i]);
-
-                       }
-               }
-               
-               return map;
-       }
-
-       public void setOutJar( String jar ){ this.outJar = jar; }
-
-    public String getOutJar() {
-       return outJar;
-    }
-    
-    public void setSourceRoots( Set roots ) { this.sourceRoots = roots; }
-
-    public Set getSourceRoots() {
-       return sourceRoots;
-    }
-
-       public void setAspectPath( Set path ) { this.aspectPath = path; }
-           
-    public Set getAspectPath() {
-       return aspectPath;
-    }
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeTaskListManager.java b/ajde/testsrc/org/aspectj/ajde/NullIdeTaskListManager.java
deleted file mode 100644 (file)
index 33ed123..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- * ******************************************************************/
-
-
-package org.aspectj.ajde;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.aspectj.bridge.*;
-
-/**
- * Used for displaying tasks, such as compiler messages, to the user.
- *
- * @author Mik Kersten
- */
-public class NullIdeTaskListManager implements TaskListManager {
-       
-       List sourceLineTasks = new ArrayList();
-    boolean hasWarning = false;
-       private static boolean debugTests = false;
-
-    public void addSourcelineTask(
-        String message,
-        ISourceLocation sourceLocation,
-        IMessage.Kind kind) {
-        addSourcelineTask(new Message(message, kind, null, sourceLocation));
-        if (!hasWarning && IMessage.WARNING.isSameOrLessThan(kind)) {
-            hasWarning = true;
-        }
-    }
-       
-    
-    public void addSourcelineTask(IMessage message) {
-       sourceLineTasks.add(new SourceLineTask(message));
-        if (!hasWarning && IMessage.WARNING.isSameOrLessThan(message.getKind())) {
-            hasWarning = true;
-        }        
-               /* Guard against null source locations e.g. JAR file messages */
-               if (!debugTests) return;
-               if (null != message.getSourceLocation()) {
-                       System.out.println("NullIde> task: " + message.getMessage() + ", file: " + message.getSourceLocation().getSourceFile().getAbsolutePath()
-                               + ": " +  message.getSourceLocation().getLine());
-               }
-               else {
-                       System.out.println("NullIde> task: " + message);
-               }
-
-    }
-   
-    public void addProjectTask(String message, IMessage.Kind kind) {
-        if (!hasWarning && IMessage.WARNING.isSameOrLessThan(kind)) {
-            hasWarning = true;
-        }
-       System.out.println("NullIde> task: " + message + ", kind: " + kind);    
-    }
-
-    public boolean hasWarning() {
-        return hasWarning;
-    }
-    
-    public void clearTasks() {
-       sourceLineTasks = new ArrayList();
-        hasWarning = false;
-    } 
-    
-       /**
-        * Return the list of source line compiler messages resulting from a compile, so
-        * that we can test them.
-        * @return List
-        */
-       public List getSourceLineTasks() {
-               return sourceLineTasks;
-       }
-
-
-       public static class SourceLineTask {
-               IMessage message;
-               
-               public SourceLineTask(IMessage m) {
-                       message = m;
-               }
-               
-               public IMessage getContainedMessage() {
-                       return message;
-               }
-               
-        public String toString() {
-            String loc = "<no location>";
-            if (null != message.getSourceLocation()) {
-                loc = message.getSourceLocation().getSourceFile() + ":" + message.getSourceLocation().getLine();
-            }
-            return "SourceLineTask [" + message.getMessage()
-                + ", " + loc
-                + ", " + message.getKind()
-                + "]";
-        }
-       }
-}
-  
diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeUIAdapter.java b/ajde/testsrc/org/aspectj/ajde/NullIdeUIAdapter.java
deleted file mode 100644 (file)
index b0ba145..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- * ******************************************************************/
-
-
-package org.aspectj.ajde;
-
-import org.aspectj.ajde.ui.*;
-
-public class NullIdeUIAdapter implements IdeUIAdapter {
-       private final static boolean debugTests = false;
-       public void displayStatusInformation(String message) {
-               if (debugTests) System.out.println("NullIde>" + message);
-       }
-       
-    public void resetGUI() {
-        // not implemented
-    }
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/OutxmlTest.java b/ajde/testsrc/org/aspectj/ajde/OutxmlTest.java
deleted file mode 100644 (file)
index 2c018de..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2003 Contributors.
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Matthew Webster     initial implementation 
- * ******************************************************************/
-package org.aspectj.ajde;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-import org.aspectj.bridge.Constants;
-import org.aspectj.util.FileUtil;
-
-public class OutxmlTest extends AjdeTestCase {
-
-       public static final String PROJECT_DIR = "OutxmlTest";
-       public static final String BIN_DIR = "bin";
-       public static final String OUTJAR_NAME = "/bin/test.jar"; 
-       public static final String DEFAULT_AOPXML_NAME = Constants.AOP_AJC_XML; 
-       public static final String CUSTOM_AOPXML_NAME = "custom/aop.xml"; 
-
-       /*
-        * Ensure the output directory is clean
-        */
-       protected void setUp() throws Exception {
-               super.setUp(PROJECT_DIR);
-               FileUtil.deleteContents(openFile(BIN_DIR));
-       }
-
-       /*
-        * Clean up afterwards
-        */
-       protected void tearDown() throws Exception {
-               super.tearDown();
-               FileUtil.deleteContents(openFile(BIN_DIR));
-               openFile(BIN_DIR).delete();
-       }
-
-
-       /**
-        * Aim: Test "-outxml" option produces the correct xml file
-        * 
-        */
-       public void testOutxmlToFile () {
-//             System.out.println("OutxmlTest.testOutxmlToFile() outputpath='" + ideManager.getProjectProperties().getOutputPath() + "'");
-               assertTrue("Build failed",doSynchronousBuild("outxml-to-file.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-               
-               File aopxml = openFile(BIN_DIR + "/" + DEFAULT_AOPXML_NAME);
-               assertTrue(DEFAULT_AOPXML_NAME + " missing",aopxml.exists());
-       }
-
-       /**
-        * Aim: Test "-outxmlfile filename" option produces the correct 
-        * xml file
-        * 
-        */
-       public void testOutxmlfileToFile () {
-               assertTrue("Build failed",doSynchronousBuild("outxmlfile-to-file.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-               
-               File aopxml = openFile(BIN_DIR + "/" + CUSTOM_AOPXML_NAME);
-               assertTrue(CUSTOM_AOPXML_NAME + " missing",aopxml.exists());
-       }
-
-       /**
-        * Aim: Test "-outxml" option produces the correct 
-        * xml entry in outjar file
-        * 
-        */
-       public void testOutxmlToOutjar () {
-               File outjar = openFile(OUTJAR_NAME);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed",doSynchronousBuild("outxml-to-outjar.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-               
-               File aopxml = openFile(BIN_DIR + "/" + DEFAULT_AOPXML_NAME);
-               assertFalse(DEFAULT_AOPXML_NAME + " should not exisit",aopxml.exists());
-               assertJarContainsEntry(outjar,DEFAULT_AOPXML_NAME);
-       }
-
-       /**
-        * Aim: Test "-outxmlfile filename" option produces the correct 
-        * xml entry in outjar file
-        * 
-        */
-       public void testOutxmlfileToOutjar () {
-//             System.out.println("OutxmlTest.testOutxmlToOutjar() outputpath='" + ideManager.getProjectProperties().getOutputPath() + "'");
-               File outjar = openFile(OUTJAR_NAME);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed",doSynchronousBuild("outxmlfile-to-outjar.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-               
-               File aopxml = openFile(BIN_DIR + "/" + CUSTOM_AOPXML_NAME);
-               assertFalse(CUSTOM_AOPXML_NAME + " should not exisit",aopxml.exists());
-               assertJarContainsEntry(outjar,CUSTOM_AOPXML_NAME);
-       }
-
-       /**
-        * Aim: Test "-outxml" option produces a warning if "META-INF/aop.xml 
-        * already exists in source
-        * 
-        */
-       public void testOutxmlToOutjarWithAop_xml () {
-               File f = new File( AjdeTests.testDataPath(PROJECT_DIR + "/src-resources"));
-               Set roots = new HashSet();
-               roots.add(f);
-               ideManager.getProjectProperties().setSourceRoots(roots);
-               File outjar = openFile(OUTJAR_NAME);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed: " + ideManager.getCompilationSourceLineTasks(),doSynchronousBuild("outxml-to-outjar-with-aop_xml.lst"));
-//             assertTrue("Build warnings: " + ideManager.getCompilationSourceLineTasks(),ideManager.getCompilationSourceLineTasks().isEmpty());
-               assertFalse("Build warnings for exisiting resource expected",ideManager.getCompilationSourceLineTasks().isEmpty());
-               List msgs = NullIdeManager.getIdeManager().getCompilationSourceLineTasks();
-               String msg = ((NullIdeTaskListManager.SourceLineTask)msgs.get(0)).message.getMessage();
-               assertTrue("Wrong message: " + msg,msg.startsWith("-outxml/-outxmlfile option ignored because resource already exists:"));
-               
-               File aopxml = openFile(BIN_DIR + "/" + DEFAULT_AOPXML_NAME);
-               assertFalse(DEFAULT_AOPXML_NAME + " should not exisit",aopxml.exists());
-               assertJarContainsEntry(outjar,DEFAULT_AOPXML_NAME);
-       }
-
-       private void assertJarContainsEntry (File file, String entryName) {
-       
-               try {
-                       JarFile jarFile = new JarFile(file);
-                       JarEntry jarEntry = jarFile.getJarEntry(entryName);
-                       assertNotNull(entryName + " missing",jarEntry);
-               }
-               catch (IOException ex) {
-                       fail(ex.toString());
-               }
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/ResourceCopyTestCase.java b/ajde/testsrc/org/aspectj/ajde/ResourceCopyTestCase.java
deleted file mode 100644 (file)
index dd92b59..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2003 Contributors.
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Mik Kersten     initial implementation 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.JarInputStream;
-import java.util.zip.*;
-
-import org.aspectj.util.FileUtil;
-
-/**
- * @author websterm
- */
-public class ResourceCopyTestCase extends AjdeTestCase {
-       public static final String PROJECT_DIR = "bug-36071a";   
-       public static final String srcDir = PROJECT_DIR + "/src"; 
-       public static final String binDir = "bin"; 
-
-       public static final String injar1Name = "input1.jar"; 
-       public static final String injar2Name = "input2.jar"; 
-       public static final String outjarName = "/bin/output.jar"; 
-
-       /**
-        * Constructor for JarResourceCopyTestCase.
-        * @param arg0
-        */
-       public ResourceCopyTestCase(String arg0) {
-               super(arg0);
-       }
-
-       /*
-        * Ensure the output directpry in clean
-        */     
-       protected void setUp() throws Exception {
-               super.setUp(PROJECT_DIR);
-               FileUtil.deleteContents(openFile(binDir));
-       }
-
-       public void testSrcToBin () {
-               assertTrue(!Ajde.getDefault().getTaskListManager().hasWarning());
-               assertTrue("Build failed",doSynchronousBuild("config1.lst"));
-               compareDirs("src","bin");
-       }
-       
-       public void testInjarsToOutjar () {
-               Set injars = new HashSet();
-               File injar1 = openFile(injar1Name);
-               injars.add(injar1);
-               ideManager.getProjectProperties().setInJars(injars);
-               File outjar = openFile(outjarName);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed",doSynchronousBuild("config2.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-               compareJars(injar1,"src",outjar);
-       }
-       
-       public void testDuplicateResources () {
-               Set injars = new HashSet();
-               File injar1 = openFile(injar1Name);
-               File injar2 = openFile(injar2Name);
-               injars.add(injar1);
-               injars.add(injar2);
-               ideManager.getProjectProperties().setInJars(injars);
-               File outjar = openFile(outjarName);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build should have suceeded",doSynchronousBuild("config2.lst"));
-               assertFalse("Build warnings for duplicate resource expected",ideManager.getCompilationSourceLineTasks().isEmpty());
-               List msgs = NullIdeManager.getIdeManager().getCompilationSourceLineTasks();
-               assertTrue("Wrong message",((NullIdeTaskListManager.SourceLineTask)msgs.get(0)).message.getMessage().startsWith("duplicate resource: "));
-               compareJars(injar1,"src",outjar);
-       }
-       
-       public void testSrcToOutjar () {
-               File outjar = openFile(outjarName);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed",doSynchronousBuild("config1.lst"));
-               compareSourceToOutjar("src",outjar);
-       }
-       
-       public void testInjarsToBin () {
-               Set injars = new HashSet();
-               File injar1 = openFile(injar1Name);
-               injars.add(injar1);
-               ideManager.getProjectProperties().setInJars(injars);
-               assertTrue("Build failed",doSynchronousBuild("config2.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-               compareInjarsToBin(injar1,"src","bin");
-       }
-
-       // BAH!  keeps whinging about CVS extraneous resources
-//     public void testInjarsToOddBin () {
-//             Set injars = new HashSet();
-//             File injar1 = openFile(injar1Name);
-//             injars.add(injar1);
-//             ideManager.getProjectProperties().setOutputPath("crazy.jar");
-//             ideManager.getProjectProperties().setInJars(injars);
-//             assertTrue("Build failed",doSynchronousBuild("config2.lst"));
-//             assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-//             compareInjarsToBin(injar1,"src","crazy.jar");
-//     }
-       
-       public void testInjarsToOutjarOddNames () {
-               Set injars = new HashSet();
-               File injar1 = openFile("input1");
-               File outjar = openFile(outjarName+".fozout");
-               injars.add(injar1);
-               ideManager.getProjectProperties().setInJars(injars);
-               ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath());
-               assertTrue("Build failed",doSynchronousBuild("config2.lst"));
-               assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty());
-               compareJars(injar1,"src",outjar);
-       }
-       
-       /*
-        * Ensure bin contains all non-Java resouces from source and injars
-        */
-       public void compareDirs (String indirName, String outdirName) {
-               File binBase = openFile(outdirName);
-               File[] toResources = FileUtil.listFiles(binBase,aspectjResourceFileFilter);
-
-               HashSet resources = new HashSet();
-               listSourceResources(indirName,resources);               
-               
-               for (int i = 0; i < toResources.length; i++) {
-                       String fileName = FileUtil.normalizedPath(toResources[i],binBase);
-                       boolean b = resources.remove(fileName);
-                       assertTrue("Extraneous resources: " + fileName,b);
-               }
-               
-               assertTrue("Missing resources: " + resources.toString(), resources.isEmpty());
-       }       
-       
-       /*
-        * Ensure -outjar contains all non-Java resouces from injars
-        */
-       public void compareJars (File injarFile, String indirName, File outjarFile) {
-       
-               HashSet resources = new HashSet();
-       
-               try {   
-                       assertTrue("outjar older than injar",(outjarFile.lastModified() > injarFile.lastModified()));
-                       byte[] inManifest = listJarResources(injarFile,resources);
-                       listSourceResources(indirName,resources);               
-
-                       ZipInputStream outjar = new ZipInputStream(new java.io.FileInputStream(outjarFile));
-                       ZipEntry entry;
-                       while (null != (entry = outjar.getNextEntry())) {
-                               String fileName = entry.getName();
-                               if (!fileName.endsWith(".class")) {
-                                       
-                                       /* Ensure we copied right JAR manifest */
-                                       if (fileName.equalsIgnoreCase("meta-inf/Manifest.mf")) {
-                                               byte[] outManifest = FileUtil.readAsByteArray(outjar);
-                                               assertTrue("Wrong manifest has been copied",Arrays.equals(inManifest,outManifest));
-                                       }
-                                       
-                                       boolean b = resources.remove(fileName);
-                                       assertTrue(fileName,b);
-                               }
-                               outjar.closeEntry();
-                       }
-                       outjar.close();
-
-                       assertTrue(resources.toString(),resources.isEmpty());
-               }
-               catch (IOException ex) {
-                       fail(ex.toString());
-               }
-       }
-       
-       /*
-        * Ensure -outjar conatins all non-Java resouces from source and injars
-        */
-       public void compareSourceToOutjar (String indirName, File outjarFile) {
-               HashSet resources = new HashSet();              
-               listSourceResources(indirName,resources);               
-       
-               try {   
-
-                       ZipInputStream outjar = new JarInputStream(new java.io.FileInputStream(outjarFile));
-                       ZipEntry entry;
-                       while (null != (entry = outjar.getNextEntry())) {
-                               String fileName = entry.getName();
-                               if (!fileName.endsWith(".class")) {
-                                       boolean b = resources.remove(fileName);
-                                       assertTrue(fileName,b);
-                               }
-                               outjar.closeEntry();
-                       }
-                       outjar.close();
-
-                       assertTrue("Missing resources: " + resources.toString(), resources.isEmpty());
-               }
-               catch (IOException ex) {
-                       fail(ex.toString());
-               }
-       }
-       
-       /*
-        * Ensure bin contains all non-Java resouces from source and injars
-        */
-       public void compareInjarsToBin(File injarFile, String indirName, String outdirName) {
-       
-               HashSet resources = new HashSet();
-       
-               try {   
-                       byte[] inManifest = listJarResources(injarFile,resources);
-                       listSourceResources(indirName,resources);               
-                       
-                       File binBase = openFile(outdirName);
-                       File[] toResources = FileUtil.listFiles(binBase,aspectjResourceFileFilter);
-                       for (int i = 0; i < toResources.length; i++) {
-                               String fileName = FileUtil.normalizedPath(toResources[i],binBase);
-
-                               /* Ensure we copied the right JAR manifest */
-                               if (fileName.equalsIgnoreCase("meta-inf/Manifest.mf")) {
-                                       byte[] outManifest = FileUtil.readAsByteArray(toResources[i]);
-                                       assertTrue("Wrong manifest has been copied",Arrays.equals(inManifest,outManifest));
-                               }
-                               boolean b = resources.remove(fileName);
-                               assertTrue("Extraneous resources: " + fileName,b);
-                       }
-
-                       assertTrue("Missing resources: " + resources.toString(), resources.isEmpty());
-               }
-               catch (IOException ex) {
-                       fail(ex.toString());
-               }
-       }
-    
-    private void listSourceResources (String indirName, Set resources) {
-               File srcBase = openFile(indirName);
-               File[] fromResources = FileUtil.listFiles(srcBase,aspectjResourceFileFilter);
-               for (int i = 0; i < fromResources.length; i++) {
-                       String name = FileUtil.normalizedPath(fromResources[i],srcBase);
-                       if (!name.startsWith("CVS/") && (-1 == name.indexOf("/CVS/")) && !name.endsWith("/CVS")) {
-                               resources.add(name);
-                       }
-               }
-    }
-    
-    private byte[] listJarResources (File injarFile, Set resources) {
-               byte[] manifest = null;
-       
-               try {
-                       ZipInputStream injar = new ZipInputStream(new java.io.FileInputStream(injarFile));
-                       ZipEntry entry;
-                       while (null != (entry = injar.getNextEntry())) {
-                               String fileName = entry.getName();
-                               if (!entry.isDirectory() && !fileName.endsWith(".class")) {
-                                       
-                                       /* JAR manifests shouldn't be copied */
-                                       if (fileName.equalsIgnoreCase("meta-inf/Manifest.mf")) {
-                                               manifest = FileUtil.readAsByteArray(injar);
-                                       }
-                                       resources.add(fileName);
-                               }
-                               injar.closeEntry();
-                       }
-                       injar.close();
-               }       
-               catch (IOException ex) {
-                       fail(ex.toString());
-               }
-               
-               return manifest;
-    }
-    
-       public static final FileFilter aspectjResourceFileFilter = new FileFilter() {
-               public boolean accept(File pathname) {
-                       String name = pathname.getName().toLowerCase();
-                       boolean isCVSRelated = name.indexOf("/cvs/")!=-1;
-                       return (!isCVSRelated && !name.endsWith(".class") && !name.endsWith(".java") && !name.endsWith(".aj"));
-               }
-       };
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/ReweavableTestCase.java b/ajde/testsrc/org/aspectj/ajde/ReweavableTestCase.java
deleted file mode 100644 (file)
index 0153630..0000000
+++ /dev/null
@@ -1,427 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2004 Contributors.
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *    Andy Clement     Initial version
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.io.File;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.aspectj.ajde.internal.CompilerAdapter;
-import org.aspectj.bridge.IMessage;
-import org.aspectj.util.FileUtil;
-
-public class ReweavableTestCase extends AjdeTestCase {
-
-       private CompilerAdapter compilerAdapter;
-       public static final String PROJECT_DIR = "ReweavableTest";
-       
-       private static final boolean debugTests = false;
-
-       public static final String binDir = "bin";
-
-       public static final String indir1Name = "indir1";
-       public static final String indir2Name = "indir2";
-       public static final String injarName  = "injar.jar";
-       public static final String outjarName = "/bin/output.jar";
-
-
-//     private static int nonreweavesize_CalculatePI;
-//     private static int nonreweavesize_Logger;
-//     private static int reweavablesize_CalculatePI;
-//     private static int reweavablesize_Logger;
-                       
-       /**
-        * Constructor for JarResourceCopyTestCase.
-        * @param arg0
-        */
-       public ReweavableTestCase(String arg0) {
-               super(arg0);
-       }
-
-
-
-       /*
-        * Ensure the output directpry in clean
-        */
-       protected void setUp() throws Exception {
-               super.setUp(PROJECT_DIR);
-               FileUtil.deleteContents(openFile(binDir));
-       }
-
-
-       /**
-        * Aim: Check we haven't damaged 'normal compilation' when not supplying -Xreweavable.  Also determines
-        *      baseline sizes for the compiled class files for later comparison.
-        * 
-        * Inputs to the compiler:
-        *   NonReweavable1.lst
-        *   -> CalculatePI.java
-        *   -> Logger.aj
-        *   -> -verbose
-        *   -> -noExit
-        * 
-        * Expected result = Compile successful, the types will not be reweavable and the weaver
-        *                   should not report it is running in reweavable mode.
-        */
-       public void testNonReweavableCompile() {
-               if (debugTests) System.out.println("testNonReweavableCompile: Building with NonReweavable1.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.getMessageHandler().dontIgnore(IMessage.INFO);
-               compilerAdapter.compile((String) openFile("NonReweavable1.lst").getAbsolutePath(),new BPM(),false);
-       
-               assertFalse("Did not expect to find a message about the weaver operating in reweavable mode",
-                 checkFor("weaver operating in reweavable mode"));
-
-               File fCalc = openFile("bin/CalculatePI.class");
-               File fLog = openFile("bin/Logger.class");
-               assertTrue("bin/CalculatePI.class should exist?!?",fCalc.exists());
-               assertTrue("bin/Logger.class should exist?!?",fLog.exists());
-               if (debugTests) System.out.println("CalculatePI.class is of size: "+fCalc.length());
-               if (debugTests) System.out.println("Logger.class is of size: "+fLog.length());
-               if (debugTests) System.out.println("\n\n\n");
-               /*nonreweavesize_CalculatePI = (int)*/fCalc.length();
-               /*nonreweavesize_Logger = (int)*/fLog.length();
-       }
-
-
-       /**
-        * Aim: Basic call to -Xreweavable.  Weaver should report it is in reweavable mode and the
-        *      classes produced should be much larger than normal classes (those produced in the first
-        *      test).
-        * 
-        * Inputs to the compiler:
-        *   Reweavable1.lst
-        *   -> CalculatePI.java
-        *   -> Logger.aj
-        *   -> -Xreweavable
-        *   -> -verbose
-        *   -> -noExit
-        * 
-        * Expected result = Compile successful, the types will be reweavable and the weaver
-        *                   should report it is running in reweavable mode.  The files produced
-        *                               should be larger than those created during the last test.
-        */
-       public void testReweavableCompile() {
-               if (debugTests) System.out.println("testReweavableCompile: Building with Reweavable1.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.getMessageHandler().dontIgnore(IMessage.INFO);
-               compilerAdapter.compile((String) openFile("Reweavable1.lst").getAbsolutePath(),new BPM(),false);
-       
-               assertTrue("Expected a message about operating in reweavable mode, but didn't get one",
-                 checkFor("weaver operating in reweavable mode"));
-                 
-               File fCalc = openFile("bin/CalculatePI.class");
-               File fLog = openFile("bin/Logger.class");
-               assertTrue("bin/CalculatePI.class should exist?!?",fCalc.exists());
-               assertTrue("bin/Logger.class should exist?!?",fLog.exists());
-               if (debugTests) System.out.println("CalculatePI.class is of size: "+fCalc.length());
-               if (debugTests) System.out.println("Logger.class is of size: "+fLog.length());
-               // Temporarily remove these tests - it seems the order in which the testXXX methods are run cannot be relied upon
-               // so reweavablesize_XXX fields might not have been set yet.
-//             assertTrue("Reweavable version should be larger than non-reweavable version of CalculatePI",
-//               fCalc.length()>nonreweavesize_CalculatePI);
-//             assertTrue("Reweavable version should be larger than non-reweavable version of Logger",
-//               fLog.length()>nonreweavesize_Logger);
-
-               /*reweavablesize_CalculatePI = (int)*/fCalc.length();
-               /*reweavablesize_Logger = (int)*/fLog.length();
-               
-               if (debugTests) System.out.println("\n\n\n");
-       }
-       
-       
-       /**
-        * Aim: Use the optional ':compress' modifier on -Xreweavable.  This causes some of the meta-data
-        *      for use in reweaving to be compressed.  It should succeed and produce class files smaller
-        *      than straight -Xreweavable but larger than without specifying -Xreweavable.
-        * 
-        * Inputs to the compiler:
-        *   ReweavableCompress1.lst
-        *   -> CalculatePI.java
-        *   -> Logger.aj
-        *   -> -Xreweavable:compress
-        *   -> -verbose
-        *   -> -noExit
-        * 
-        * Expected result = Compile successful, the types will be reweavable and the weaver
-        *                   should report it is running in reweavable mode.  The files created should
-        *                                       have a size between the non-reweavable versions and the reweavable (without
-        *                                       compression) versions.
-        */
-       public void testReweavableCompressCompile() {
-               if (debugTests) System.out.println("testReweavableCompressCompile: Building with ReweavableCompress1.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.getMessageHandler().dontIgnore(IMessage.INFO);
-               compilerAdapter.compile((String) openFile("ReweavableCompress1.lst").getAbsolutePath(),new BPM(),false);
-       
-               assertTrue("Expected a message about operating in reweavable mode, but didn't get one",
-                 checkFor("weaver operating in reweavable mode"));
-                 
-               File fCalc = openFile("bin/CalculatePI.class");
-               File fLog = openFile("bin/Logger.class");
-               assertTrue("bin/CalculatePI.class should exist?!?",fCalc.exists());
-               assertTrue("bin/Logger.class should exist?!?",fLog.exists());
-               int calclen = (int)fCalc.length();
-               int loglen = (int)fLog.length();
-               if (debugTests) System.out.println("CalculatePI.class is of size: "+calclen);
-               if (debugTests) System.out.println("Logger.class is of size: "+loglen);
-               // Temporarily remove these tests - it seems the order in which the testXXX methods are run cannot be relied upon
-               // so reweavablesize_XXX fields might not have been set yet.    
-//             assertTrue("Reweavable version should be larger than non-reweavable version of CalculatePI",
-//               calclen>nonreweavesize_CalculatePI);
-//             assertTrue("Reweavable version should be larger than non-reweavable version of Logger",
-//               loglen>nonreweavesize_Logger);
-
-       // Temporarily remove these tests - it seems the order in which the testXXX methods are run cannot be relied upon
-       // so reweavablesize_XXX fields might not have been set yet.    
-//             assertTrue("Reweavable (with compression) version should be smaller than reweavable (without compression) version of CalculatePI:" +\r//                 "  Compressed version:"+calclen+"bytes   Non-compressed version:"+reweavablesize_CalculatePI+"bytes",
-//               calclen<reweavablesize_CalculatePI);
-//             assertTrue("Reweavable (with compression) version should be smaller than reweavable (without compression) version of Logger"+
-//             "  Compressed version:"+loglen+"bytes   Non-compressed version:"+reweavablesize_Logger+"bytes",
-//               loglen<reweavablesize_Logger);  
-                
-               if (debugTests) System.out.println("\n\n\n");
-       }
-       
-       
-       /**
-        * Aim: The tests above have determined that reweaving appears to be behaving in terms of the .class
-        *      files it is creating.  Now lets actually attempt a reweave.  For this, we build two files
-        *      as reweavable and then build a single file whilst specifying an inpath that contains the
-        *      .class files from the first compile.  This should succeed.
-        * 
-        * Inputs to the first compile:
-        *   Reweavable1.lst
-        *   -> CalculatePI.java
-        *   -> Logger.aj
-        *   -> -Xreweavable
-        *   -> -verbose
-        *   -> -noExit
-        * 
-        * Input to the second compile:
-        *   Reweavable2.lst
-        *   -> SecondAspect.aj
-        *   -> -Xreweavable
-        *   -> -verbose
-        *   -> -noExit
-        *   -inpath bin\.
-        * 
-        * Expected result = Both compiles will succeed.
-        */
-       public void testReweavableSimpleCompile() {
-               if (debugTests) System.out.println("testReweavableSimpleCompile: Building with Reweavable1.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.getMessageHandler().dontIgnore(IMessage.INFO);
-               compilerAdapter.compile((String) openFile("Reweavable1.lst").getAbsolutePath(),new BPM(),false);
-       
-               assertTrue("Expected a message about operating in reweavable mode, but didn't get one",
-                 checkFor("weaver operating in reweavable mode"));
-                 
-                 
-               if (debugTests) System.out.println("\ntestReweavableSimpleCompile: Building with Reweavable2.lst");
-               Set paths = new HashSet();
-               paths.add(openFile(binDir));
-               ideManager.getProjectProperties().setInpath(paths);
-               compilerAdapter.compile((String) openFile("Reweavable2.lst").getAbsolutePath(),new BPM(),false);
-
-
-               String expMessage ="successfully verified type Logger exists";
-               assertTrue("Expected message '"+expMessage+"' but did not find it",
-                 checkFor(expMessage));
-                 
-               File fCalc = openFile("bin/CalculatePI.class");
-               File fLog = openFile("bin/Logger.class");
-               File fSec = openFile("bin/SecondAspect.class");
-               assertTrue("bin/CalculatePI.class should exist?!?",fCalc.exists());
-               assertTrue("bin/Logger.class should exist?!?",fLog.exists());
-               assertTrue("bin/SecondAspect.class should exist?!?",fSec.exists());
-                
-               if (debugTests) System.out.println("\n\n\n");
-       }
-       
-       
-       /**
-        * Aim: Based on the test above, if we delete Logger.class between the first and second compiles
-        *      the second compile should fail because there is not enough information to reweave CalculatePI
-        * 
-        * Inputs to the first compile:
-        *   Reweavable1.lst
-        *   -> CalculatePI.java
-        *   -> Logger.aj
-        *   -> -Xreweavable
-        *   -> -verbose
-        *   -> -noExit
-        * 
-        * Input to the second compile:
-        *   Reweavable2.lst
-        *   -> SecondAspect.aj
-        *   -> -Xreweavable
-        *   -> -verbose
-        *   -> -noExit
-        *   -inpath bin\.
-        * 
-        * Expected result = Second compile will fail - reporting that Logger is missing (it 'touched' in the first compile CalculatePI)
-        */
-       public void testForReweavableSimpleErrorCompile() {
-               if (debugTests) System.out.println("testForReweavableSimpleErrorCompile: Building with Reweavable2.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.getMessageHandler().dontIgnore(IMessage.INFO);
-               compilerAdapter.compile((String) openFile("Reweavable1.lst").getAbsolutePath(),new BPM(),false);
-       
-               assertTrue("Expected a message about operating in reweavable mode, but didn't get one",
-                 checkFor("weaver operating in reweavable mode"));
-                 
-                 
-               assertTrue("Could not delete bin/Logger.class??",openFile("bin/Logger.class").delete());
-
-
-               if (debugTests) System.out.println("\ntestForReweavableSimpleErrorCompile: Building with Reweavable2.lst");
-               Set paths = new HashSet();
-               paths.add(openFile(binDir));
-               ideManager.getProjectProperties().setInpath(paths);
-               compilerAdapter.compile((String) openFile("Reweavable2.lst").getAbsolutePath(),new BPM(),false);
-
-
-               String expMessage ="type Logger is needed by reweavable type CalculatePI";
-               assertTrue("Expected message '"+expMessage+"' but did not find it",
-                 checkFor(expMessage));
-                 
-               File fCalc = openFile("bin/CalculatePI.class");
-               File fLog = openFile("bin/Logger.class");
-               File fSec = openFile("bin/SecondAspect.class");
-               assertTrue("bin/CalculatePI.class should exist!",fCalc.exists());
-               assertTrue("bin/Logger.class should not exist!",!fLog.exists());
-               assertTrue("bin/SecondAspect.class should not exist!",fSec.exists());
-                
-               if (debugTests) System.out.println("\n\n\n");
-       }
-       
-       
-       /**
-        * Aim: Based on the test above, if we delete Logger.class between the first and second compiles
-        *      the second compile should fail because there is not enough information to reweave CalculatePI
-        * 
-        * Inputs to the first compile:
-        *   TJP1.lst
-        *   -> tjp/Demo.java
-        *   -> tjp/GetInfo.java
-        *   -> -Xreweavable
-        *   -> -verbose
-        *   -> -noExit
-        * 
-        * Now, delete bin\tjp\GetInfo.class and do a compile with:
-        *   TJP2.lst
-        *   -> -Xreweavable
-        *   -> -verbose
-        *   -> -noExit
-        *   -inpath bin\.
-        * 
-        * Expected result = Second compile will fail - reporting that tjp.GetInfo is missing (it 'touched' in the first compile tjp.Demo)
-        */
-       public void testErrorScenario2Compile() {
-               if (debugTests) System.out.println("testErrorScenario2: Building with TJP1.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.getMessageHandler().dontIgnore(IMessage.INFO);
-               compilerAdapter.compile((String) openFile("TJP1.lst").getAbsolutePath(),new BPM(),false);
-       
-               assertTrue("Expected a message about operating in reweavable mode, but didn't get one",
-                 checkFor("weaver operating in reweavable mode"));
-                 
-                 
-               assertTrue("Could not delete bin/tjp/GetInfo.class??",openFile("bin/tjp/GetInfo.class").delete());
-
-
-               if (debugTests) System.out.println("\ntestErrorScenario2: Building with TJP2.lst");
-               Set paths = new HashSet();
-               paths.add(openFile(binDir));
-               ideManager.getProjectProperties().setInpath(paths);
-               compilerAdapter.compile((String) openFile("TJP2.lst").getAbsolutePath(),new BPM(),false);
-
-
-               String expMessage ="type tjp.GetInfo is needed by reweavable type tjp.Demo";
-               assertTrue("Expected message '"+expMessage+"' but did not find it",
-                 checkFor(expMessage));
-                 
-               File fDemo = openFile("bin/tjp/Demo.class");
-               File fGetInfo = openFile("bin/tjp/GetInfo.class");
-               assertTrue("bin/tjp/Demo.class should exist!",fDemo.exists());
-               assertTrue("bin/tjp/GetInfo.class should not exist!",!fGetInfo.exists());
-                
-               if (debugTests) System.out.println("\n\n\n");
-       }
-       
-       public void testWorkingScenario2Compile() {
-               if (debugTests) System.out.println("testWorkingScenario2: Building with TJP1.lst");
-                       compilerAdapter = new CompilerAdapter();
-                       compilerAdapter.getMessageHandler().dontIgnore(IMessage.INFO);
-                       compilerAdapter.compile((String) openFile("TJP1.lst").getAbsolutePath(),new BPM(),false);
-       
-                       assertTrue("Expected a message about operating in reweavable mode, but didn't get one",
-                         checkFor("weaver operating in reweavable mode"));
-                 
-               
-                       if (debugTests) System.out.println("\ntestWorkingScenario2: Building with TJP2.lst");
-                       Set paths = new HashSet();
-                       paths.add(openFile(binDir));
-                       ideManager.getProjectProperties().setInpath(paths);
-                       compilerAdapter.compile((String) openFile("TJP2.lst").getAbsolutePath(),new BPM(),false);
-
-
-                       String expMessage ="successfully verified type tjp.GetInfo exists";
-                       assertTrue("Expected message '"+expMessage+"' but did not find it",
-                         checkFor(expMessage));
-                 
-                       File fGetInfo = openFile("bin/tjp/GetInfo.class");
-                       File fDemo = openFile("bin/tjp/Demo.class");
-                       assertTrue("bin/tjp/GetInfo.class should exist!",fGetInfo.exists());
-                       assertTrue("bin/tjp/Demo.class should not exist!",fDemo.exists());
-                       
-                       if (debugTests) System.out.println("\n\n\n");
-               }
-       
-
-       private class BPM implements BuildProgressMonitor {
-               public void start(String configFile) {}
-
-                               public void setProgressText(String text) {}
-
-                               public void setProgressBarVal(int newVal) {     }
-
-                               public void incrementProgressBarVal() {}
-
-                               public void setProgressBarMax(int maxVal) {     }
-
-                               public int getProgressBarMax() {
-                                       return 0;
-                               }
-
-                               public void finish(boolean b) {}
-               
-       }
-       
-
-
-       
-       private boolean checkFor(String what) {
-               List ll = ideManager.getCompilationSourceLineTasks();
-               for (Iterator iter = ll.iterator(); iter.hasNext();) {
-                       Object element = (Object) iter.next();
-                       if (element.toString().indexOf(what)!=-1) return true;
-               }
-               return false;
-       }
-       
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/SavedModelConsistencyTest.java b/ajde/testsrc/org/aspectj/ajde/SavedModelConsistencyTest.java
deleted file mode 100644 (file)
index 49453fa..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Mik Kersten     initial implementation 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.aspectj.asm.AsmManager;
-import org.aspectj.asm.HierarchyWalker;
-import org.aspectj.asm.IHierarchy;
-import org.aspectj.asm.IProgramElement;
-
-/**
- * @author Mik Kersten
- */
-public class SavedModelConsistencyTest extends AjdeTestCase {
-       
-    // TODO-path
-       private final String CONFIG_FILE_PATH = "../examples/coverage/coverage.lst";
-
-       public SavedModelConsistencyTest(String name) {
-               super(name);
-       }
-
-       public static void main(String[] args) {
-               junit.swingui.TestRunner.run(SavedModelConsistencyTest.class);
-       }
-       
-       public void testInterfaceIsSameInBoth() {
-               File configFile = openFile(CONFIG_FILE_PATH);   
-               Ajde.getDefault().getStructureModelManager().readStructureModel(configFile.getAbsolutePath());
-               
-        IHierarchy model = Ajde.getDefault().getStructureModelManager().getHierarchy();
-        assertTrue("model exists", model != null);
-        
-               assertTrue("root exists", model.getRoot() != null);
-        // TODO-path
-               File testFile = openFile("../examples/coverage/ModelCoverage.java");
-               assertTrue(testFile.exists());
-               
-               IProgramElement nodePreBuild = model.findElementForSourceLine(testFile.getAbsolutePath(), 5);   
-               
-               doSynchronousBuild(CONFIG_FILE_PATH);   
-               
-               IProgramElement nodePostBuild = model.findElementForSourceLine(testFile.getAbsolutePath(), 5);  
-               
-               assertTrue("Nodes should be identical: Prebuild kind = "+nodePreBuild.getKind()+
-                                  "   Postbuild kind = "+nodePostBuild.getKind(),nodePreBuild.getKind().equals(nodePostBuild.getKind()));
-               
-       }
-
-       public void testModelIsSamePreAndPostBuild() {
-               File configFile = openFile(CONFIG_FILE_PATH);   
-               Ajde.getDefault().getStructureModelManager().readStructureModel(configFile.getAbsolutePath());
-               
-        IHierarchy model = Ajde.getDefault().getStructureModelManager().getHierarchy();
-        assertTrue("model exists", model != null);
-       
-        final List preBuildKinds = new ArrayList();
-               HierarchyWalker walker = new HierarchyWalker() {
-                   public void preProcess(IProgramElement node) {
-                       preBuildKinds.add(node.getKind());
-                   }
-               };
-               Ajde.getDefault().getStructureModelManager().getHierarchy().getRoot().walk(walker);
-
-               doSynchronousBuild(CONFIG_FILE_PATH);
-               
-        final List postBuildKinds = new ArrayList();
-               HierarchyWalker walker2 = new HierarchyWalker() {
-                   public void preProcess(IProgramElement node) {
-                       postBuildKinds.add(node.getKind());
-                   }
-               };
-               Ajde.getDefault().getStructureModelManager().getHierarchy().getRoot().walk(walker2);
-                       
-//             System.err.println(preBuildKinds);
-//             System.err.println(postBuildKinds);
-               
-               assertTrue("Lists should be the same: PRE"+preBuildKinds.toString()+"  POST"+postBuildKinds.toString(),preBuildKinds.equals(postBuildKinds));
-               
-       }
-         
-       protected void setUp() throws Exception {
-               super.setUp("examples");
-               // In order to get a model on the disk to read in, do a build with the right flag set !
-               try {
-                       AsmManager.dumpModelPostBuild=true;
-                       doSynchronousBuild(CONFIG_FILE_PATH);
-               } finally {
-                       AsmManager.dumpModelPostBuild=false;
-               }
-
-       }
-
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-}
-
diff --git a/ajde/testsrc/org/aspectj/ajde/ShowWeaveMessagesTestCase.java b/ajde/testsrc/org/aspectj/ajde/ShowWeaveMessagesTestCase.java
deleted file mode 100644 (file)
index 57a5fca..0000000
+++ /dev/null
@@ -1,424 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2004 Contributors.
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *    Andy Clement     Initial version
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.aspectj.ajde.internal.CompilerAdapter;
-import org.aspectj.bridge.IMessage;
-import org.aspectj.util.FileUtil;
-import org.aspectj.util.LangUtil;
-
-/**
- * Weaving messages are complicated things.  There are multiple places where weaving
- * takes place and the places vary depending on whether we are doing a binary weave or
- * going from source.  All places that output weaving messages are tagged:
- *  // TAG: WeavingMessage
- * so you can easily find them!
- * 
- * Advice is the simplest to deal with as that is advice weaving is always done in the weaver.
- * 
- * Next is intertype declarations.  These are also always done in the weaver but in the case
- *   of a binary weave we don't know the originating source line for the ITD.
- * 
- * Finally, declares.
- *   Declare Parents: extends       Can only be done when going from source, if attempted by a 
- *                                  binary weave then an error message (compiler limitation) is
- *                                  produced.
- *   Declare Parents: implements    Is (currently!) done at both compile time and weave time.
- *                                                                     If going from source then the message is produced by the
- *                                                                 code in the compiler.  if going from binary then the message
- *                                                                     is produced by the weaver.
- *   Declare Soft:                  Comes out with 'advice' as a special kind of advice: softener advice
- * 
- * 
- * Q: Where are the messages turned on/off?
- * A: It is a bit messy.  See BuildArgParser.genBuildConfig().  Basically that method is the first time
- *    we parse the option set.  Whether weaving messages are on or off is stored in the build config.
- *    As soon as we have parser the options and determined that weave messages are on, we grab the 
- *    top level message handler and tell it not to ignore WeaveInfo messages.
- * 
- * 
- * TODO - Other forms of declare?  Do they need messages? e.g. declare precedence * 
- */
-public class ShowWeaveMessagesTestCase extends AjdeTestCase {
-
-       private static boolean regenerate;
-       private static boolean debugTests = false;
-       
-       static {
-               // Switch this to true for a single iteration if you want to reconstruct the
-               // 'expected weaving messages' files.
-               regenerate = false;
-       }
-
-       
-       private CompilerAdapter compilerAdapter;
-       public static final String PROJECT_DIR = "WeaveInfoMessagesTest";
-
-       public static final String binDir = "bin";
-       public static final String expectedResultsDir = "expected";
-                       
-                       
-       public ShowWeaveMessagesTestCase(String arg0) {
-               super(arg0);
-       }
-
-       /*
-        * Ensure the output directory in clean
-        */
-       protected void setUp() throws Exception {
-               super.setUp(PROJECT_DIR);
-               FileUtil.deleteContents(openFile(binDir));
-       }
-       
-       protected void tearDown() throws Exception {
-               super.tearDown();
-               FileUtil.deleteContents(openFile(binDir));
-               openFile(binDir).delete();
-               File rogueSymFile = new File(currTestDataPath + File.separatorChar + "Empty.ajsym");
-               if (rogueSymFile.exists()) rogueSymFile.delete();
-       }
-
-       
-
-       /**
-        * Weave all the possible kinds of advice and verify the messages that come out.
-        */
-       public void testWeaveMessagesAdvice() {
-               if (debugTests) System.out.println("testWeaveMessagesAdvice: Building with One.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.compile((String) openFile("One.lst").getAbsolutePath(),new BPM(),false);
-               verifyWeavingMessages("advice",true);
-       }
-       
-
-
-
-       /**
-        * Weave field and method ITDs and check the weave messages that come out.
-        */
-       public void testWeaveMessagesITD() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesITD: Building with Two.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.compile((String) openFile("Two.lst").getAbsolutePath(),new BPM(),false);
-               verifyWeavingMessages("itd",true);
-       }
-       
-       
-       /**
-        * Weave "declare parents: implements" and check the weave messages that come out.
-        */
-       public void testWeaveMessagesDeclare() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesDeclare: Building with Three.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.compile((String) openFile("Three.lst").getAbsolutePath(),new BPM(),false);
-               verifyWeavingMessages("declare1",true);         
-       }
-       
-       /**
-        * Weave "declare parents: extends" and check the weave messages that come out.
-        * Can't do equivalent binary test - as can't do extends in binary.
-        */
-       public void testWeaveMessagesDeclareExtends() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesDeclareExtends: Building with Four.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.compile((String) openFile("Four.lst").getAbsolutePath(),new BPM(),false);
-               verifyWeavingMessages("declare.extends",true);          
-       }
-       
-       /**
-        * Weave "declare soft: type: pointcut" and check the weave messages that come out.
-        */
-       public void testWeaveMessagesDeclareSoft() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesDeclareSoft: Building with Five.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.compile((String) openFile("Five.lst").getAbsolutePath(),new BPM(),false);
-               verifyWeavingMessages("declare.soft",true);             
-       }
-       
-       /**
-        * Weave 'declare @type, @constructor, @method and @field' and check the weave messages that come out.
-        */
-       public void testWeaveMessagesDeclareAnnotation() {
-               if (!LangUtil.is15VMOrGreater()) return; // annotation classes won't be about pre 15
-               if (debugTests) System.out.println("\ntestWeaveMessagesDeclareAnnotation: Building with Six.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.compile((String) openFile("Six.lst").getAbsolutePath(),new BPM(),false);
-               verifyWeavingMessages("declare.annotation",true);               
-       }
-       
-       /**
-        * Weave 'declare @type, @constructor, @method and @field' and check the weave messages don't come out without the -showWeaveInfo arg.
-        */
-       public void testWeaveMessagesDeclareAnnotationWeaveInfoOff() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesDeclareAnnotation: Building with Seven.lst");
-               compilerAdapter = new CompilerAdapter();
-               compilerAdapter.compile((String) openFile("Seven.lst").getAbsolutePath(),new BPM(),false);
-               verifyWeavingMessages("declare.annotationNoWeaveInfo",true);            
-       }
-       
-       
-       // BINARY WEAVING TESTS
-       
-       /**
-        * Binary weave variant of the advice weaving test above - to check messages are ok for
-        * binary weave.  Unlike the source level weave, in this test we are using an aspect on
-        * the aspectpath - which means it has already had its necessary parts woven - so the list 
-        * of weaving messages we expect is less.
-        */
-       public void testWeaveMessagesBinaryAdvice() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryAdvice: Simple.jar + AspectAdvice.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("AspectAdvice.jar"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-        /*List l = */ideManager.getCompilationSourceLineTasks();
-        verifyWeavingMessages("advice.binary",true);
-       }
-       
-       public void testWeaveMessagesBinaryITD() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryITD: Simple.jar + AspectITD.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("AspectITD.jar"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-               /*List l = */ideManager.getCompilationSourceLineTasks();
-               verifyWeavingMessages("itd",false);
-       }
-
-       
-       public void testWeaveMessagesBinaryDeclare() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryDeclare: Simple.jar + AspectDeclare.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("AspectDeclare.jar"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-               verifyWeavingMessages("declare1",false);        
-       }
-       
-       /**
-        * Weave "declare soft: type: pointcut" and check the weave messages that come out.
-        */
-       public void testWeaveMessagesBinaryDeclareSoft() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryDeclareSoft: Simple.jar + AspectDeclareSoft.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("AspectDeclareSoft.jar"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-               verifyWeavingMessages("declare.soft.binary",true);      
-       }
-
-       public void testWeaveMessagesBinaryAdviceInPackageFromJar() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryAdviceInPackageFromJar: Simple.jar + AspectInPackage.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("AspectInPackage.jar"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-        /*List l = */ideManager.getCompilationSourceLineTasks();
-        verifyWeavingMessages("advice.binary.package.jar",true);
-       }
-
-       public void testWeaveMessagesBinaryAdviceInPackage() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryAdviceInPackage: Simple.jar + AspectInPackage.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("pkg"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-        /*List l = */ideManager.getCompilationSourceLineTasks();
-        verifyWeavingMessages("advice.binary.package",true);
-       }
-       
-       // BINARY WEAVING WHEN WE'VE LOST THE SOURCE POINTERS
-
-       public void testWeaveMessagesBinaryAdviceNoDebugInfo() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryAdvice: Simple.jar + AspectAdvice.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple_nodebug.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("AspectAdvice_nodebug.jar"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-               /*List l = */ideManager.getCompilationSourceLineTasks();
-               verifyWeavingMessages("advice.binary.nodebug",true);
-       }
-       
-       public void testWeaveMessagesBinaryITDNoDebugInfo() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryITD: Simple.jar + AspectITD.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple_nodebug.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("AspectITD_nodebug.jar"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-               /*List l = */ideManager.getCompilationSourceLineTasks();
-               verifyWeavingMessages("itd.nodebug",true);
-       }
-       
-       public void testWeaveMessagesBinaryDeclareNoDebugInfo() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryDeclareNoDebugInfo: Simple.jar + AspectDeclare.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple_nodebug.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("AspectDeclare_nodebug.jar"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-               verifyWeavingMessages("declare1.nodebug",true); 
-       }       
-       
-       /**
-        * Weave "declare soft: type: pointcut" and check the weave messages that come out.
-        */
-       public void testWeaveMessagesBinaryDeclareSoftNoDebugInfo() {
-               if (debugTests) System.out.println("\ntestWeaveMessagesBinaryDeclareSoftNoDebugInfo: Simple.jar + AspectDeclareSoft.jar");
-               Set inpath = new HashSet();
-               inpath.add(openFile("Simple_nodebug.jar"));
-               ideManager.getProjectProperties().setInpath(inpath);
-               Set aspectpath = new HashSet();
-               aspectpath.add(openFile("AspectDeclareSoft_nodebug.jar"));
-               ideManager.getProjectProperties().setAspectPath(aspectpath);
-               assertTrue("Build failed", doSynchronousBuild("Empty.lst"));
-               verifyWeavingMessages("declare.soft.binary.nodebug",true);      
-       }
-
-
-       private class BPM implements BuildProgressMonitor {
-               public void start(String configFile) {}
-
-                               public void setProgressText(String text) {}
-
-                               public void setProgressBarVal(int newVal) {     }
-
-                               public void incrementProgressBarVal() {}
-
-                               public void setProgressBarMax(int maxVal) {     }
-
-                               public int getProgressBarMax() {
-                                       return 0;
-                               }
-
-                               public void finish(boolean b) {}
-               
-       }
-       
-
-       public void verifyWeavingMessages(String testid,boolean source) {
-               File expectedF = openFile(expectedResultsDir+File.separator+testid+".txt");
-               if (regenerate && source) {
-                       // Create the file
-                       saveWeaveMessages(expectedF);
-               } else {
-                       // Verify the file matches what we have
-                       compareWeaveMessages(expectedF);
-               }
-       }
-       
-       /**
-        * Compare weaving messages with what is in the file
-        */
-       private void compareWeaveMessages(File f) {
-               List fileContents = new ArrayList();
-               BufferedReader fr;
-               try {
-                       // Load the file in
-                       fr = new BufferedReader(new FileReader(f));
-                       String line = null;
-                       while ((line=fr.readLine())!=null) fileContents.add(line);
-                       List originalFileContents = new ArrayList();
-                       originalFileContents.addAll(fileContents);
-                       
-                       // See if the messages match
-                       int msgCount = 0;
-                       List l = ideManager.getCompilationSourceLineTasks();
-                       for (Iterator iter = l.iterator(); iter.hasNext();) {
-                               IMessage msg = ((NullIdeTaskListManager.SourceLineTask) iter.next()).message;
-                               if (debugTests) System.out.println("Looking at ["+msg+"]");
-                               if (msg.getKind().equals(IMessage.WEAVEINFO)) {
-                                       if (!fileContents.contains(msg.getMessage())) {
-                                               fail("Could not find message '"+msg.getMessage()+"' in the expected results.  Expected results are:\n"+
-                                               stringify(originalFileContents));
-                                       } else {
-                                               fileContents.remove(msg.getMessage());
-                                       }
-                                       msgCount++;
-                               }
-                       }
-                       assertTrue("Didn't get these expected messages: "+fileContents,fileContents.size()==0);
-                       if (debugTests) System.out.println("Successfully verified "+msgCount+" weaving messages");
-               } catch (Exception e) {
-                       fail("Unexpected exception saving weaving messages:"+e);
-               }
-       }
-       
-       private String stringify(List l) {
-               StringBuffer result = new StringBuffer();
-               for (Iterator iter = l.iterator(); iter.hasNext();) {
-                       String str = (String) iter.next();
-                       result.append(str);result.append("\n");
-               }
-               return result.toString();
-       }
-       
-       /**
-        * Store the weaving messages in the specified file.
-        */
-       private void saveWeaveMessages(File f) {
-               System.out.println("Saving weave messages into "+f.getName());
-               FileWriter fw;
-               try {
-                       fw = new FileWriter(f); 
-                       List l = ideManager.getCompilationSourceLineTasks();
-                       for (Iterator iter = l.iterator(); iter.hasNext();) {
-                               IMessage msg = ((NullIdeTaskListManager.SourceLineTask) iter.next()).message;
-                               if (msg.getKind().equals(IMessage.WEAVEINFO)) {
-                                       fw.write(msg.getMessage()+"\n");
-                               }
-                       }
-                       fw.close();
-               } catch (Exception e) {
-                       fail("Unexpected exception saving weaving messages:"+e);
-               }
-       }
-       
-       
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/SimpleStructureModelTest.java b/ajde/testsrc/org/aspectj/ajde/SimpleStructureModelTest.java
deleted file mode 100644 (file)
index c6b5ee4..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-public class SimpleStructureModelTest extends AjdeTestCase {
-       
-       private String CONFIG_FILE_PATH = "test.lst";
-
-       public SimpleStructureModelTest(String name) {
-               super(name);
-       }
-       
-       public void testModel() {
-               
-       }
-
-       protected void setUp() throws Exception {
-               super.setUp("SimpleStructureModelTest");
-               doSynchronousBuild(CONFIG_FILE_PATH);   
-       }
-
-}
diff --git a/ajde/testsrc/org/aspectj/ajde/StructureModelRegressionTest.java b/ajde/testsrc/org/aspectj/ajde/StructureModelRegressionTest.java
deleted file mode 100644 (file)
index 95a8a3b..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- * ******************************************************************/
-
-
-package org.aspectj.ajde; 
-
-import java.io.File;
-import java.util.List;
-
-import junit.framework.TestSuite;
-
-import org.aspectj.asm.*;
-
-public class StructureModelRegressionTest extends AjdeTestCase {
-
-       public StructureModelRegressionTest(String name) {
-               super(name);
-       }
-
-       public static void main(String[] args) {
-               junit.swingui.TestRunner.run(StructureModelRegressionTest.class);
-       }
-
-       public static TestSuite suite() {
-               TestSuite result = new TestSuite();
-               result.addTestSuite(StructureModelRegressionTest.class);        
-               return result;
-       }
-
-       public void test() {
-               String testLstFile = AjdeTests.testDataPath("StructureModelRegressionTest/example.lst");
-        File f = new File(testLstFile);
-        assertTrue(testLstFile, f.canRead());
-        // TODO: enable when model is verified.
-//        assertTrue("saved model: " + testLstFile, verifyAgainstSavedModel(testLstFile));    
-       }
-
-       public boolean verifyAgainstSavedModel(String lstFile) {
-               File modelFile = new File(genStructureModelExternFilePath(lstFile));
-               IHierarchy model = getModelForFile(lstFile);
-               
-               if (modelFile.exists()) {
-                       Ajde.getDefault().getStructureModelManager().readStructureModel(lstFile);
-                       IHierarchy savedModel = Ajde.getDefault().getStructureModelManager().getHierarchy();
-                       // AMC This test will not pass as written until IProgramElement defines
-                       // equals. The equals loic is commented out in the IProgramElement
-                       // class - adding it back in could have unforeseen system-wide
-                       // consequences, so I've defined a IProgramElementsEqual( ) helper
-                       // method here instead.
-                       IProgramElement rootNode = model.getRoot();
-                       IProgramElement savedRootNode = savedModel.getRoot();
-                       return IProgramElementsEqual( rootNode, savedRootNode );
-               } else {
-                       Ajde.getDefault().getStructureModelManager().writeStructureModel(lstFile);
-                       return true;
-               }
-               //return true;
-       }
-
-       private boolean IProgramElementsEqual( IProgramElement s1, IProgramElement s2 ) {
-         final boolean equal = true;
-               if ( s1 == s2 ) return equal;
-               if ( null == s1 || null == s2 ) return !equal;
-
-               if (!s1.getName( ).equals(s2.getName())) return !equal;
-               if (!s1.getKind( ).equals(s2.getKind())) return !equal;
-               
-               // check child nodes
-               List s1Kids = s1.getChildren();
-               List s2Kids = s2.getChildren();
-               
-               if ( s1Kids != null && s2Kids != null ) {
-                       if (s1Kids == null || s2Kids == null) return !equal;                    
-                       if (s1Kids.size() != s2Kids.size() ) return !equal;
-                       for ( int k=0; k<s1Kids.size(); k++ ) {
-                               IProgramElement k1 = (IProgramElement) s1Kids.get(k);
-                               IProgramElement k2 = (IProgramElement) s2Kids.get(k);   
-                               if (!IProgramElementsEqual( k1, k2 )) return !equal;
-                       }
-               }
-         return equal;         
-       }
-
-       private IHierarchy getModelForFile(String lstFile) {
-               Ajde.getDefault().getConfigurationManager().setActiveConfigFile(lstFile);
-               Ajde.getDefault().getBuildManager().build(); // was buildStructure...
-               while(!testerBuildListener.getBuildFinished()) {
-                       try {
-                               Thread.sleep(300);
-                       } catch (InterruptedException ie) { } 
-               }
-               return Ajde.getDefault().getStructureModelManager().getHierarchy();     
-       }
-
-       protected void setUp() throws Exception {
-               super.setUp("StructureModelRegressionTest");
-//             Ajde.getDefault().getStructureModelManager().setShouldSaveModel(false);
-       }
-       
-       public void testModelExists() {
-               assertTrue(Ajde.getDefault().getStructureModelManager().getHierarchy() != null);
-       }
-
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-}
-
diff --git a/ajde/testsrc/org/aspectj/ajde/StructureModelTest.java b/ajde/testsrc/org/aspectj/ajde/StructureModelTest.java
deleted file mode 100644 (file)
index 94c8971..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- *     AMC 21.01.2003 fixed for new source location in eclipse.org
- * ******************************************************************/
-
-package org.aspectj.ajde;
-
-import java.io.*;
-import java.util.Iterator;
-
-import junit.framework.TestSuite;
-
-import org.aspectj.asm.*;
-
-/**
- * @author Mik Kersten
- */
-public class StructureModelTest extends AjdeTestCase {
-       
-    // TODO-path
-       private final String CONFIG_FILE_PATH = "../examples/figures-coverage/all.lst";
-
-       public StructureModelTest(String name) {
-               super(name);
-       }
-
-       public static void main(String[] args) {
-               junit.swingui.TestRunner.run(StructureModelTest.class);
-       }
-
-       public static TestSuite suite() {
-               TestSuite result = new TestSuite();
-               result.addTestSuite(StructureModelTest.class);  
-               return result;
-       }
-
-//  XXX this should work
-//     public void testFieldInitializerCorrespondence() throws IOException {
-//             File testFile = createFile("testdata/examples/figures-coverage/figures/Figure.java");   
-//             IProgramElement node = Ajde.getDefault().getStructureModelManager().getStructureModel().findNodeForSourceLine(
-//                     testFile.getCanonicalPath(), 28);
-//             assertTrue("find result", node != null) ;       
-//             ProgramElementNode pNode = (ProgramElementNode)node;
-//             ProgramElementNode foundNode = null;
-//             final List list = pNode.getRelations();
-//        assertNotNull("pNode.getRelations()", list);
-//             for (Iterator it = list.iterator(); it.hasNext(); ) {
-//                     RelationNode relation = (RelationNode)it.next();
-//                     
-//                     if (relation.getRelation().equals(AdviceAssociation.FIELD_ACCESS_RELATION)) {
-//                             for (Iterator it2 = relation.getChildren().iterator(); it2.hasNext(); ) {
-//                                     LinkNode linkNode = (LinkNode)it2.next();
-//                                     if (linkNode.getProgramElementNode().getName().equals("this.currVal = 0")) {
-//                                             foundNode = linkNode.getProgramElementNode();   
-//                                     }
-//                             }
-//                     }
-//             }
-//             
-//             assertTrue("find associated node", foundNode != null) ;
-//             
-//             File pointFile = createFile("testdata/examples/figures-coverage/figures/primitives/planar/Point.java"); 
-//             IProgramElement fieldNode = Ajde.getDefault().getStructureModelManager().getStructureModel().findNodeForSourceLine(
-//                     pointFile.getCanonicalPath(), 12);              
-//             assertTrue("find result", fieldNode != null);
-//             
-//             assertTrue("matches", foundNode.getParent() == fieldNode.getParent());
-//     }
-
-
-       public void testRootForSourceFile() throws IOException {
-               File testFile = openFile("figures-coverage/figures/Figure.java");       
-               IProgramElement node = Ajde.getDefault().getStructureModelManager().getHierarchy().findElementForSourceFile(
-                       testFile.getAbsolutePath());
-               assertTrue("find result", node != null) ;       
-               IProgramElement pNode = (IProgramElement)node;
-               String child = ((IProgramElement)pNode.getChildren().get(1)).getName();
-        assertTrue("expected Figure got child " + child, child.equals("Figure"));
-       }
-
-       public void testPointcutName() throws IOException {
-               File testFile = openFile("figures-coverage/figures/Main.java"); 
-               IProgramElement node = Ajde.getDefault().getStructureModelManager().getHierarchy().findElementForSourceFile(
-                       testFile.getAbsolutePath());
-               assertTrue("find result", node != null) ;       
-               IProgramElement pNode = (IProgramElement)((IProgramElement)node).getChildren().get(2);
-               IProgramElement pointcut = (IProgramElement)pNode.getChildren().get(0);
-               assertTrue("kind", pointcut.getKind().equals(IProgramElement.Kind.POINTCUT));
-               assertTrue("found node: " + pointcut.getName(), pointcut.toLabelString().equals("testptct()"));
-       }
-
-       public void testFileNodeFind() throws IOException {
-               File testFile = openFile("figures-coverage/figures/Main.java");
-               
-//             System.err.println(((IProgramElement)((IProgramElement)Ajde.getDefault().getStructureModelManager().getHierarchy().getRoot().getChildren().get(0)).getChildren().get(3)).getSourceLocation().getSourceFile().getAbsolutePath());
-//             System.err.println(testFile.getAbsolutePath());
-               
-               IProgramElement node = Ajde.getDefault().getStructureModelManager().getHierarchy().findElementForSourceLine(
-                       testFile.getAbsolutePath(), 1);
-               assertTrue("find result", node != null) ;       
-               assertEquals("find result has children", 3, node.getChildren().size()) ;        
-               IProgramElement pNode = (IProgramElement)node;
-               assertTrue("found node: " + pNode.getName(), pNode.getKind().equals(IProgramElement.Kind.FILE_JAVA));
-       }
-  
-       /**
-        * @todo        add negative test to make sure things that aren't runnable aren't annotated
-        */ 
-       public void testMainClassNodeInfo() throws IOException {
-        IHierarchy model = Ajde.getDefault().getStructureModelManager().getHierarchy();
-        assertTrue("model exists", model != null);
-               assertTrue("root exists", model.getRoot() != null);
-               File testFile = openFile("figures-coverage/figures/Main.java");
-               IProgramElement node = model.findElementForSourceLine(testFile.getAbsolutePath(), 11);  
-               assertTrue("find result", node != null);        
-               IProgramElement pNode = (IProgramElement)((IProgramElement)node).getParent();
-        if (null == pNode) {
-            assertTrue("null parent of " + node, false);
-        }
-               assertTrue("found node: " + pNode.getName(), pNode.isRunnable());
-       }  
-       
-       /**
-        * Integrity could be checked somewhere in the API.
-        */ 
-       public void testModelIntegrity() {
-               IProgramElement modelRoot = Ajde.getDefault().getStructureModelManager().getHierarchy().getRoot();
-               assertTrue("root exists", modelRoot != null);   
-               
-               try {
-                       testModelIntegrityHelper(modelRoot);
-               } catch (Exception e) {
-                       assertTrue(e.toString(), false);        
-               }
-       }
-
-       private void testModelIntegrityHelper(IProgramElement node) throws Exception {
-               for (Iterator it = node.getChildren().iterator(); it.hasNext(); ) {
-                       IProgramElement child = (IProgramElement)it.next();
-                       if (node == child.getParent()) {
-                               testModelIntegrityHelper(child);
-                       } else {
-                               throw new Exception("parent-child check failed for child: " + child.toString());
-                       }
-               }               
-       }
-  
-       public void testNoChildIsNull() {
-               HierarchyWalker walker = new HierarchyWalker() {
-                   public void preProcess(IProgramElement node) {
-                       if (node.getChildren() == null) return;
-                       for (Iterator it = node.getChildren().iterator(); it.hasNext(); ) {
-                               if (it.next() == null) throw new NullPointerException("null child on node: " + node.getName()); 
-                       }
-                   }
-               };
-               Ajde.getDefault().getStructureModelManager().getHierarchy().getRoot().walk(walker);
-       }  
-  
-       protected void setUp() throws Exception {
-               super.setUp("examples");
-               doSynchronousBuild(CONFIG_FILE_PATH);   
-       }
-
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-}
-
diff --git a/ajde/testsrc/org/aspectj/ajde/TestBuildListener.java b/ajde/testsrc/org/aspectj/ajde/TestBuildListener.java
deleted file mode 100644 (file)
index 57d1a92..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- * ******************************************************************/
-
-
-package org.aspectj.ajde;
-
-
-public class TestBuildListener implements BuildListener {
-       
-       public boolean buildFinished = false;
-       public boolean buildSucceeded = false;
-
-       public void reset() { 
-               buildFinished = false;
-       }
-       
-       public void compileStarted(String buildConfigFile) { }
-       
-    public void compileFinished(String buildConfigFile, int buildTime, boolean succeeded, boolean warnings) {
-//        int timeInSeconds = buildTime/1000;
-        buildSucceeded = succeeded;
-        buildFinished = true;
-    } 
-    
-    public void compileAborted(String buildConfigFile, String message) { }
-    
-    public boolean getBuildFinished() {
-       return buildFinished;
-    }
-    
-    public boolean getBuildSucceeded() { 
-       return buildSucceeded;  
-    }
-}
-
-
diff --git a/ajde/testsrc/org/aspectj/ajde/VersionTest.java b/ajde/testsrc/org/aspectj/ajde/VersionTest.java
deleted file mode 100644 (file)
index b23f01c..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Eclipse Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/epl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- * ******************************************************************/
-
-
-package org.aspectj.ajde;
-
-import junit.framework.TestSuite;
-
-import org.aspectj.bridge.Version;
-
-/**
- * @author Mik Kersten
- */
-public class VersionTest extends AjdeTestCase {
-
-       public VersionTest(String name) {
-               super(name);
-       }
-
-       public static TestSuite suite() {
-               TestSuite result = new TestSuite();
-               result.addTestSuite(VersionTest.class); 
-               return result;
-       }
-       
-       public void testVersionMatch() {
-               String ajdeVersion = Ajde.getDefault().getVersion();
-               String compilerVersion = Version.text;
-               assertTrue("version check", ajdeVersion.equals(compilerVersion));
-       }
-       
-       protected void setUp() throws Exception {
-               super.setUp("");
-       }
-       
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-}