Browse Source

these tests are now for 1.5.4, not 1.6.0

tags/V1_5_4rc1
aclement 16 years ago
parent
commit
7d21be99ac

tests/src/org/aspectj/systemtest/ajc160/Ajc160Tests.java → tests/src/org/aspectj/systemtest/ajc154/Ajc154Tests.java View File

@@ -8,9 +8,11 @@
* Contributors:
* Andy Clement - initial API and implementation
*******************************************************************************/
package org.aspectj.systemtest.ajc160;
package org.aspectj.systemtest.ajc154;

import java.io.File;
import java.util.HashSet;
import java.util.Set;

import org.aspectj.apache.bcel.classfile.ConstantPool;
import org.aspectj.apache.bcel.classfile.JavaClass;
@@ -21,13 +23,30 @@ import org.aspectj.apache.bcel.generic.MethodGen;
import org.aspectj.apache.bcel.util.ClassPath;
import org.aspectj.apache.bcel.util.SyntheticRepository;
import org.aspectj.testing.XMLBasedAjcTestCase;
import org.aspectj.weaver.patterns.PatternParser;
import org.aspectj.weaver.tools.ContextBasedMatcher;
import org.aspectj.weaver.tools.FuzzyBoolean;
import org.aspectj.weaver.tools.MatchingContext;
import org.aspectj.weaver.tools.PointcutDesignatorHandler;

import junit.framework.Test;

/**
* These are tests for AspectJ1.6 - they do not require a 1.6 VM.
* These are tests for AspectJ1.5.4
*/
public class Ajc160Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
public class Ajc154Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
// public void testNewDesignatorsReferencePointcuts_pr205907() {
// BeanDesignatorHandler beanHandler = new BeanDesignatorHandler();
// Set set = new HashSet();
// set.add(beanHandler);
// PatternParser.setTestDesignators(set);
// //parser.registerPointcutDesignatorHandler(beanHandler);
// runTest("new pointcut designators in a reference pointcut");
// }
public void testItdClashForTypesFromAspectPath_pr206732() { runTest("itd clash for types from aspectpath"); }
public void testAnnotationStyleAndMultiplePackages_pr197719() { runTest("annotation style syntax and cross package extension"); }
/** Complex test that attempts to damage a class like a badly behaved bytecode transformer would and checks if AspectJ can cope. */
public void testCopingWithGarbage_pr175806_1() throws ClassNotFoundException {
@@ -147,11 +166,11 @@ public class Ajc160Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
/////////////////////////////////////////
public static Test suite() {
return XMLBasedAjcTestCase.loadSuite(Ajc160Tests.class);
return XMLBasedAjcTestCase.loadSuite(Ajc154Tests.class);
}

protected File getSpecFile() {
return new File("../tests/src/org/aspectj/systemtest/ajc160/ajc160.xml");
return new File("../tests/src/org/aspectj/systemtest/ajc154/ajc154.xml");
}
public SyntheticRepository createRepos(File cpentry) {
@@ -163,6 +182,81 @@ public class Ajc160Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
SyntheticRepository repos = createRepos(where);
return repos.loadClass(clazzname);
}
// ---
private class BeanDesignatorHandler implements PointcutDesignatorHandler {

private String askedToParse;
public boolean simulateDynamicTest = false;
public String getDesignatorName() {
return "bean";
}
/* (non-Javadoc)
* @see org.aspectj.weaver.tools.PointcutDesignatorHandler#parse(java.lang.String)
*/
public ContextBasedMatcher parse(String expression) {
this.askedToParse = expression;
return new BeanPointcutExpression(expression,this.simulateDynamicTest);
}
public String getExpressionLastAskedToParse() {
return this.askedToParse;
}
}
private class BeanPointcutExpression implements ContextBasedMatcher {

private final String beanNamePattern;
private final boolean simulateDynamicTest;

public BeanPointcutExpression(String beanNamePattern, boolean simulateDynamicTest) {
this.beanNamePattern = beanNamePattern;
this.simulateDynamicTest = simulateDynamicTest;
}


public boolean couldMatchJoinPointsInType(Class aClass) {
return true;
}
/* (non-Javadoc)
* @see org.aspectj.weaver.tools.ContextBasedMatcher#couldMatchJoinPointsInType(java.lang.Class)
*/
public boolean couldMatchJoinPointsInType(Class aClass, MatchingContext context) {
if (this.beanNamePattern.equals(context.getBinding("beanName"))) {
return true;
} else {
return false;
}
}


/* (non-Javadoc)
* @see org.aspectj.weaver.tools.ContextBasedMatcher#mayNeedDynamicTest()
*/
public boolean mayNeedDynamicTest() {
return this.simulateDynamicTest;
}


public FuzzyBoolean matchesStatically(MatchingContext matchContext) {
if (this.simulateDynamicTest) return FuzzyBoolean.MAYBE;
if (this.beanNamePattern.equals(matchContext.getBinding("beanName"))) {
return FuzzyBoolean.YES;
} else {
return FuzzyBoolean.NO;
}
}


/* (non-Javadoc)
* @see org.aspectj.weaver.tools.ContextBasedMatcher#matchesDynamically(org.aspectj.weaver.tools.MatchingContext)
*/
public boolean matchesDynamically(MatchingContext matchContext) {
return this.beanNamePattern.equals(matchContext.getBinding("beanName"));
}
}

}

