From 8c6b3ae13b105ce9bb9559de0ee4752cab5ba81c Mon Sep 17 00:00:00 2001 From: Andy Clement Date: Fri, 25 May 2018 12:51:25 -0700 Subject: testcode for 535086 --- tests/bugs192/ptw/a/b/c/Code.java | 31 +++++++++ tests/bugs192/ptw/a/b/c/Code2.java | 7 ++ tests/bugs192/ptw/a/b/c/Foo.java | 9 +++ tests/bugs192/ptw/a/b/c/FooPrivileged.java | 9 +++ tests/bugs192/ptw/a/b/d/Foo.java | 9 +++ tests/bugs192/ptw/a/b/d/FooPrivileged.java | 9 +++ .../org/aspectj/systemtest/ajc192/Ajc192Tests.java | 51 +++++++++++++++ .../systemtest/ajc192/AllTestsAspectJ192.java | 25 ++++++++ tests/src/org/aspectj/systemtest/ajc192/ajc192.xml | 74 ++++++++++++++++++++++ 9 files changed, 224 insertions(+) create mode 100644 tests/bugs192/ptw/a/b/c/Code.java create mode 100644 tests/bugs192/ptw/a/b/c/Code2.java create mode 100644 tests/bugs192/ptw/a/b/c/Foo.java create mode 100644 tests/bugs192/ptw/a/b/c/FooPrivileged.java create mode 100644 tests/bugs192/ptw/a/b/d/Foo.java create mode 100644 tests/bugs192/ptw/a/b/d/FooPrivileged.java create mode 100644 tests/src/org/aspectj/systemtest/ajc192/Ajc192Tests.java create mode 100644 tests/src/org/aspectj/systemtest/ajc192/AllTestsAspectJ192.java create mode 100644 tests/src/org/aspectj/systemtest/ajc192/ajc192.xml (limited to 'tests') diff --git a/tests/bugs192/ptw/a/b/c/Code.java b/tests/bugs192/ptw/a/b/c/Code.java new file mode 100644 index 000000000..d46e1f49a --- /dev/null +++ b/tests/bugs192/ptw/a/b/c/Code.java @@ -0,0 +1,31 @@ +package a.b.c; + +public class Code { + public static void main(String []argv) { + new Code().new PublicInner().run(); + new Code().new DefaultInner().run(); + new Code().new PrivateInner().run(); + } + + public class PublicInner implements Runnable { + public void run() { + System.out.println("PublicInner.run()"); + } + } + + class DefaultInner implements Runnable { + public void run() { + System.out.println("DefaultInner.run()"); + } + } + + private class PrivateInner implements Runnable { + public void run() { + System.out.println("PrivateInner.run()"); + } + } + + public void run() { + System.out.println("Code (outer public class).run()"); + } +} diff --git a/tests/bugs192/ptw/a/b/c/Code2.java b/tests/bugs192/ptw/a/b/c/Code2.java new file mode 100644 index 000000000..aa87e31c3 --- /dev/null +++ b/tests/bugs192/ptw/a/b/c/Code2.java @@ -0,0 +1,7 @@ +//package a.b.c; +// +//class Code2 implements Runnable { +// public void run() { +// System.out.println("Code2.run()"); +// } +//} diff --git a/tests/bugs192/ptw/a/b/c/Foo.java b/tests/bugs192/ptw/a/b/c/Foo.java new file mode 100644 index 000000000..5b37208fd --- /dev/null +++ b/tests/bugs192/ptw/a/b/c/Foo.java @@ -0,0 +1,9 @@ +package a.b.c; + +aspect Foo pertypewithin(Runnable+) { + after() : staticinitialization(*) { + System.out.println(thisJoinPointStaticPart+" getWithinTypeName() = " + getWithinTypeName()); + Class c = thisJoinPointStaticPart.getSourceLocation().getWithinType(); + System.out.println(thisJoinPointStaticPart+" aspectOf("+c.getName()+") = "+Foo.aspectOf(c).getClass().getName()); + } +} diff --git a/tests/bugs192/ptw/a/b/c/FooPrivileged.java b/tests/bugs192/ptw/a/b/c/FooPrivileged.java new file mode 100644 index 000000000..e55128344 --- /dev/null +++ b/tests/bugs192/ptw/a/b/c/FooPrivileged.java @@ -0,0 +1,9 @@ +package a.b.c; + +privileged aspect Foo pertypewithin(Runnable+) { + after() : staticinitialization(*) { + System.out.println(thisJoinPointStaticPart+" getWithinTypeName() = " + getWithinTypeName()); + Class c = thisJoinPointStaticPart.getSourceLocation().getWithinType(); + System.out.println(thisJoinPointStaticPart+" aspectOf("+c.getName()+") = "+Foo.aspectOf(c).getClass().getName()); + } +} diff --git a/tests/bugs192/ptw/a/b/d/Foo.java b/tests/bugs192/ptw/a/b/d/Foo.java new file mode 100644 index 000000000..0a0cc2d33 --- /dev/null +++ b/tests/bugs192/ptw/a/b/d/Foo.java @@ -0,0 +1,9 @@ +package a.b.d; + +aspect Foo pertypewithin(Runnable+) { + after() : staticinitialization(*) { + System.out.println(thisJoinPointStaticPart+" getWithinTypeName() = " + getWithinTypeName()); + Class c = thisJoinPointStaticPart.getSourceLocation().getWithinType(); + System.out.println(thisJoinPointStaticPart+" aspectOf("+c.getName()+") = "+Foo.aspectOf(c).getClass().getName()); + } +} diff --git a/tests/bugs192/ptw/a/b/d/FooPrivileged.java b/tests/bugs192/ptw/a/b/d/FooPrivileged.java new file mode 100644 index 000000000..006b95590 --- /dev/null +++ b/tests/bugs192/ptw/a/b/d/FooPrivileged.java @@ -0,0 +1,9 @@ +package a.b.d; + +privileged aspect Foo pertypewithin(Runnable+) { + after() : staticinitialization(*) { + System.out.println("getWithinTypeName() = " + getWithinTypeName()); + Class c = thisJoinPointStaticPart.getSourceLocation().getWithinType(); + System.out.println("Aspect instance = "+Foo.aspectOf(c).getClass().getName()); + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc192/Ajc192Tests.java b/tests/src/org/aspectj/systemtest/ajc192/Ajc192Tests.java new file mode 100644 index 000000000..989d74b2d --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc192/Ajc192Tests.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2018 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 API and implementation + *******************************************************************************/ +package org.aspectj.systemtest.ajc192; + +import java.io.File; + +import org.aspectj.testing.XMLBasedAjcTestCase; + +import junit.framework.Test; + +/** + * @author Andy Clement + */ +public class Ajc192Tests extends XMLBasedAjcTestCase { + + public void testPTW_nonPrivileged() { + runTest("ptw"); + } + + public void testPTW_nonPrivilegedSamePackage() { + runTest("ptw - same package"); + } + + public void testPTW_privileged() { + runTest("ptw - privileged"); + } + + public void testPTWW_privilegedSamePackage() { + runTest("ptw - privileged same package"); + } + + // --- + + public static Test suite() { + return XMLBasedAjcTestCase.loadSuite(Ajc192Tests.class); + } + + @Override + protected File getSpecFile() { + return getClassResource("ajc192.xml"); + } + +} diff --git a/tests/src/org/aspectj/systemtest/ajc192/AllTestsAspectJ192.java b/tests/src/org/aspectj/systemtest/ajc192/AllTestsAspectJ192.java new file mode 100644 index 000000000..396caafff --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc192/AllTestsAspectJ192.java @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2018 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 API and implementation + *******************************************************************************/ +package org.aspectj.systemtest.ajc192; + +import junit.framework.Test; +import junit.framework.TestSuite; + +public class AllTestsAspectJ192 { + + public static Test suite() { + TestSuite suite = new TestSuite("AspectJ 1.9.2 tests"); + // $JUnit-BEGIN$ + suite.addTest(Ajc192Tests.suite()); + // $JUnit-END$ + return suite; + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc192/ajc192.xml b/tests/src/org/aspectj/systemtest/ajc192/ajc192.xml new file mode 100644 index 000000000..13e0ae9c1 --- /dev/null +++ b/tests/src/org/aspectj/systemtest/ajc192/ajc192.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3