123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483 |
- /* *******************************************************************
- * 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.ajc11;
-
- import org.aspectj.testing.XMLBasedAjcTestCase;
- import org.aspectj.util.LangUtil;
-
- import junit.framework.Test;
-
- public class Ajc11Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
-
- public static Test suite() {
- return XMLBasedAjcTestCase.loadSuite(Ajc11Tests.class);
- }
-
- protected java.net.URL getSpecFile() {
- return getClassResource("ajc11.xml");
- }
-
- public void test001() {
- runTest("declare interface extends class");
- }
-
- public void test002() {
- runTest("declare interface implements class");
- }
-
- public void test003() {
- runTest("declaring a private method on an inner interface");
- }
-
- public void test004() {
- runTest("CE expected when declaring fields on arrays");
- }
-
- public void test005() {
- runTest("signature of handler join point");
- }
-
- public void test006() {
- runTest("source locations within expressions");
- }
-
- public void test007() {
- runTest("crashes given method in declared method");
- }
-
- public void test008() {
- runTest("after returning advice on interface constructor");
- }
-
- public void test009() {
- runTest("after returning advice on interface constructor - error");
- }
-
- public void test010() {
- runTest("after advice on static call join point");
- }
-
- public void test011() {
- runTest("incompatible class change error");
- }
-
- public void test012() {
- runTest("simple cflow of method execution");
- }
-
- public void test013() {
- runTest("using instance as class reference to constant field");
- }
-
- public void test014() {
- runTest("interface self-reference in anonymous instance");
- }
-
- public void test015() {
- runTest("self-reference from (aspect-declared) method-local class");
- }
-
- public void test016() {
- runTest("expect CE for unterminated declare error");
- }
-
- public void test017() {
- runTest("expect CE for declaration collision between subaspects instead of domination order");
- }
-
- public void test018() {
- runTest("subtype pattern in dominates should pick out aspect subtypes");
- }
-
- public void test019() {
- runTest("subtype pattern in dominates will conflict with type pattern");
- }
-
- public void test020() {
- runTest("after returning advice on interface and implementation constructor");
- }
-
- public void test021() {
- runTest("after throwing advice with non-throwable formal");
- }
-
- public void test022() {
- runTest("declare array field using postfix");
- }
-
- public void test023() {
- runTest("prohibit declaring new aspect constructor with arguments");
- }
-
- public void test024() {
- runTest("prohibit declaring only aspect constructor with arguments");
- }
-
- public void test025() {
- runTest("declare class extends interface");
- }
-
- public void test026() {
- runTest("declare class implements class");
- }
-
- public void test027() {
- runTest("declare interface implements interface");
- }
-
- public void test028() {
- runTest("if and cflow arg binding");
- }
-
- public void test029() {
- runTest("circularity in declare dominates");
- }
-
- public void test030() {
- runTest("percflow code hangs compiler");
- }
-
- public void test031() {
- runTest("Verification error tracing constructor that takes arguments");
- }
-
- public void test032() {
- runTest("declared exceptions in inter-type decls");
- }
-
- public void test033() {
- runTest("Verify error on non-Throwable in declare soft");
- }
-
- public void test034() {
- runTest("inter-type fields with array types");
- }
-
- public void test035() {
- runTest("checking around join point for advice return type - numeric");
- }
-
- public void test036() {
- runTest("void around advice without proceed");
- }
-
- public void test037() {
- runTest("declaring method on superclass and subclass");
- }
-
- public void test038() {
- runTest("introducing final fields (simple)");
- }
-
- public void test039() {
- runTest("introducing final fields and using as constants");
- }
-
- public void test040() {
- runTest("introducing final fields and checking errors");
- }
-
- public void test041() {
- runTest("Static inner aspects cannot reference user defined pointcuts");
- }
-
- public void test042() {
- runTest("Static inner aspects cannot reference user defined pointcuts");
- }
-
- public void test043() {
- runTest("Declare precedence should not allow multiple * patterns");
- }
-
- public void test044() {
- runTest("VerifyError on accessing objects not accessible to the weaver");
- }
-
- public void test045() {
- runTest("aspect static initializers should run before instance constructed");
- }
-
- public void test046() {
- runTest("super call in intertype method declaration body causes VerifyError");
- }
-
- public void test047() {
- runTest("Error with certain combination of advice");
- }
-
- public void test048() {
- runTest("Pointcut adviceexecution() does not work");
- }
-
- public void test049() {
- runTest("problems with finalize call");
- }
-
- public void test050() {
- runTest("Negation of if pointcut does not work");
- }
-
- public void test051() {
- runTest("ajc reports error when encountering static declaration of nested classes");
- }
-
- public void test052() {
- runTest("can't use pointcuts defined in inner aspects ");
- }
-
- public void test053() {
- runTest("can't resolve nested public interfaces (also PR#32399)");
- }
-
- public void test054() {
- runTest("thisJoinPoint.getArgs() causes IncompatibleClassChangeError");
- }
-
- public void test055() {
- runTest("inter-type declaration of void field");
- }
-
- public void test056() {
- runTest("no such constructor for proceed argument (error)");
- }
-
- public void test057() {
- runTest("omnibus declare warning context with no initializer/constructor");
- }
-
- public void test058() {
- runTest("omnibus declare warning context");
- }
-
- public void test059() {
- runTest("cflow binding issues with ignoring state");
- }
-
- public void test060() {
- runTest("cflow binding -- original weaver crash");
- }
-
- public void test061() {
- runTest("type not imported in around advice");
- }
-
- public void test062() {
- runTest("type not imported in aspect");
- }
-
- public void test063() {
- runTest("class extending abstract aspect");
- }
-
- public void test064() {
- runTest("declare soft and throw statements");
- }
-
- public void test065() {
- runTest("inter-type declaration bug with abstract classes");
- }
-
- public void test066() {
- runTest("Inter type declaration to base class not seen by derived class");
- }
-
- public void test067() {
- runTest("Declare parents with intermediate ancestor");
- }
-
- public void test068() {
- runTest("Declare parents removing ancestor");
- }
-
- public void test069() {
- runTest("IllegalAccessError while accessing introduced variable / 1.1rc1");
- }
-
- public void test070() {
- runTest("implemented abstract pointcut");
- }
-
- public void test071() {
- runTest("privileged aspect main verify error");
- }
-
- public void test072() {
- runTest("Internal compiler error with thisJoinPoint.getStaticPart()");
- }
-
- public void test073() {
- runTest("Inconsistant stack height with around");
- }
-
- public void test074() {
- runTest("Ajc 1.1 rc1 java.lang.VerifyError with messy arounds");
- }
-
- public void test075() {
- runTest("try/finally in around advice (same as ...messy arounds?)");
- }
-
- public void test076() {
- runTest("advise join points in subclass of empty interface");
- }
-
- public void test077() {
- runTest("can't put around advice on interface static initializer");
- }
-
- public void test078() {
- runTest("cflow concretization causing assertion failure");
- }
-
- public void test079() {
- runTest("lame error message: negation doesn't allow binding");
- }
-
- public void test080() {
- runTest("Error when introducing members of type Class");
- }
-
- // public void test081(){
- // runTest("arrays via Class.forName()");
- // }
-
- public void test082() {
- runTest("perthis and inline arounds");
- }
-
- public void test083() {
- runTest("Weaver fails with NPE for very large source files ");
- }
-
- public void test084() {
- runTest("CLE: no sources");
- }
-
- public void test085() {
- runTest("CLE: bad filename");
- }
-
- public void test086() {
- runTest("CLE: no dir specified for sourceroots");
- }
-
- public void test087() {
- runTest("CLE: no sourceroot specified for incremental");
- }
-
- public void test088() {
- runTest("CLE: file specified with incremental");
- }
-
- public void test089() {
- runTest("public static fields being ignored");
- }
-
- public void test090() {
- runTest("can not resolve this member warning");
- }
-
- public void test091() {
- runTest("try switch VerifyError, InconsistentStackHeight");
- }
-
- public void test092() {
- if (LangUtil.is17VMOrGreater()) {
- runTest("Compiler crash in ajc 1.1 - terrible error for inaccessible constructor - 1.7");
- } else {
- runTest("Compiler crash in ajc 1.1 - terrible error for inaccessible constructor");
- }
- }
-
- public void test093() {
- runTest("Missing import crashes compiler");
- }
-
- public void test094() {
- runTest("NPE in bcel.LazyMethodGen when delegating from one ctor to a second that includes a switch");
- }
-
- public void test095() {
- runTest("switch statement in aspects crashes weaving");
- }
-
- public void test096() {
- runTest("ajc stack trace on declaring hashcode() method in aspect");
- }
-
- public void test097() {
- runTest("using super in method introduced on interface with multiple supertypes");
- }
-
- public void test098() {
- runTest("Compiler crashes in jar and cflow (with no .jar)");
- }
-
- public void test099() {
- runTest("Compiler crashes in jar and cflow (with .jar)");
- }
-
- public void test100() {
- runTest("Default method impl for interface causes internal exception.");
- }
-
- public void test102() {
- runTest("compile error expected for abstract pointcut outside abstract aspect");
- }
-
- public void test103() {
- runTest("subtype-qualified pointcut reference");
- }
-
- public void test104() {
- runTest("weaver trace on mis-qualified pointcut reference");
- }
-
- public void test105() {
- runTest("compile error expected for interface pointcuts");
- }
-
- public void test106() {
- runTest("interface call signatures when declaring method in aspect");
- }
-
- public void test107() {
- runTest("reflective check of declared exceptions from aspect-declared methods");
- }
-
- public void test108() {
- runTest("throw derivative pointcuts not advised");
- }
-
- public void test109() {
- runTest("perthis and signature bad interaction");
- }
-
- public void test110() {
- runTest("declare error fails on pointcuts composed from multiple classes");
- }
-
- public void test111() {
- runTest("declare error fails on pointcuts composed from multiple classes");
- }
-
- public void test112() {
- runTest("Interaction between pointcut binding and declare parents");
- }
-
- public void test113() {
- runTest("Non-functional concretezation of ReferencePointcut");
- }
-
- public void test114() {
- runTest("zip and jar suffixes for extdirs entries");
- }
-
- }
|