tests/src/org/aspectj/systemtest/ajc160/AllTestsAspectJ160.java → tests/src/org/aspectj/systemtest/ajc154/AllTestsAspectJ154.java View File

@@ -8,17 +8,17 @@
* Contributors:
* Andy Clement - initial API and implementation
*******************************************************************************/
package org.aspectj.systemtest.ajc160;
package org.aspectj.systemtest.ajc154;

import junit.framework.Test;
import junit.framework.TestSuite;

public class AllTestsAspectJ160 {
public class AllTestsAspectJ154 {

public static Test suite() {
TestSuite suite = new TestSuite("AspectJ 1.6.0 tests");
TestSuite suite = new TestSuite("AspectJ 1.5.4 tests");
//$JUnit-BEGIN$
suite.addTest(Ajc160Tests.suite());
suite.addTest(Ajc154Tests.suite());
//$JUnit-END$
return suite;
}

tests/src/org/aspectj/systemtest/ajc160/ajc160.xml → tests/src/org/aspectj/systemtest/ajc154/ajc154.xml View File

@@ -3,13 +3,16 @@
<!-- AspectJ v1.6.0 Tests -->
<suite>

<!-- first section - dont need a 1.6 vm but fixed in the 1.6 branch of AspectJ -->
<ajc-test dir="bugs160/pr175806" title="coping with bad tables">
<ajc-test dir="bugs154/pr206732" title="itd clash for types from aspectpath">
<compile outjar="foo.jar" files="Advised.aj"/>
<compile files="Ref.aj" aspectpath="foo.jar"/>
</ajc-test>

<ajc-test dir="bugs154/pr175806" title="coping with bad tables">
<compile options="-1.5" files="A.java"/>
</ajc-test>
<ajc-test dir="bugs160/pr174449" title="problem with generic aspect and generic pointcut">
<ajc-test dir="bugs154/pr174449" title="problem with generic aspect and generic pointcut">
<compile options="-1.5" files="Foo.java"/>
<run class="Foo">
<stderr>
@@ -19,7 +22,7 @@
</run>
</ajc-test>
<ajc-test dir="bugs160/pr174449" title="problem with generic aspect and generic pointcut - noinline">
<ajc-test dir="bugs154/pr174449" title="problem with generic aspect and generic pointcut - noinline">
<compile options="-1.5 -XnoInline" files="Foo.java"/>
<run class="Foo">
<stderr>
@@ -29,17 +32,17 @@
</run>
</ajc-test>
<ajc-test dir="bugs160/pr171953_2" title="problem with generic methods and ordering - ok">
<ajc-test dir="bugs154/pr171953_2" title="problem with generic methods and ordering - ok">
<compile options="-1.5" files="test/ListFactoryAspect.aj, test/AbstractProcessor.java,test/ListFactory.java,test/ListFactoryConsumer.java,test/Processor.java,test/SimpleListFactoryConsumer.java">
</compile>
</ajc-test>
<ajc-test dir="bugs160/pr171953_2" title="problem with generic methods and ordering - bad">
<ajc-test dir="bugs154/pr171953_2" title="problem with generic methods and ordering - bad">
<compile options="-1.5" files="test/ListFactory.java,test/ListFactoryConsumer.java,test/SimpleListFactoryConsumer.java,test/Processor.java,test/ListFactoryAspect.aj,test/AbstractProcessor.java">
</compile>
</ajc-test>

<ajc-test dir="bugs160/pr171953" title="problem with itd and join point signature collection - bad">
<ajc-test dir="bugs154/pr171953" title="problem with itd and join point signature collection - bad">
<compile options="-1.5 -showWeaveInfo" files="test/AbstractExecutable.java,test/AnotherExecutable.java,test/Executable.java,test/ExecutionAspect.aj,test/SecondTestExecutable.java test/SubTestExecutable.java test/TestExecutable.java">
<message kind="weave" text="Join point 'method-execution(void test.SecondTestExecutable.execute())' in Type 'test.SecondTestExecutable' (SecondTestExecutable.java:5) advised by around advice from 'test.ExecutionAspect' (ExecutionAspect.aj:9)"/>
<message kind="weave" text="Extending interface set for type 'test.AbstractExecutable' (AbstractExecutable.java) to include 'java.io.Serializable' (ExecutionAspect.aj)"/>
@@ -49,7 +52,7 @@
<run class="test.SecondTestExecutable"/>
</ajc-test>

<ajc-test dir="bugs160/pr171953" title="problem with itd and join point signature collection - ok">
<ajc-test dir="bugs154/pr171953" title="problem with itd and join point signature collection - ok">
<compile options="-1.5 -showWeaveInfo" files="test/SecondTestExecutable.java test/AbstractExecutable.java test/AnotherExecutable.java test/Executable.java test/ExecutionAspect.aj test/RunnableAspect.aj test/SubTestExecutable.java test/TestExecutable.java">
<message kind="weave" text="Join point 'method-execution(void test.SecondTestExecutable.execute())' in Type 'test.SecondTestExecutable' (SecondTestExecutable.java:5) advised by around advice from 'test.ExecutionAspect' (ExecutionAspect.aj:9)"/>
<message kind="weave" text="Extending interface set for type 'test.AbstractExecutable' (AbstractExecutable.java) to include 'java.io.Serializable' (ExecutionAspect.aj)"/>
@@ -59,39 +62,39 @@
<run class="test.SecondTestExecutable"/>
</ajc-test>

<ajc-test dir="bugs160/pr171952" title="generic methods and ITDs">
<ajc-test dir="bugs154/pr171952" title="generic methods and ITDs">
<compile files="Foo.java,FooAspect.java" options="-1.5"/>
</ajc-test>
<ajc-test dir="bugs160/pr169428" title="using decp annotation without aspect annotation">
<ajc-test dir="bugs154/pr169428" title="using decp annotation without aspect annotation">
<compile files="AnAspect.java" options="-1.5">
<message kind="error" text="Found @AspectJ annotations in a non @Aspect type 'AnAspect'"/>
</compile>
</ajc-test>
<ajc-test dir="bugs160/pr170467" title="itds and parameterized parameters">
<ajc-test dir="bugs154/pr170467" title="itds and parameterized parameters">
<compile files="Bug.aj" options="-1.5"/>
<compile files="Bug2.aj" options="-1.5"/>
</ajc-test>
<ajc-test dir="bugs160/pr169706" title="inherited annotations">
<ajc-test dir="bugs154/pr169706" title="inherited annotations">
<compile files="A.java,B.java,C.java,MyAspect.java,MyAnnotation.java,Test.java" options="-1.5 -showWeaveInfo">
<message kind="weave" text="Join point 'method-call(void C.foo())' in Type 'Test' (Test.java:5) advised by before advice from 'MyAspect' (MyAspect.java:4)"/>
</compile>
</ajc-test>
<ajc-test dir="bugs160/pr165885" title="generic field npe">
<ajc-test dir="bugs154/pr165885" title="generic field npe">
<compile files="Concrete.java,Abstract.java,Aspect.java" options="-1.5">
<message kind="warning" line="8" text="foo"/>
</compile>
</ajc-test>
<ajc-test dir="bugs160/pr168044" title="complex generics - 1">
<ajc-test dir="bugs154/pr168044" title="complex generics - 1">
<compile files="AbstractNode.java" options="-1.5">
</compile>
</ajc-test>
<ajc-test dir="bugs160/pr168063" title="incorrectly marking field transient">
<ajc-test dir="bugs154/pr168063" title="incorrectly marking field transient">
<compile files="A.java"/>
<run class="A">
<stdout>
@@ -100,12 +103,12 @@
</run>
</ajc-test>
<ajc-test dir="bugs160/pr166084" title="incorrect optimization of istore">
<ajc-test dir="bugs154/pr166084" title="incorrect optimization of istore">
<compile files="X.java" inpath="simple.jar"/>
<run class="Simple"/>
</ajc-test>
<ajc-test dir="bugs160/pr165631" title="dual parameterizations not allowed">
<ajc-test dir="bugs154/pr165631" title="dual parameterizations not allowed">
<!-- two variations of the same situation, should fail in the same way -->
<compile files="Bug.java" options="-1.5">
<message kind="error" line="12" text="Cannot declare parent B"/>
@@ -139,12 +142,19 @@
</run>
</ajc-test>
<ajc-test dir="bugs160/pr172107" title="null returned from getField()"
<ajc-test dir="bugs154/pr172107" title="null returned from getField()"
keywords="pr172107">
<compile files="ReadWriteAJBug172107.java,Instrumentation.aj"/>
<run class="ReadWriteAJBug172107"/>
</ajc-test>
<!-- second section - need a 1.6 vm -->
<ajc-test dir="bugs154/pr197719" title="annotation style syntax and cross package extension">
<compile files="test/aspects/C1.java,test/aspects/C3.java,test/aspects/MyAnn.java,test/aspects/MyAnnAspect.java,test/aspects2/C2.java" options="-1.5"/>
<run class="test.aspects2.C2"/>
</ajc-test>
<ajc-test dir="bugs154/pr205907" title="new pointcut designators in a reference pointcut">
<compile files="Test.aj"/>
</ajc-test>

</suite>

Loading…
Cancel
Save