aboutsummaryrefslogtreecommitdiffstats
path: root/tests/src/test/java/org/aspectj/systemtest/ajc120
diff options
context:
space:
mode:
authorAndy Clement <aclement@pivotal.io>2019-01-30 16:55:38 -0800
committerAndy Clement <aclement@pivotal.io>2019-01-30 16:55:38 -0800
commit2b24e7377da7c849fe7f9f4fa06a701664f9d27d (patch)
tree64c36c8fcf29633af7a5e2f7405b94cbec629ca8 /tests/src/test/java/org/aspectj/systemtest/ajc120
parentd60de8d0b3e62eb36b612a824bb9345d865c0155 (diff)
downloadaspectj-2b24e7377da7c849fe7f9f4fa06a701664f9d27d.tar.gz
aspectj-2b24e7377da7c849fe7f9f4fa06a701664f9d27d.zip
mavenizing tests - wip
Diffstat (limited to 'tests/src/test/java/org/aspectj/systemtest/ajc120')
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc120/Ajc120Tests.java252
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc120/ajc120-tests.xml482
-rw-r--r--tests/src/test/java/org/aspectj/systemtest/ajc120/ajc120.xml11
3 files changed, 745 insertions, 0 deletions
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc120/Ajc120Tests.java b/tests/src/test/java/org/aspectj/systemtest/ajc120/Ajc120Tests.java
new file mode 100644
index 000000000..8e1ef8789
--- /dev/null
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc120/Ajc120Tests.java
@@ -0,0 +1,252 @@
+/* *******************************************************************
+ * Copyright (c) 2004 IBM Corporation
+ * 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.systemtest.ajc120;
+
+import java.io.File;
+import junit.framework.Test;
+import org.aspectj.testing.XMLBasedAjcTestCase;
+
+public class Ajc120Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+
+ public static Test suite() {
+ return XMLBasedAjcTestCase.loadSuite(Ajc120Tests.class);
+ }
+
+ protected File getSpecFile() {
+ return getClassResource("ajc120.xml");
+ }
+
+
+ public void test001(){
+ runTest("NPE in concretization error path");
+ }
+
+ public void test002(){
+ runTest("priviledged aspects calling methods from advice");
+ }
+
+ public void test003(){
+ runTest("No error on overloaded pointcuts in class");
+ }
+
+ public void test004(){
+ runTest("No error on overloaded pointcuts unless binding variables");
+ }
+
+ public void test005(){
+ runTest("Declare soft softening other exception types");
+ }
+
+ public void test006(){
+ runTest("static method introduction on interfaces, should not be allowed");
+ }
+
+ public void test007(){
+ runTest("External pointcut refs not resolved if named pointcut used by declare");
+ }
+
+ public void test008(){
+ runTest("Appropriate message for 'after() thowing(Throwable th)' syntax error");
+ }
+
+ public void test009(){
+ runTest("Ensure we don't look for source on the classpath when binary not found");
+ }
+
+ public void test010(){
+ runTest("inner aspect containing declare soft");
+ }
+
+ public void test011(){
+ runTest("Bad parser error recovery in advice");
+ }
+
+ public void test012(){
+ runTest("Bad parser error recovery in java source");
+ }
+
+ public void test013(){
+ runTest("compiler issues error on inner aspects when privilieged");
+ }
+
+ public void test014(){
+ runTest("After throwing advice on ctors doesn't execute for inter-type decl field inits");
+ }
+
+ public void test015(){
+ runTest("Introduced abstract method on abstract class not implemented by subtype (single source file)");
+ }
+
+ public void test016(){
+ runTest("Introduced abstract method on abstract class with introduced concrete method (single source file)");
+ }
+
+ public void test017(){
+ runTest("Introduced abstract method on abstract class with existing concrete method (single source file)");
+ }
+
+ public void test018(){
+ runTest("aspect declares interface method (no modifiers)");
+ }
+
+ public void test019(){
+ runTest("aspect declares interface method (abstract)");
+ }
+
+ public void test020(){
+ runTest("aspect declares interface method (public abstract)");
+ }
+
+ public void test021(){
+ runTest("Use class implementing interface via aspect (not woven together)");
+ }
+
+ public void test022(){
+ runTest("Use class implementing interface via aspect (weave all together)");
+ }
+
+ public void test023(){
+ runTest("Use class implementing interface via aspect (only one implementer)");
+ }
+
+ public void test024(){
+ runTest("Erroneous exception conversion");
+ }
+
+ public void test025(){
+ runTest("before():execution(new(..)) does not throw NoAspectBoundException");
+ }
+
+ public void test026(){
+ runTest("Anomalous handling of inter-type declarations to abstract base classes in aspectj 1.1");
+ }
+
+ public void test027(){
+ runTest("NPE When compiling intertype declaration");
+ }
+
+ public void test028(){
+ runTest("declare warning on subtype constructor");
+ }
+
+ public void test029(){
+ runTest("CatchClauseSignature has broken operation");
+ }
+
+ public void test030(){
+ runTest("after returning with parameter: matching rules");
+ }
+
+ public void test031(){
+ runTest("binary compatibility of advice method names - expect no error");
+ }
+
+ public void test032(){
+ runTest("binary compatibility of advice method names - expect error");
+ }
+
+ public void test033(){
+ runTest("binary compatibility of advice method names - expect no error");
+ }
+
+ public void test034(){
+ runTest("mail list VerifyError with protected access");
+ }
+
+ public void test035(){
+ runTest("Polymorphic ITD fails in CVS HEAD (From ajdt 1.1.6)");
+ }
+
+ public void test036(){
+ runTest("ClasscastException on concretization of if(false)");
+ }
+
+ public void test037(){
+ runTest("ClasscastException on concretization of if(false)");
+ }
+
+ public void test038(){
+ runTest("Introduced abstract method on interface not implemented by subtype (weave altogether)");
+ }
+
+ public void test039(){
+ runTest("declare String field on interface");
+ }
+
+ public void test040(){
+ runTest("declare int field on interface");
+ }
+
+ public void test041(){
+ runTest("declare Object field on interface");
+ }
+
+ public void test042(){
+ runTest("fail in compiling aspect with overriding method introduction with different throws clause ");
+ }
+
+ public void test043(){
+ runTest("super call in anonymous class created in around advice");
+ }
+
+ public void test044(){
+ runTest("retitle warning to circular {advice} dependency at ...");
+ }
+
+ public void test045(){
+ runTest("Introduce Unknown Type to class causes Null pointer exception");
+ }
+
+ public void test046(){
+ runTest("Private members introduced via an interface are visible to the class");
+ }
+
+ public void test047(){
+ runTest("declare precedence on a class should be a compile-time error");
+ }
+
+ public void test048(){
+ runTest("declare precedence on a class should be a compile-time error");
+ }
+
+ public void test049(){
+ runTest("NPE when binary weaving a ctor ITD");
+ }
+
+ public void test050(){
+ runTest("NPE in compiler when using (an unusual) declare warning against a ctor ITD");
+ }
+
+ public void test051(){
+ runTest("InterTypeMethodDeclaration.java:104");
+ }
+
+ public void test052(){
+ runTest("nested uses of this() inside constructors not handled properly for initialization and preinitialization pointcuts");
+ }
+
+ public void test053(){
+ runTest("wrong variable binding in || pointcuts");
+ }
+
+ public void test054(){
+ runTest("error message for constructor-execution pcd");
+ }
+
+ public void test055(){
+ runTest("weaving using an empty jar in -injars");
+ }
+
+ public void test056(){
+ runTest("weaving using an empty jar in -aspectpath");
+ }
+
+}
+
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc120/ajc120-tests.xml b/tests/src/test/java/org/aspectj/systemtest/ajc120/ajc120-tests.xml
new file mode 100644
index 000000000..4b51a98dd
--- /dev/null
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc120/ajc120-tests.xml
@@ -0,0 +1,482 @@
+<!-- AspectJ v1.2.0 Tests -->
+
+ <ajc-test dir="bugs/concretizeNpe" pr="43033"
+ title="NPE in concretization error path"
+ keywords="poorErrorMessages">
+ <compile files="base/ExceptionHandling.java,model/ModelExceptionHandling.java">
+ <!--
+ <message line="5" kind="error" text="pointcut base.ExceptionHandling.scope() is abstract"/>
+ <message line="4" kind="error" text="inherited abstract pointcut base.ExceptionHandling.scope() is not made concrete"/>
+ <message line="8" kind="error" text="inherited abstract pointcut base.ExceptionHandling.scope() is not made concrete"/>
+ <message line="12" kind="error" />
+ <message line="13" kind="error" />
+ -->
+ <message line="12" kind="error" />
+ <message line="13" kind="error" />
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/privilege/packageProtected" pr="42711"
+ title="priviledged aspects calling methods from advice">
+ <compile files="concern/ContextUser.java,concern/BaseTarget.java,core/Base.java" />
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="49457"
+ title="No error on overloaded pointcuts in class">
+ <compile files="OverloadedPointcutsInClass.java">
+ <message kind="error" line="3" text="duplicate pointcut name: pc1"/>
+ <message kind="error" line="4" text="duplicate pointcut name: pc1"/>
+ <message kind="error" line="6" text="duplicate pointcut name: pc2"/>
+ <message kind="error" line="7" text="duplicate pointcut name: pc2"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="49457"
+ title="No error on overloaded pointcuts unless binding variables">
+ <compile files="OverloadedPointcutsInAspect.java">
+ <message kind="error" line="15" text="duplicate pointcut name: pc"/>
+ <message kind="error" line="16" text="duplicate pointcut name: pc"/>
+ <message kind="error" line="18" text="incompatible type"/>
+ <message kind="error" line="20" text="incompatible type"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="48522"
+ title="Declare soft softening other exception types">
+ <compile files="SofteningTooMuch.java">
+ <message kind="error" line="6" text="Unhandled exception"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="47754"
+ title="static method introduction on interfaces, should not be allowed">
+ <compile files="StaticInterfaceMethods.java">
+ <message kind="error" line="7" text="methods in interfaces cannot be declared static"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="45184"
+ title="External pointcut refs not resolved if named pointcut used by declare">
+ <compile files="DeclareErrorNamedPointcutCE.java">
+ <message kind="error" line="10" text="ref"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs"
+ title="Appropriate message for 'after() thowing(Throwable th)' syntax error"
+ pr="49638"
+ >
+ <compile
+ files="AfterThrowingAdviceSyntaxError.java" >
+ <message kind="error" line="21" />
+ <message kind="error" line="23" />
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/faultingInSource" pr="46671"
+ title="Ensure we don't look for source on the classpath when binary not found">
+ <compile files="SimpleTracing.java" classpath="." options="-verbose -1.4">
+ <message kind="warning" line="4" text="no match for this type name: SampleClass"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="46750" title="inner aspect containing declare soft">
+ <compile files="TestSoftening.java">
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="45663"
+ title="Bad parser error recovery in advice">
+ <compile files="ParserRecoveryTest.java">
+ <message kind="error" line="7"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="45663"
+ title="Bad parser error recovery in java source">
+ <compile files="ParserRecoveryTestPureJava.java">
+ <message kind="error" line="6"/>
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs"
+ pr="46280"
+ title="compiler issues error on inner aspects when privilieged">
+ <compile files="PrivilegedParsing.java"/>
+ <run class="PrivilegedParsing"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="44586"
+ title="After throwing advice on ctors doesn't execute for inter-type decl field inits">
+ <compile files="AfterThrowingCtor.java" options="-Xlint:ignore">
+ </compile>
+ <run class="AfterThrowingCtor"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on abstract class not implemented by subtype (single source file)">
+ <compile files="singlesource/C.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on abstract class with introduced concrete method (single source file)">
+ <compile files="singlesource/C1.java"/>
+ <run class="C1"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on abstract class with existing concrete method (single source file)">
+ <compile files="singlesource/C2.java"/>
+ <run class="C2"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interAbstract"
+ pr="49784"
+ title="aspect declares interface method (no modifiers)">
+ <compile files="InterfaceMethodDeclarationNone.java" >
+ <message kind="error" line="32" text="requires a body" />
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interAbstract"
+ pr="49784"
+ title="aspect declares interface method (abstract)">
+ <compile files="InterfaceMethodDeclarationAbstract.java">
+ <message kind="error" line="40" text="abstract intertype method declaration 'int I.getInt()' on interface I must be declared public (compiler limitation)" />
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interAbstract"
+ pr="49784"
+ comment="working in 1.1.1 - keep with others?"
+ title="aspect declares interface method (public abstract)">
+ <compile files="InterfaceMethodDeclarationFull.java" />
+ <run class="InterfaceMethodDeclarationFull"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interfaceDefinition"
+ pr="43972"
+ title="Use class implementing interface via aspect (not woven together)">
+ <compile
+ files="pack/DefineInterface.java,
+ pack/InterfaceDefinition.java,
+ pack/MyInterface.java" options="-XnotReweavable"/>
+ <run class="pack.InterfaceDefinition"/>
+ <compile
+ includeClassesDir="true"
+ files="Main.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interfaceDefinition"
+ pr="43972"
+ title="Use class implementing interface via aspect (weave all together)">
+ <compile
+ files="pack/DefineInterface.java,
+ pack/InterfaceDefinition.java,
+ pack/MyInterface.java,
+ Main.java"/>
+ <run class="pack.InterfaceDefinition"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/interfaceDefinition"
+ pr="43972"
+ title="Use class implementing interface via aspect (only one implementer)">
+ <compile
+ files="pack/DefineInterface.java,
+ pack/InterfaceDefinition.java,
+ pack/MyInterface.java"/>
+ <run class="pack.InterfaceDefinition"/>
+ <compile
+ includeClassesDir="true"
+ files="Main1.java"/>
+ <run class="Main1"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="44587"
+ title="Erroneous exception conversion">
+ <compile files="ErroneousExceptionConversion.java">
+ </compile>
+ <run class="ErroneousExceptionConversion"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="34206"
+ title="before():execution(new(..)) does not throw NoAspectBoundException">
+ <compile files="ErroneousExceptionConversion1.java" options="-Xlint:ignore">
+ </compile>
+ <run class="ErroneousExceptionConversion1"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="38824"
+ title="Anomalous handling of inter-type declarations to abstract base classes in aspectj 1.1">
+ <compile files="AbstractBaseAndInterTypeInterface.java">
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/caseSensitivity" pr="42515"
+ title="NPE When compiling intertype declaration">
+ <compile files="uniqueId/Numbered.java,uniqueId/Bug.aj">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs"
+ pr="49295"
+ title="declare warning on subtype constructor">
+ <compile files="SubtypeConstructorCW.java" >
+ <message kind="warning" line="5" text="String as first"/>
+ <message kind="warning" line="10" text="String as first"/>
+ </compile>
+ <run class="SubtypeConstructorCW"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="50570"
+ title="CatchClauseSignature has broken operation">
+ <compile files="HandlerSig.java"/>
+ <run class="HandlerSig"/>
+ </ajc-test>
+
+
+ <ajc-test dir="new" pr="42668"
+ title="after returning with parameter: matching rules">
+ <compile files="AfterReturningParamMatching.java" options="-1.4"/>
+ <run class="AfterReturningParamMatching"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/binaryCompat" pr="50641"
+ title="binary compatibility of advice method names - expect no error">
+ <compile files="Main.java,TraceV1.aj" options="-1.4"/>
+ <run class="Main"/>
+ <compile files="TraceV2.aj" options="-1.4"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/binaryCompat" pr="50641"
+ title="binary compatibility of advice method names - expect error">
+ <compile files="Main.java,TraceV1.aj" options="-1.4"/>
+ <run class="Main"/>
+ <compile files="TraceRE.aj" options="-1.4"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/binaryCompat" pr="50641"
+ title="binary compatibility of advice method names - expect no error">
+ <compile files="Main.java,TraceWithInnerV1.aj" options="-1.4"/>
+ <run class="Main"/>
+ <compile files="TraceWithInnerV2.aj" options="-1.4"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs/protectedvf"
+ title="mail list VerifyError with protected access">
+ <compile files="main/Driver.java,main/p2/AbstractTest.aj,main/p1/ConcreteTest.aj"/>
+ <run class="main.Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="51919"
+ title="Polymorphic ITD fails in CVS HEAD (From ajdt 1.1.6)">
+ <compile files="OverloadedITDNPE.java" />
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="51320"
+ title="ClasscastException on concretization of if(false)">
+ <compile files="DecwClassCastException.java">
+
+ <!-- These are the illegal PCDs against a deow -->
+ <message kind="error" line="27" text="if() pointcut designator cannot be used"/>
+ <message kind="error" line="29" text="if() pointcut designator cannot be used"/>
+
+ <message kind="error" line="31" text="cflow() pointcut designator cannot be used"/>
+ <message kind="error" line="33" text="cflow() pointcut designator cannot be used"/>
+
+ <message kind="error" line="35" text="cflowbelow() pointcut designator cannot be used"/>
+ <message kind="error" line="37" text="cflowbelow() pointcut designator cannot be used"/>
+
+ <message kind="error" line="39" text="this() pointcut designator cannot be used"/>
+ <message kind="error" line="41" text="this() pointcut designator cannot be used"/>
+
+ <message kind="error" line="43" text="target() pointcut designator cannot be used"/>
+ <message kind="error" line="45" text="target() pointcut designator cannot be used"/>
+
+ <message kind="error" line="47" text="args() pointcut designator cannot be used"/>
+ <message kind="error" line="49" text="args() pointcut designator cannot be used"/>
+
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="51320"
+ title="ClasscastException on concretization of if(false)">
+ <compile files="DeclareSoftDynamicPCDs.java">
+
+ <!-- These are the illegal PCDs against a deow -->
+ <message kind="error" line="27" text="if() pointcut designator cannot be used"/>
+ <message kind="error" line="29" text="if() pointcut designator cannot be used"/>
+
+ <message kind="error" line="31" text="cflow() pointcut designator cannot be used"/>
+ <message kind="error" line="33" text="cflow() pointcut designator cannot be used"/>
+
+ <message kind="error" line="35" text="cflowbelow() pointcut designator cannot be used"/>
+ <message kind="error" line="37" text="cflowbelow() pointcut designator cannot be used"/>
+
+ <message kind="error" line="39" text="this() pointcut designator cannot be used"/>
+ <message kind="error" line="41" text="this() pointcut designator cannot be used"/>
+
+ <message kind="error" line="43" text="target() pointcut designator cannot be used"/>
+ <message kind="error" line="45" text="target() pointcut designator cannot be used"/>
+
+ <message kind="error" line="47" text="args() pointcut designator cannot be used"/>
+ <message kind="error" line="49" text="args() pointcut designator cannot be used"/>
+
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/abstractMethods" pr="49784"
+ title="Introduced abstract method on interface not implemented by subtype (weave altogether)">
+ <compile files="interface/C.java,interface/A.java,interface/B.java" />
+ <run class="C"/>
+ </ajc-test>
+
+
+ <ajc-test dir="bugs/fieldsOnInterfaces"
+ pr="52107"
+ title="declare String field on interface">
+ <compile files="StringFieldOnInterface.java">
+ <message kind="warning" line="16" text="this affected type is not exposed"/>
+ <message kind="warning" line="17" text="this affected type is not exposed"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/fieldsOnInterfaces"
+ pr="52107"
+ title="declare int field on interface">
+ <compile files="IntFieldOnInterface.java">
+ <message kind="warning" line="27" text="this affected type is not exposed"/>
+ <message kind="warning" line="28" text="this affected type is not exposed"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/fieldsOnInterfaces"
+ pr="52107"
+ title="declare Object field on interface">
+ <compile files="ObjectFieldOnInterface.java">
+ <message kind="warning" line="20" text="this affected type is not exposed"/>
+ <message kind="warning" line="21" text="this affected type is not exposed"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="50776"
+ title="fail in compiling aspect with overriding method introduction with different throws clause ">
+ <compile files="IntertypeDifferentThrows.java" />
+ </ajc-test>
+
+ <ajc-test dir="new"
+ comment="in ajc 1.1.1, VerifyError Illegal use of nonvirtual function call"
+ title="super call in anonymous class created in around advice">
+ <compile files="SuperClosure.java" />
+ <run class="SuperClosure" />
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="44272"
+ title="retitle warning to circular {advice} dependency at ...">
+ <compile files="CircularAdvicePrecedence.java" options="-1.4">
+ <message kind="error" line="4"/>
+ <message kind="error" line="5"/>
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="51322"
+ title="Introduce Unknown Type to class causes Null pointer exception" >
+ <compile files="Pr51322.java">
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs"
+ title="Private members introduced via an interface are visible to the class"
+ pr="52928">
+ <compile
+ files="VisiblePrivateInterfaceITDs.java" >
+ <message kind="error" line="13"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/declarePrecedenceWithClasses" pr="53012"
+ title="declare precedence on a class should be a compile-time error">
+ <compile files="DeclarePrecedenceTestClass.java" >
+ <message kind="error" line="10" text="Non-aspect types can only be specified"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/declarePrecedenceWithClasses" pr="53012"
+ title="declare precedence on a class should be a compile-time error">
+ <compile files="Priority.aj" />
+ </ajc-test>
+
+ <ajc-test dir="bugs"
+ pr="59440"
+ title="NPE when binary weaving a ctor ITD">
+ <compile files="CtorITD.aj">
+ <message kind="error" line="2"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs"
+ pr="59397"
+ title="NPE in compiler when using (an unusual) declare warning against a ctor ITD">
+ <compile files="DecwInitializationITD.java">
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs/compileOrdering"
+ pr="59778"
+ title="InterTypeMethodDeclaration.java:104">
+ <compile files="B.java,D.java" >
+ <message kind="error" line="2" file="B.java"/>
+ </compile>
+ <compile files="D.java,B.java">
+ <message kind="error" line="2" file="B.java"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs"
+ pr="61538" title="nested uses of this() inside constructors not handled properly for initialization and preinitialization pointcuts">
+ <compile files="ConstructorMain.java"/>
+ <run class="ConstructorMain"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs"
+ pr="61568" title="wrong variable binding in || pointcuts">
+ <compile files="DisjunctVarBinding.java">
+ <message kind="error" line="17" text="ambiguous binding of parameter(s) a, b across '||' in pointcut"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs"
+ pr="60936" title="error message for constructor-execution pcd">
+ <compile files="InterfaceConstructor.java" options="-1.4">
+ <message kind="warning" line="10" text="no interface constructor-execution join point"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="43714"
+ title="weaving using an empty jar in -injars" >
+ <compile files="notAJar.jar" outjar="outJar.jar">
+ <message kind="warning" text="build config error: skipping missing, empty or corrupt inpath entry"/>
+ <message kind="error" text="no sources specified"/>
+ <message kind="fail"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs" pr="43714"
+ title="weaving using an empty jar in -aspectpath" >
+ <compile files="WeaveLocal.java" aspectpath="notAJar.jar" outjar="outJar.jar" >
+ <message kind="warning" text="build config error: skipping missing, empty or corrupt aspectpath entry"/>
+ </compile>
+ </ajc-test>
+ \ No newline at end of file
diff --git a/tests/src/test/java/org/aspectj/systemtest/ajc120/ajc120.xml b/tests/src/test/java/org/aspectj/systemtest/ajc120/ajc120.xml
new file mode 100644
index 000000000..dade07154
--- /dev/null
+++ b/tests/src/test/java/org/aspectj/systemtest/ajc120/ajc120.xml
@@ -0,0 +1,11 @@
+<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[
+<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/ajc120/ajc120-tests.xml">
+]>
+
+<!-- AspectJ v1.2.0 Tests -->
+
+<suite>
+
+&tests;
+
+</suite>