summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Herrmann2018-08-09 07:27:26 -0400
committerStephan Herrmann2018-08-09 07:42:49 -0400
commiteb0f2926373e47184efaed29bb592171ca9ffc83 (patch)
tree7c35940281a788f2f3b3d3e0eb880e985a26134a
parent0800b0b1e6c3e5bf15c291198635959c2a99540d (diff)
downloadorg.eclipse.objectteams-eb0f2926373e47184efaed29bb592171ca9ffc83.tar.gz
org.eclipse.objectteams-eb0f2926373e47184efaed29bb592171ca9ffc83.tar.xz
org.eclipse.objectteams-eb0f2926373e47184efaed29bb592171ca9ffc83.zip
Bug 537821 - [otdre] Create test suite for OT/Equinox + OTDRE
-rw-r--r--.gitignore1
-rw-r--r--features/org.eclipse.objectteams.otdt.feature/unit-tests-feature/feature.xml406
-rw-r--r--releng/build-scripts/build/run.xml20
-rw-r--r--releng/build-scripts/build/test.xml9
-rw-r--r--releng/map/otdt.map.in13
-rw-r--r--testplugins/otequinoxtest/Aspect537350_A/.classpath7
-rw-r--r--testplugins/otequinoxtest/Aspect537350_A/.project29
-rw-r--r--testplugins/otequinoxtest/Aspect537350_A/.settings/org.eclipse.jdt.core.prefs28
-rw-r--r--testplugins/otequinoxtest/Aspect537350_A/META-INF/MANIFEST.MF13
-rw-r--r--testplugins/otequinoxtest/Aspect537350_A/build.properties5
-rw-r--r--testplugins/otequinoxtest/Aspect537350_A/plugin.xml20
-rw-r--r--testplugins/otequinoxtest/Aspect537350_A/src/aspect/PDELaunchingAdapter.java12
-rw-r--r--testplugins/otequinoxtest/Aspect537350_A/src/test537350_a/TestBug537350_A.java17
-rw-r--r--testplugins/otequinoxtest/Aspect537350_B/.classpath7
-rw-r--r--testplugins/otequinoxtest/Aspect537350_B/.project29
-rw-r--r--testplugins/otequinoxtest/Aspect537350_B/.settings/org.eclipse.jdt.core.prefs28
-rw-r--r--testplugins/otequinoxtest/Aspect537350_B/META-INF/MANIFEST.MF11
-rw-r--r--testplugins/otequinoxtest/Aspect537350_B/build.properties5
-rw-r--r--testplugins/otequinoxtest/Aspect537350_B/plugin.xml20
-rw-r--r--testplugins/otequinoxtest/Aspect537350_B/src/aspect/FindActionAdaptor.java46
-rw-r--r--testplugins/otequinoxtest/Aspect537351/.classpath7
-rw-r--r--testplugins/otequinoxtest/Aspect537351/.project34
-rw-r--r--testplugins/otequinoxtest/Aspect537351/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--testplugins/otequinoxtest/Aspect537351/META-INF/MANIFEST.MF13
-rw-r--r--testplugins/otequinoxtest/Aspect537351/build.properties4
-rw-r--r--testplugins/otequinoxtest/Aspect537351/plugin.xml19
-rw-r--r--testplugins/otequinoxtest/Aspect537351/src/aspect1/Team2.java14
-rw-r--r--testplugins/otequinoxtest/Aspect537533/.classpath7
-rw-r--r--testplugins/otequinoxtest/Aspect537533/.project29
-rw-r--r--testplugins/otequinoxtest/Aspect537533/.settings/org.eclipse.jdt.core.prefs28
-rw-r--r--testplugins/otequinoxtest/Aspect537533/META-INF/MANIFEST.MF15
-rw-r--r--testplugins/otequinoxtest/Aspect537533/build.properties5
-rw-r--r--testplugins/otequinoxtest/Aspect537533/plugin.xml20
-rw-r--r--testplugins/otequinoxtest/Aspect537533/src/aspect/Activator.java17
-rw-r--r--testplugins/otequinoxtest/Aspect537533/src/aspect/Team2.java24
-rw-r--r--testplugins/otequinoxtest/Aspect537533/src/test537533/TestBug537533.java24
-rw-r--r--testplugins/otequinoxtest/Base537350_A/.classpath7
-rw-r--r--testplugins/otequinoxtest/Base537350_A/.project28
-rw-r--r--testplugins/otequinoxtest/Base537350_A/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--testplugins/otequinoxtest/Base537350_A/META-INF/MANIFEST.MF8
-rw-r--r--testplugins/otequinoxtest/Base537350_A/build.properties3
-rw-r--r--testplugins/otequinoxtest/Base537350_A/src/base537350_a/MainTab.java7
-rw-r--r--testplugins/otequinoxtest/Base537350_A/src/base537350_a/PluginJUnitMainTab.java8
-rw-r--r--testplugins/otequinoxtest/Base537350_B/.classpath7
-rw-r--r--testplugins/otequinoxtest/Base537350_B/.project28
-rw-r--r--testplugins/otequinoxtest/Base537350_B/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--testplugins/otequinoxtest/Base537350_B/META-INF/MANIFEST.MF9
-rw-r--r--testplugins/otequinoxtest/Base537350_B/build.properties4
-rw-r--r--testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindAction.java5
-rw-r--r--testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindDeclarationsAction.java9
-rw-r--r--testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindImplementersAction.java9
-rw-r--r--testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReadReferencesAction.java8
-rw-r--r--testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReadReferencesInProjectAction.java5
-rw-r--r--testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReferencesAction.java7
-rw-r--r--testplugins/otequinoxtest/Base537350_B/src/base537350_b/TestBug537350_B.java16
-rw-r--r--testplugins/otequinoxtest/Base537351/.classpath7
-rw-r--r--testplugins/otequinoxtest/Base537351/.project28
-rw-r--r--testplugins/otequinoxtest/Base537351/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--testplugins/otequinoxtest/Base537351/META-INF/MANIFEST.MF11
-rw-r--r--testplugins/otequinoxtest/Base537351/build.properties4
-rw-r--r--testplugins/otequinoxtest/Base537351/src/base537351/Activator.java19
-rw-r--r--testplugins/otequinoxtest/Base537351/src/base537351/BaseClass1.java7
-rw-r--r--testplugins/otequinoxtest/Base537533/.classpath7
-rw-r--r--testplugins/otequinoxtest/Base537533/.project28
-rw-r--r--testplugins/otequinoxtest/Base537533/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--testplugins/otequinoxtest/Base537533/META-INF/MANIFEST.MF8
-rw-r--r--testplugins/otequinoxtest/Base537533/build.properties4
-rw-r--r--testplugins/otequinoxtest/Base537533/src/base537533/AbstractJavaCompletionProposal.java7
-rw-r--r--testplugins/otequinoxtest/Base537533/src/base537533/JavaTypeCompletionProposal.java5
-rw-r--r--testplugins/otequinoxtest/Base537533/src/base537533/MethodDeclarationCompletionProposal.java4
-rw-r--r--testplugins/otequinoxtest/Middle537351/.classpath7
-rw-r--r--testplugins/otequinoxtest/Middle537351/.project29
-rw-r--r--testplugins/otequinoxtest/Middle537351/.settings/org.eclipse.jdt.core.prefs28
-rw-r--r--testplugins/otequinoxtest/Middle537351/META-INF/MANIFEST.MF13
-rw-r--r--testplugins/otequinoxtest/Middle537351/build.properties5
-rw-r--r--testplugins/otequinoxtest/Middle537351/plugin.xml20
-rw-r--r--testplugins/otequinoxtest/Middle537351/src/middle537351/MiddleClass1.java7
-rw-r--r--testplugins/otequinoxtest/Middle537351/src/middle537351/Team1.java16
-rw-r--r--testplugins/otequinoxtest/Middle537351/src/test537351/TestBug537351.java17
-rw-r--r--testplugins/otequinoxtest/OTEquinoxTests/.classpath7
-rw-r--r--testplugins/otequinoxtest/OTEquinoxTests/.project28
-rw-r--r--testplugins/otequinoxtest/OTEquinoxTests/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--testplugins/otequinoxtest/OTEquinoxTests/META-INF/MANIFEST.MF15
-rw-r--r--testplugins/otequinoxtest/OTEquinoxTests/build.properties4
-rw-r--r--testplugins/otequinoxtest/OTEquinoxTests/src/test/AllOTEquinoxTests.java15
-rw-r--r--testplugins/otequinoxtest/OTEquinoxTests/test.xml65
86 files changed, 1456 insertions, 169 deletions
diff --git a/.gitignore b/.gitignore
index 1538da701..cb86bf32a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@
/othersrc/otdt-examples/*/bin/
/testplugins/*/bin/
/testplugins/*/jplis_dump/
+/testplugins/otequinoxtest/*/bin/
/maven/**/target/
*~
*.rej
diff --git a/features/org.eclipse.objectteams.otdt.feature/unit-tests-feature/feature.xml b/features/org.eclipse.objectteams.otdt.feature/unit-tests-feature/feature.xml
index 519178af3..11104ca0b 100644
--- a/features/org.eclipse.objectteams.otdt.feature/unit-tests-feature/feature.xml
+++ b/features/org.eclipse.objectteams.otdt.feature/unit-tests-feature/feature.xml
@@ -1,168 +1,238 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="org.eclipse.objectteams.otdt-tests"
- label="OTDT Development Tools Unit Tests"
- version="2.1.0"
- provider-name="Eclipse Object Teams Project">
-
- <description>
-This is a build-time-only feature for testing the Object Teams Development Tooling.
- </description>
-
- <copyright>
- The software &quot;Object Teams Development Tooling&quot; (OTDT) is a
-result of the joint project TOPPrax and has been developed in
-collaboration between
-the Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
-(FIRST)
-and the Technische Unversität Berlin.
-The software consists of three distinguishable parts:
-- A compiler for OT/J (Compiler),
-- A graphical user interface (GUI) and
-- A runtime environment for OT/J (Runtime).
-The copyright is held by the Technische Universität (Compiler
-and Runtime)
-and by the Fraunhofer Gesellschaft, München, Deutschland,
-for its Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
-(FIRST) (Compiler and GUI) and others.
-This software is based on Eclipse and the Java Development Tooling
-(JDT) of which it contains parts.
- </copyright>
-
- <license url="%licenseURL">
- %license
- </license>
-
- <requires>
- <import plugin="org.junit"/>
- <import plugin="org.eclipse.jdt.core"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.jdt.debug"/>
- <import plugin="org.eclipse.team.core"/>
- <import plugin="org.eclipse.text"/>
- <import plugin="org.eclipse.test.performance"/>
- <import plugin="org.eclipse.ant.optional.junit"/>
- </requires>
-
- <plugin
- id="org.eclipse.jdt.core.tests.compiler"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jdt.core.tests.builder"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jdt.core.tests.model"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.objectteams.otdt.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jdt.ui.tests.refactoring"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jdt.debug.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jdt.ui.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.objectteams.otdt.debug.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.objectteams.otdt.ui.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.objectteams.otdt.ui.tests.dom"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.objectteams.otdt.ui.tests.refactoring"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.objectteams.otdt.test.builder"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jdt.text.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jface.text.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.text.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.core.filebuffers.tests"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.eclipse.jdt.annotation"
- download-size="0"
- install-size="0"
- version="1.1.300.qualifier"/>
-
- <plugin
- id="org.eclipse.jdt.annotation"
- download-size="0"
- install-size="0"
- version="2.2.100.qualifier"/>
-
- <plugin
- id="org.hamcrest.core"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
- <plugin
- id="org.hamcrest.library"
- download-size="0"
- install-size="0"
- version="0.0.0"/>
-
-</feature>
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.objectteams.otdt-tests"
+ label="OTDT Development Tools Unit Tests"
+ version="2.1.0"
+ provider-name="Eclipse Object Teams Project">
+
+ <description>
+ This is a build-time-only feature for testing the Object Teams Development Tooling.
+ </description>
+
+ <copyright>
+ The software &quot;Object Teams Development Tooling&quot; (OTDT) is a
+result of the joint project TOPPrax and has been developed in
+collaboration between
+the Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
+(FIRST)
+and the Technische Unversität Berlin.
+The software consists of three distinguishable parts:
+- A compiler for OT/J (Compiler),
+- A graphical user interface (GUI) and
+- A runtime environment for OT/J (Runtime).
+The copyright is held by the Technische Universität (Compiler
+and Runtime)
+and by the Fraunhofer Gesellschaft, München, Deutschland,
+for its Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik
+(FIRST) (Compiler and GUI) and others.
+This software is based on Eclipse and the Java Development Tooling
+(JDT) of which it contains parts.
+ </copyright>
+
+ <license url="%licenseURL">
+ %license
+ </license>
+
+ <requires>
+ <import plugin="org.junit"/>
+ <import plugin="org.eclipse.jdt.core"/>
+ <import plugin="org.eclipse.core.resources"/>
+ <import plugin="org.eclipse.core.runtime"/>
+ <import plugin="org.eclipse.jdt.debug"/>
+ <import plugin="org.eclipse.team.core"/>
+ <import plugin="org.eclipse.text"/>
+ <import plugin="org.eclipse.test.performance"/>
+ <import plugin="org.eclipse.ant.optional.junit"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.jdt.core.tests.compiler"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.jdt.core.tests.builder"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.jdt.core.tests.model"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.objectteams.otdt.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.jdt.ui.tests.refactoring"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.jdt.debug.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.jdt.ui.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.objectteams.otdt.debug.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.objectteams.otdt.ui.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.objectteams.otdt.ui.tests.dom"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.objectteams.otdt.ui.tests.refactoring"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.objectteams.otdt.test.builder"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.jdt.text.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.jface.text.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.text.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.core.filebuffers.tests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.eclipse.jdt.annotation"
+ download-size="0"
+ install-size="0"
+ version="1.1.300.qualifier"/>
+
+ <plugin
+ id="org.eclipse.jdt.annotation"
+ download-size="0"
+ install-size="0"
+ version="2.2.100.qualifier"/>
+
+ <plugin
+ id="org.hamcrest.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="org.hamcrest.library"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"/>
+
+ <plugin
+ id="Aspect537350_A"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="Aspect537350_B"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="Aspect537351"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="Aspect537533"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="Base537350_A"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="Base537350_B"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="Base537351"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="Base537533"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="Middle537351"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="OTEquinoxTests"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/releng/build-scripts/build/run.xml b/releng/build-scripts/build/run.xml
index 5d1b9c8e3..7da4b2210 100644
--- a/releng/build-scripts/build/run.xml
+++ b/releng/build-scripts/build/run.xml
@@ -163,6 +163,11 @@ path to map file (with substitutions):
<antcall target="runOTDTTests" />
</target>
+ <target name="ot-junit-run-onlyone" depends="setupProperties,checkOS" description="Run OT tests without building">
+ <echo message="Starting Testrun ${test.root.dir}"/>
+ <antcall target="runOnlyoneTests" />
+ </target>
+
<!-- =================== END Public Targets ==================== -->
<!-- === Setup Targets: === -->
@@ -366,6 +371,21 @@ path to map file (with substitutions):
</ant>
</target>
+ <target name="runOnlyoneTests" description="Delegate to the next level script to perform the actual testing.">
+ <ant antfile="${OTScriptDir}/test.xml" target="onlyone" dir="${build.root.dir}">
+ <property name="os" value="${os}" />
+ <property name="ws" value="${ws}" />
+ <property name="arch" value="${arch}" />
+ <property name="baseos" value="${os}" />
+ <property name="basews" value="${ws}" />
+ <property name="basearch" value="${arch}" />
+ <property name="otdtUpdatesDir" value="${otdtUpdatesDir}" />
+ <property name="testsUpdatesDirBase" value="${testsUpdatesDirBase}" />
+ <property name="test.tmpDir" value="${test.tmpDir}"/>
+ <property name="vmargs" value="${vmargs}" />
+ </ant>
+ </target>
+
<!-- currently unused target name="collectResults">
<ant target="collect" antfile="${test.root.dir}/library.xml" dir="${otresults}">
<property name="includes" value="org.*.xml"/>
diff --git a/releng/build-scripts/build/test.xml b/releng/build-scripts/build/test.xml
index 8af1221a6..8b7b6a4d3 100644
--- a/releng/build-scripts/build/test.xml
+++ b/releng/build-scripts/build/test.xml
@@ -128,6 +128,12 @@
</antcall>
</target>
+ <target name="otequinox_tests" description="Runs the OTEquinoxTests test.xml">
+ <antcall target="runtests">
+ <param name="testPlugin" value="OTEquinoxTests_${OTEquinoxTests}" />
+ </antcall>
+ </target>
+
<target name="jdt_ui_tests" description="Runs the org.eclipse.jdt.ui.tests test.xml">
<property name="library-file"
value="${test.root.dir}/library.xml"/>
@@ -179,6 +185,7 @@
<antcall target="otdt_ref_tests" />
<antcall target="otdt_dom_tests" />
<antcall target="otdt_tests" />
+ <antcall target="otequinox_tests" />
<antcall target="jdt_builder_tests" />
<antcall target="jdtcore_compiler_tests" />
<antcall target="jdtcore_model_tests" />
@@ -208,7 +215,7 @@
</target>
<target name="onlyone">
- <antcall target="otdt_ui_tests" />
+ <antcall target="otequinox_tests" />
</target>
</project>
diff --git a/releng/map/otdt.map.in b/releng/map/otdt.map.in
index 0164d1c80..2ce865b0e 100644
--- a/releng/map/otdt.map.in
+++ b/releng/map/otdt.map.in
@@ -78,6 +78,19 @@ plugin@org.eclipse.objectteams.otdt.ui.tests.refactoring=GIT,repo=git://git.ecli
plugin@org.eclipse.objectteams.otdt.test.builder=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/org.eclipse.objectteams.otdt.test.builder
plugin@org.eclipse.objectteams.otdt.ui.tests=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/org.eclipse.objectteams.otdt.ui.tests
+!** OT/Equinox Tests **!
+plugin@OTEquinoxTests=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/OTEquinoxTests
+plugin@Base537350_A=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/Base537350_A
+plugin@Aspect537350_A=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/Aspect537350_A
+plugin@Base537350_B=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/Base537350_B
+plugin@Aspect537350_B=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/Aspect537350_B
+plugin@Base537351=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/Base537351
+plugin@Middle537351=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/Middle537351
+plugin@Aspect537351=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/Aspect537351
+plugin@Base537533=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/Base537533
+plugin@Aspect537533=GIT,repo=git://git.eclipse.org/gitroot/objectteams/org.eclipse.objectteams.git,path=testplugins/otequinoxtest/Aspect537533
+
+
!-- Tests fetched from original GIT (some are required indirectly by jdt.ui.tests): --
plugin@org.eclipse.jdt.core.tests.builder=GIT,tag=@SDK_QUALIFIER@,repo=git://git.eclipse.org/gitroot/jdt/eclipse.jdt.core.git,path=org.eclipse.jdt.core.tests.builder
plugin@org.eclipse.jdt.debug.tests=GIT,tag=@SDK_QUALIFIER@,repo=git://git.eclipse.org/gitroot/jdt/eclipse.jdt.debug.git,path=org.eclipse.jdt.debug.tests
diff --git a/testplugins/otequinoxtest/Aspect537350_A/.classpath b/testplugins/otequinoxtest/Aspect537350_A/.classpath
new file mode 100644
index 000000000..d06b94063
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_A/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/Aspect537350_A/.project b/testplugins/otequinoxtest/Aspect537350_A/.project
new file mode 100644
index 000000000..61842cd83
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_A/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Aspect537350_A</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.objectteams.otdt.builder.OTJBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.objectteams.otdt.OTJavaNature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/Aspect537350_A/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/Aspect537350_A/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..3ffc3820c
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_A/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,28 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
+org.eclipse.objectteams.otdt.compiler.option.weaving_scheme=OTDRE
+org.eclipse.objectteams.otdt.compiler.problem.abstract_potential_relevant_role=warning
+org.eclipse.objectteams.otdt.compiler.problem.adapting_deprecated=error
+org.eclipse.objectteams.otdt.compiler.problem.ambiguous_lowering=warning
+org.eclipse.objectteams.otdt.compiler.problem.basecall=warning
+org.eclipse.objectteams.otdt.compiler.problem.baseclass_cycle=warning
+org.eclipse.objectteams.otdt.compiler.problem.binding_conventions=error
+org.eclipse.objectteams.otdt.compiler.problem.decapsulation=warning
+org.eclipse.objectteams.otdt.compiler.problem.decapsulation_write=warning
+org.eclipse.objectteams.otdt.compiler.problem.deprecated_path_syntax=warning
+org.eclipse.objectteams.otdt.compiler.problem.effectless_fieldaccess=warning
+org.eclipse.objectteams.otdt.compiler.problem.exception_in_guard=error
+org.eclipse.objectteams.otdt.compiler.problem.fragile_callin=warning
+org.eclipse.objectteams.otdt.compiler.problem.ignoring_role_return=warning
+org.eclipse.objectteams.otdt.compiler.problem.inferred_callout=error
+org.eclipse.objectteams.otdt.compiler.problem.override_final_role=error
+org.eclipse.objectteams.otdt.compiler.problem.potential_ambiguous_playedby=warning
+org.eclipse.objectteams.otdt.compiler.problem.unsafe_role_instantiation=warning
+org.eclipse.objectteams.otdt.compiler.problem.unused_parammap=warning
+org.eclipse.objectteams.otdt.compiler.problem.weave_into_system_class=warning
diff --git a/testplugins/otequinoxtest/Aspect537350_A/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/Aspect537350_A/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..295c327a3
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_A/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Aspect537350_A
+Bundle-SymbolicName: Aspect537350_A;singleton:=true
+Automatic-Module-Name: Aspect537350_A
+Bundle-Version: 1.0.0.qualifier
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: Base537350_A;bundle-version="1.0.0",
+ org.eclipse.objectteams.otequinox;bundle-version="2.7.1",
+ org.junit
+Export-Package: aspect;ot-aspect-host=Aspect537350_A,
+ test537350_a
diff --git a/testplugins/otequinoxtest/Aspect537350_A/build.properties b/testplugins/otequinoxtest/Aspect537350_A/build.properties
new file mode 100644
index 000000000..e9863e281
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_A/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/testplugins/otequinoxtest/Aspect537350_A/plugin.xml b/testplugins/otequinoxtest/Aspect537350_A/plugin.xml
new file mode 100644
index 000000000..a3afe9ed8
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_A/plugin.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.objectteams.otequinox.aspectBindings">
+ <aspectBinding
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/calloutbinding_obj.gif">
+ <basePlugin
+ icon="platform:/plugin/org.eclipse.pde.ui/icons/obj16/plugin_obj.png"
+ id="Base537350_A">
+ </basePlugin>
+ <team
+ activation="ALL_THREADS"
+ class="aspect.PDELaunchingAdapter"
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif">
+ </team>
+ </aspectBinding>
+ </extension>
+
+</plugin>
diff --git a/testplugins/otequinoxtest/Aspect537350_A/src/aspect/PDELaunchingAdapter.java b/testplugins/otequinoxtest/Aspect537350_A/src/aspect/PDELaunchingAdapter.java
new file mode 100644
index 000000000..59a81a4a0
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_A/src/aspect/PDELaunchingAdapter.java
@@ -0,0 +1,12 @@
+package aspect;
+
+import base base537350_a.MainTab;
+
+public team class PDELaunchingAdapter {
+ protected class MainTab playedBy MainTab {
+ runit <- after runit;
+ private void runit(StringBuilder result) {
+ result.append("-PDELaunchingAdapter.MainTab");
+ }
+ }
+}
diff --git a/testplugins/otequinoxtest/Aspect537350_A/src/test537350_a/TestBug537350_A.java b/testplugins/otequinoxtest/Aspect537350_A/src/test537350_a/TestBug537350_A.java
new file mode 100644
index 000000000..f98760f08
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_A/src/test537350_a/TestBug537350_A.java
@@ -0,0 +1,17 @@
+package test537350_a;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+import base537350_a.PluginJUnitMainTab;
+import junit.framework.TestSuite;
+
+public class TestBug537350_A extends TestSuite {
+ @Test
+ public void test() {
+ StringBuilder result = new StringBuilder();
+ new PluginJUnitMainTab().runit(result);
+ assertEquals("PluginJUnitMainTab-PDELaunchingAdapter.MainTab", result.toString());
+ }
+}
diff --git a/testplugins/otequinoxtest/Aspect537350_B/.classpath b/testplugins/otequinoxtest/Aspect537350_B/.classpath
new file mode 100644
index 000000000..d06b94063
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_B/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/Aspect537350_B/.project b/testplugins/otequinoxtest/Aspect537350_B/.project
new file mode 100644
index 000000000..aa591280b
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_B/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Aspect537350_B</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.objectteams.otdt.builder.OTJBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.objectteams.otdt.OTJavaNature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/Aspect537350_B/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/Aspect537350_B/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..c22c44551
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_B/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,28 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
+org.eclipse.objectteams.otdt.compiler.option.weaving_scheme=OTDRE
+org.eclipse.objectteams.otdt.compiler.problem.abstract_potential_relevant_role=warning
+org.eclipse.objectteams.otdt.compiler.problem.adapting_deprecated=error
+org.eclipse.objectteams.otdt.compiler.problem.ambiguous_lowering=warning
+org.eclipse.objectteams.otdt.compiler.problem.basecall=warning
+org.eclipse.objectteams.otdt.compiler.problem.baseclass_cycle=warning
+org.eclipse.objectteams.otdt.compiler.problem.binding_conventions=warning
+org.eclipse.objectteams.otdt.compiler.problem.decapsulation=warning
+org.eclipse.objectteams.otdt.compiler.problem.decapsulation_write=warning
+org.eclipse.objectteams.otdt.compiler.problem.deprecated_path_syntax=warning
+org.eclipse.objectteams.otdt.compiler.problem.effectless_fieldaccess=warning
+org.eclipse.objectteams.otdt.compiler.problem.exception_in_guard=error
+org.eclipse.objectteams.otdt.compiler.problem.fragile_callin=warning
+org.eclipse.objectteams.otdt.compiler.problem.ignoring_role_return=warning
+org.eclipse.objectteams.otdt.compiler.problem.inferred_callout=error
+org.eclipse.objectteams.otdt.compiler.problem.override_final_role=error
+org.eclipse.objectteams.otdt.compiler.problem.potential_ambiguous_playedby=warning
+org.eclipse.objectteams.otdt.compiler.problem.unsafe_role_instantiation=warning
+org.eclipse.objectteams.otdt.compiler.problem.unused_parammap=warning
+org.eclipse.objectteams.otdt.compiler.problem.weave_into_system_class=warning
diff --git a/testplugins/otequinoxtest/Aspect537350_B/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/Aspect537350_B/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..c07c9c995
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_B/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Aspect537350_B
+Bundle-SymbolicName: Aspect537350_B;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Require-Bundle: org.eclipse.objectteams.otequinox,
+ Base537350_B;bundle-version="1.0.0"
+Automatic-Module-Name: AspectD
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Export-Package: aspect;ot-aspect-host=Aspect537350_B
diff --git a/testplugins/otequinoxtest/Aspect537350_B/build.properties b/testplugins/otequinoxtest/Aspect537350_B/build.properties
new file mode 100644
index 000000000..e9863e281
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_B/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/testplugins/otequinoxtest/Aspect537350_B/plugin.xml b/testplugins/otequinoxtest/Aspect537350_B/plugin.xml
new file mode 100644
index 000000000..e8fd766ef
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_B/plugin.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.objectteams.otequinox.aspectBindings">
+ <aspectBinding
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/calloutbinding_obj.gif">
+ <basePlugin
+ icon="platform:/plugin/org.eclipse.pde.ui/icons/obj16/plugin_obj.png"
+ id="Base537350_B">
+ </basePlugin>
+ <team
+ activation="ALL_THREADS"
+ class="aspect.FindActionAdaptor"
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif">
+ </team>
+ </aspectBinding>
+ </extension>
+
+</plugin>
diff --git a/testplugins/otequinoxtest/Aspect537350_B/src/aspect/FindActionAdaptor.java b/testplugins/otequinoxtest/Aspect537350_B/src/aspect/FindActionAdaptor.java
new file mode 100644
index 000000000..635739a9a
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537350_B/src/aspect/FindActionAdaptor.java
@@ -0,0 +1,46 @@
+package aspect;
+
+import base base537350_b.FindReferencesAction;
+import base base537350_b.FindDeclarationsAction;
+import base base537350_b.FindImplementersAction;
+import base base537350_b.FindAction;
+
+public team class FindActionAdaptor {
+
+ protected class FindAction playedBy FindAction {
+ protected String getString() { return "RFindAction"; }
+ }
+ protected class RFindReferencesAction extends FindAction playedBy FindReferencesAction {
+ @SuppressWarnings("decapsulation")
+ get <- replace get;
+ callin void get(StringBuilder result) {
+ result.append(getString());
+ result.append('-');
+ base.get(result);
+ result.append('-');
+ result.append("RFindReferencesAction");
+ }
+ }
+ protected class RFindDeclarationsAction extends FindAction playedBy FindDeclarationsAction {
+ @SuppressWarnings("decapsulation")
+ get <- replace get;
+ callin void get(StringBuilder result) {
+ result.append(getString());
+ result.append('-');
+ base.get(result);
+ result.append('-');
+ result.append("RFindDeclarationsAction");
+ }
+ }
+ protected class RFindImplementersAction extends FindAction playedBy FindImplementersAction {
+ @SuppressWarnings("decapsulation")
+ get <- replace get;
+ callin void get(StringBuilder result) {
+ result.append(getString());
+ result.append('-');
+ base.get(result);
+ result.append('-');
+ result.append("RFindImplementersAction");
+ }
+ }
+}
diff --git a/testplugins/otequinoxtest/Aspect537351/.classpath b/testplugins/otequinoxtest/Aspect537351/.classpath
new file mode 100644
index 000000000..d06b94063
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537351/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/Aspect537351/.project b/testplugins/otequinoxtest/Aspect537351/.project
new file mode 100644
index 000000000..1236cd78f
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537351/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Aspect537351</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.objectteams.otdt.builder.OTJBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.objectteams.otdt.builder.OTJBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.objectteams.otdt.OTJavaNature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/Aspect537351/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/Aspect537351/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..c4acda7da
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537351/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.weaving_scheme=OTDRE
diff --git a/testplugins/otequinoxtest/Aspect537351/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/Aspect537351/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..a87216170
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537351/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Aspect1
+Bundle-SymbolicName: Aspect537351;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.objectteams.otequinox;bundle-version="2.7.0",
+ Middle537351;bundle-version="1.0.0",
+ org.eclipse.osgi,
+ org.eclipse.jdt.annotation;bundle-version="2.2.0";resolution:=optional
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: Aspect1
+Export-Package: aspect1;ot-aspect-host=Aspect1
diff --git a/testplugins/otequinoxtest/Aspect537351/build.properties b/testplugins/otequinoxtest/Aspect537351/build.properties
new file mode 100644
index 000000000..cc91072ec
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537351/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/testplugins/otequinoxtest/Aspect537351/plugin.xml b/testplugins/otequinoxtest/Aspect537351/plugin.xml
new file mode 100644
index 000000000..880d974ff
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537351/plugin.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.objectteams.otequinox.aspectBindings">
+ <aspectBinding
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/calloutbinding_obj.gif">
+ <basePlugin
+ icon="platform:/plugin/org.eclipse.pde.ui/icons/obj16/plugin_obj.png"
+ id="Middle537351">
+ </basePlugin>
+ <team
+ activation="ALL_THREADS"
+ class="aspect1.Team2"
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif">
+ </team>
+ </aspectBinding>
+ </extension>
+</plugin>
diff --git a/testplugins/otequinoxtest/Aspect537351/src/aspect1/Team2.java b/testplugins/otequinoxtest/Aspect537351/src/aspect1/Team2.java
new file mode 100644
index 000000000..c3dc822e6
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537351/src/aspect1/Team2.java
@@ -0,0 +1,14 @@
+package aspect1;
+
+import base middle537351.MiddleClass1;
+
+public team class Team2 {
+ protected class R playedBy MiddleClass1 {
+
+ doMiddle1 <- after doMiddle1;
+
+ private void doMiddle1(StringBuilder result) {
+ result.append("Team2.R|");
+ }
+ }
+}
diff --git a/testplugins/otequinoxtest/Aspect537533/.classpath b/testplugins/otequinoxtest/Aspect537533/.classpath
new file mode 100644
index 000000000..d06b94063
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537533/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/Aspect537533/.project b/testplugins/otequinoxtest/Aspect537533/.project
new file mode 100644
index 000000000..75be65ec1
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537533/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Aspect537533</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.objectteams.otdt.builder.OTJBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.objectteams.otdt.OTJavaNature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/Aspect537533/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/Aspect537533/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..3ffc3820c
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537533/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,28 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
+org.eclipse.objectteams.otdt.compiler.option.weaving_scheme=OTDRE
+org.eclipse.objectteams.otdt.compiler.problem.abstract_potential_relevant_role=warning
+org.eclipse.objectteams.otdt.compiler.problem.adapting_deprecated=error
+org.eclipse.objectteams.otdt.compiler.problem.ambiguous_lowering=warning
+org.eclipse.objectteams.otdt.compiler.problem.basecall=warning
+org.eclipse.objectteams.otdt.compiler.problem.baseclass_cycle=warning
+org.eclipse.objectteams.otdt.compiler.problem.binding_conventions=error
+org.eclipse.objectteams.otdt.compiler.problem.decapsulation=warning
+org.eclipse.objectteams.otdt.compiler.problem.decapsulation_write=warning
+org.eclipse.objectteams.otdt.compiler.problem.deprecated_path_syntax=warning
+org.eclipse.objectteams.otdt.compiler.problem.effectless_fieldaccess=warning
+org.eclipse.objectteams.otdt.compiler.problem.exception_in_guard=error
+org.eclipse.objectteams.otdt.compiler.problem.fragile_callin=warning
+org.eclipse.objectteams.otdt.compiler.problem.ignoring_role_return=warning
+org.eclipse.objectteams.otdt.compiler.problem.inferred_callout=error
+org.eclipse.objectteams.otdt.compiler.problem.override_final_role=error
+org.eclipse.objectteams.otdt.compiler.problem.potential_ambiguous_playedby=warning
+org.eclipse.objectteams.otdt.compiler.problem.unsafe_role_instantiation=warning
+org.eclipse.objectteams.otdt.compiler.problem.unused_parammap=warning
+org.eclipse.objectteams.otdt.compiler.problem.weave_into_system_class=warning
diff --git a/testplugins/otequinoxtest/Aspect537533/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/Aspect537533/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..b4cfc6668
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537533/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Aspect537533
+Bundle-SymbolicName: Aspect537533;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: Aspect537533
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.objectteams.otequinox;bundle-version="2.7.1",
+ org.eclipse.osgi;bundle-version="3.13.0",
+ Base537533;bundle-version="1.0.0",
+ org.junit;bundle-version="4.12.0"
+Bundle-ActivationPolicy: lazy
+Export-Package: aspect;ot-aspect-host=Aspect537533,
+ test537533
+Bundle-Activator: aspect.Activator
diff --git a/testplugins/otequinoxtest/Aspect537533/build.properties b/testplugins/otequinoxtest/Aspect537533/build.properties
new file mode 100644
index 000000000..e9863e281
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537533/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/testplugins/otequinoxtest/Aspect537533/plugin.xml b/testplugins/otequinoxtest/Aspect537533/plugin.xml
new file mode 100644
index 000000000..908400fda
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537533/plugin.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.objectteams.otequinox.aspectBindings">
+ <aspectBinding
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/calloutbinding_obj.gif">
+ <basePlugin
+ icon="platform:/plugin/org.eclipse.pde.ui/icons/obj16/plugin_obj.png"
+ id="Base537533">
+ </basePlugin>
+ <team
+ activation="ALL_THREADS"
+ class="aspect.Team2"
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif">
+ </team>
+ </aspectBinding>
+ </extension>
+
+</plugin>
diff --git a/testplugins/otequinoxtest/Aspect537533/src/aspect/Activator.java b/testplugins/otequinoxtest/Aspect537533/src/aspect/Activator.java
new file mode 100644
index 000000000..ce6f4cdc8
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537533/src/aspect/Activator.java
@@ -0,0 +1,17 @@
+package aspect;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ // nothing
+ }
+
+}
diff --git a/testplugins/otequinoxtest/Aspect537533/src/aspect/Team2.java b/testplugins/otequinoxtest/Aspect537533/src/aspect/Team2.java
new file mode 100644
index 000000000..7e90774e1
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537533/src/aspect/Team2.java
@@ -0,0 +1,24 @@
+package aspect;
+
+import base537533.JavaTypeCompletionProposal;
+
+import base base537533.MethodDeclarationCompletionProposal;
+
+public team class Team2 {
+ protected class RMethodDeclarationCompletionProposal playedBy MethodDeclarationCompletionProposal {
+ void setReplacementString(StringBuilder result) <- replace void setReplacementString(StringBuilder result);
+
+ @SuppressWarnings("basecall")
+ callin void setReplacementString(StringBuilder result) {
+ result.append("RMethodDeclarationCompletionProposal");
+ }
+ }
+ protected class OverrideRoleCompletionProposal extends JavaTypeCompletionProposal { // unbound
+ protected void run(StringBuilder result) {
+ setReplacementString(result);
+ }
+ }
+ public void run(StringBuilder result) {
+ new OverrideRoleCompletionProposal().run(result);
+ }
+}
diff --git a/testplugins/otequinoxtest/Aspect537533/src/test537533/TestBug537533.java b/testplugins/otequinoxtest/Aspect537533/src/test537533/TestBug537533.java
new file mode 100644
index 000000000..04f0c88d7
--- /dev/null
+++ b/testplugins/otequinoxtest/Aspect537533/src/test537533/TestBug537533.java
@@ -0,0 +1,24 @@
+package test537533;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import aspect.Team2;
+import base537533.MethodDeclarationCompletionProposal;
+import junit.framework.TestSuite;
+
+public class TestBug537533 extends TestSuite {
+ @Test
+ public void testDirect() {
+ StringBuilder result = new StringBuilder();
+ new Team2().run(result);
+ assertEquals("AbstractJavaCompletionProposal", result.toString());
+ }
+ @Test
+ public void testIntercepted() {
+ StringBuilder result = new StringBuilder();
+ new MethodDeclarationCompletionProposal().setReplacementString(result);
+ assertEquals("RMethodDeclarationCompletionProposal", result.toString());
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537350_A/.classpath b/testplugins/otequinoxtest/Base537350_A/.classpath
new file mode 100644
index 000000000..d06b94063
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_A/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/Base537350_A/.project b/testplugins/otequinoxtest/Base537350_A/.project
new file mode 100644
index 000000000..70bedeacc
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_A/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Base537350_A</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/Base537350_A/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/Base537350_A/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..857df5d3b
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_A/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
diff --git a/testplugins/otequinoxtest/Base537350_A/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/Base537350_A/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..11cb435bd
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_A/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Base537350_A
+Bundle-SymbolicName: Base537350_A
+Automatic-Module-Name: Base537350_A
+Bundle-Version: 1.0.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: base537350_a
diff --git a/testplugins/otequinoxtest/Base537350_A/build.properties b/testplugins/otequinoxtest/Base537350_A/build.properties
new file mode 100644
index 000000000..b107977f4
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_A/build.properties
@@ -0,0 +1,3 @@
+source.. = src/
+bin.includes = META-INF/,\
+ .
diff --git a/testplugins/otequinoxtest/Base537350_A/src/base537350_a/MainTab.java b/testplugins/otequinoxtest/Base537350_A/src/base537350_a/MainTab.java
new file mode 100644
index 000000000..b98c43394
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_A/src/base537350_a/MainTab.java
@@ -0,0 +1,7 @@
+package base537350_a;
+
+public class MainTab {
+ public void runit(StringBuilder result) {
+ result.append("MainTab");
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537350_A/src/base537350_a/PluginJUnitMainTab.java b/testplugins/otequinoxtest/Base537350_A/src/base537350_a/PluginJUnitMainTab.java
new file mode 100644
index 000000000..45d65b5c5
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_A/src/base537350_a/PluginJUnitMainTab.java
@@ -0,0 +1,8 @@
+package base537350_a;
+
+public class PluginJUnitMainTab extends MainTab {
+ @Override
+ public void runit(StringBuilder result) {
+ result.append("PluginJUnitMainTab");
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537350_B/.classpath b/testplugins/otequinoxtest/Base537350_B/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/Base537350_B/.project b/testplugins/otequinoxtest/Base537350_B/.project
new file mode 100644
index 000000000..973d5eef6
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Base537350_B</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/Base537350_B/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/Base537350_B/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..68cbd3ab0
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
diff --git a/testplugins/otequinoxtest/Base537350_B/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/Base537350_B/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..a4cbf41d2
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Aspect537350_B
+Bundle-SymbolicName: Base537350_B
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: BaseD
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: base537350_b
+Require-Bundle: org.junit
diff --git a/testplugins/otequinoxtest/Base537350_B/build.properties b/testplugins/otequinoxtest/Base537350_B/build.properties
new file mode 100644
index 000000000..34d2e4d2d
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindAction.java b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindAction.java
new file mode 100644
index 000000000..b4662f442
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindAction.java
@@ -0,0 +1,5 @@
+package base537350_b;
+
+public abstract class FindAction {
+ abstract void get(StringBuilder result);
+}
diff --git a/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindDeclarationsAction.java b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindDeclarationsAction.java
new file mode 100644
index 000000000..2d93a2e37
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindDeclarationsAction.java
@@ -0,0 +1,9 @@
+package base537350_b;
+
+public class FindDeclarationsAction extends FindAction {
+
+ @Override
+ void get(StringBuilder result) {
+ result.append("FindDeclarationsAction");
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindImplementersAction.java b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindImplementersAction.java
new file mode 100644
index 000000000..489463d35
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindImplementersAction.java
@@ -0,0 +1,9 @@
+package base537350_b;
+
+public class FindImplementersAction extends FindAction {
+
+ @Override
+ void get(StringBuilder result) {
+ result.append("FindImplementersAction");
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReadReferencesAction.java b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReadReferencesAction.java
new file mode 100644
index 000000000..01a3ba973
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReadReferencesAction.java
@@ -0,0 +1,8 @@
+package base537350_b;
+
+public class FindReadReferencesAction extends FindReferencesAction {
+ @Override
+ void get(StringBuilder result) {
+ result.append("FindReadReferencesAction");
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReadReferencesInProjectAction.java b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReadReferencesInProjectAction.java
new file mode 100644
index 000000000..bb74c6ed6
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReadReferencesInProjectAction.java
@@ -0,0 +1,5 @@
+package base537350_b;
+
+public class FindReadReferencesInProjectAction extends FindReadReferencesAction {
+
+}
diff --git a/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReferencesAction.java b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReferencesAction.java
new file mode 100644
index 000000000..09b654ea4
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/FindReferencesAction.java
@@ -0,0 +1,7 @@
+package base537350_b;
+
+public class FindReferencesAction extends FindAction {
+ void get(StringBuilder result) {
+ result.append("FindReferencesAction");
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537350_B/src/base537350_b/TestBug537350_B.java b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/TestBug537350_B.java
new file mode 100644
index 000000000..f76220075
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537350_B/src/base537350_b/TestBug537350_B.java
@@ -0,0 +1,16 @@
+package base537350_b;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+import junit.framework.TestSuite;
+
+public class TestBug537350_B extends TestSuite {
+ @Test
+ public void test() {
+ StringBuilder result = new StringBuilder();
+ new FindReadReferencesInProjectAction().get(result);
+ assertEquals("RFindAction-FindReadReferencesAction-RFindReferencesAction", result.toString());
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537351/.classpath b/testplugins/otequinoxtest/Base537351/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537351/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/Base537351/.project b/testplugins/otequinoxtest/Base537351/.project
new file mode 100644
index 000000000..f38e0491b
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537351/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Base537351</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/Base537351/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/Base537351/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..68cbd3ab0
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537351/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
diff --git a/testplugins/otequinoxtest/Base537351/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/Base537351/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..2f56b1e5b
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537351/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Base537351
+Bundle-SymbolicName: Base537351
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: base537351.Activator
+Automatic-Module-Name: Base537351
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: base537351
+Require-Bundle: org.eclipse.osgi,
+ org.eclipse.jdt.annotation
diff --git a/testplugins/otequinoxtest/Base537351/build.properties b/testplugins/otequinoxtest/Base537351/build.properties
new file mode 100644
index 000000000..34d2e4d2d
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537351/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/testplugins/otequinoxtest/Base537351/src/base537351/Activator.java b/testplugins/otequinoxtest/Base537351/src/base537351/Activator.java
new file mode 100644
index 000000000..0b47f06b1
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537351/src/base537351/Activator.java
@@ -0,0 +1,19 @@
+package base537351;
+
+import org.eclipse.jdt.annotation.NonNull;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+ @Override
+ public void start(@NonNull BundleContext context) throws @NonNull Exception {
+ System.out.println("START");
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ System.out.println("SHUTDOWN");
+ }
+
+}
diff --git a/testplugins/otequinoxtest/Base537351/src/base537351/BaseClass1.java b/testplugins/otequinoxtest/Base537351/src/base537351/BaseClass1.java
new file mode 100644
index 000000000..767c0a5fd
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537351/src/base537351/BaseClass1.java
@@ -0,0 +1,7 @@
+package base537351;
+
+public class BaseClass1 {
+ public void doBase1(StringBuilder result) {
+ result.append("base1");
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537533/.classpath b/testplugins/otequinoxtest/Base537533/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537533/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/Base537533/.project b/testplugins/otequinoxtest/Base537533/.project
new file mode 100644
index 000000000..07dc9867d
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537533/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Base537533</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/Base537533/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/Base537533/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..68cbd3ab0
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537533/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
diff --git a/testplugins/otequinoxtest/Base537533/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/Base537533/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..29196ad95
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537533/META-INF/MANIFEST.MF
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Base537533
+Bundle-SymbolicName: Base537533
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: Base537533
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: base537533
diff --git a/testplugins/otequinoxtest/Base537533/build.properties b/testplugins/otequinoxtest/Base537533/build.properties
new file mode 100644
index 000000000..34d2e4d2d
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537533/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/testplugins/otequinoxtest/Base537533/src/base537533/AbstractJavaCompletionProposal.java b/testplugins/otequinoxtest/Base537533/src/base537533/AbstractJavaCompletionProposal.java
new file mode 100644
index 000000000..7dc958ace
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537533/src/base537533/AbstractJavaCompletionProposal.java
@@ -0,0 +1,7 @@
+package base537533;
+
+public class AbstractJavaCompletionProposal {
+ public void setReplacementString(StringBuilder result) {
+ result.append("AbstractJavaCompletionProposal");
+ }
+}
diff --git a/testplugins/otequinoxtest/Base537533/src/base537533/JavaTypeCompletionProposal.java b/testplugins/otequinoxtest/Base537533/src/base537533/JavaTypeCompletionProposal.java
new file mode 100644
index 000000000..82bff8525
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537533/src/base537533/JavaTypeCompletionProposal.java
@@ -0,0 +1,5 @@
+package base537533;
+
+public class JavaTypeCompletionProposal extends AbstractJavaCompletionProposal {
+
+}
diff --git a/testplugins/otequinoxtest/Base537533/src/base537533/MethodDeclarationCompletionProposal.java b/testplugins/otequinoxtest/Base537533/src/base537533/MethodDeclarationCompletionProposal.java
new file mode 100644
index 000000000..87c7be5b2
--- /dev/null
+++ b/testplugins/otequinoxtest/Base537533/src/base537533/MethodDeclarationCompletionProposal.java
@@ -0,0 +1,4 @@
+package base537533;
+
+public class MethodDeclarationCompletionProposal extends AbstractJavaCompletionProposal {
+}
diff --git a/testplugins/otequinoxtest/Middle537351/.classpath b/testplugins/otequinoxtest/Middle537351/.classpath
new file mode 100644
index 000000000..d06b94063
--- /dev/null
+++ b/testplugins/otequinoxtest/Middle537351/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/Middle537351/.project b/testplugins/otequinoxtest/Middle537351/.project
new file mode 100644
index 000000000..683892ed0
--- /dev/null
+++ b/testplugins/otequinoxtest/Middle537351/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Middle537351</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.objectteams.otdt.builder.OTJBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.objectteams.otdt.OTJavaNature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/Middle537351/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/Middle537351/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..3ffc3820c
--- /dev/null
+++ b/testplugins/otequinoxtest/Middle537351/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,28 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
+org.eclipse.objectteams.otdt.compiler.option.weaving_scheme=OTDRE
+org.eclipse.objectteams.otdt.compiler.problem.abstract_potential_relevant_role=warning
+org.eclipse.objectteams.otdt.compiler.problem.adapting_deprecated=error
+org.eclipse.objectteams.otdt.compiler.problem.ambiguous_lowering=warning
+org.eclipse.objectteams.otdt.compiler.problem.basecall=warning
+org.eclipse.objectteams.otdt.compiler.problem.baseclass_cycle=warning
+org.eclipse.objectteams.otdt.compiler.problem.binding_conventions=error
+org.eclipse.objectteams.otdt.compiler.problem.decapsulation=warning
+org.eclipse.objectteams.otdt.compiler.problem.decapsulation_write=warning
+org.eclipse.objectteams.otdt.compiler.problem.deprecated_path_syntax=warning
+org.eclipse.objectteams.otdt.compiler.problem.effectless_fieldaccess=warning
+org.eclipse.objectteams.otdt.compiler.problem.exception_in_guard=error
+org.eclipse.objectteams.otdt.compiler.problem.fragile_callin=warning
+org.eclipse.objectteams.otdt.compiler.problem.ignoring_role_return=warning
+org.eclipse.objectteams.otdt.compiler.problem.inferred_callout=error
+org.eclipse.objectteams.otdt.compiler.problem.override_final_role=error
+org.eclipse.objectteams.otdt.compiler.problem.potential_ambiguous_playedby=warning
+org.eclipse.objectteams.otdt.compiler.problem.unsafe_role_instantiation=warning
+org.eclipse.objectteams.otdt.compiler.problem.unused_parammap=warning
+org.eclipse.objectteams.otdt.compiler.problem.weave_into_system_class=warning
diff --git a/testplugins/otequinoxtest/Middle537351/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/Middle537351/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..3ef73a940
--- /dev/null
+++ b/testplugins/otequinoxtest/Middle537351/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Middle1
+Bundle-SymbolicName: Middle537351;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: Middle1
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: Base537351;bundle-version="1.0.0",
+ org.eclipse.objectteams.otequinox,
+ org.junit;bundle-version="4.12.0"
+Export-Package: middle537351;ot-aspect-host=Middle1,
+ test537351
diff --git a/testplugins/otequinoxtest/Middle537351/build.properties b/testplugins/otequinoxtest/Middle537351/build.properties
new file mode 100644
index 000000000..e9863e281
--- /dev/null
+++ b/testplugins/otequinoxtest/Middle537351/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml
diff --git a/testplugins/otequinoxtest/Middle537351/plugin.xml b/testplugins/otequinoxtest/Middle537351/plugin.xml
new file mode 100644
index 000000000..aaf8c23f5
--- /dev/null
+++ b/testplugins/otequinoxtest/Middle537351/plugin.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.objectteams.otequinox.aspectBindings">
+ <aspectBinding
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/calloutbinding_obj.gif">
+ <basePlugin
+ icon="platform:/plugin/org.eclipse.pde.ui/icons/obj16/plugin_obj.png"
+ id="Base537351">
+ </basePlugin>
+ <team
+ activation="ALL_THREADS"
+ class="middle537351.Team1"
+ icon="platform:/plugin/org.eclipse.objectteams.otdt.ui/icons/ot/team_obj.gif">
+ </team>
+ </aspectBinding>
+ </extension>
+
+</plugin>
diff --git a/testplugins/otequinoxtest/Middle537351/src/middle537351/MiddleClass1.java b/testplugins/otequinoxtest/Middle537351/src/middle537351/MiddleClass1.java
new file mode 100644
index 000000000..38e0a3cb2
--- /dev/null
+++ b/testplugins/otequinoxtest/Middle537351/src/middle537351/MiddleClass1.java
@@ -0,0 +1,7 @@
+package middle537351;
+
+public class MiddleClass1 {
+ public void doMiddle1(StringBuilder result) {
+ result.append("Middle1|");
+ }
+}
diff --git a/testplugins/otequinoxtest/Middle537351/src/middle537351/Team1.java b/testplugins/otequinoxtest/Middle537351/src/middle537351/Team1.java
new file mode 100644
index 000000000..b824e6ef3
--- /dev/null
+++ b/testplugins/otequinoxtest/Middle537351/src/middle537351/Team1.java
@@ -0,0 +1,16 @@
+package middle537351;
+
+import base base537351.BaseClass1;
+
+public team class Team1 {
+ protected class R playedBy BaseClass1 {
+
+ void doBase1(StringBuilder result) <- before void doBase1(StringBuilder result);
+
+ private void doBase1(StringBuilder result) {
+ result.append("Team1.R|");
+ new MiddleClass1().doMiddle1(result);
+ }
+
+ }
+}
diff --git a/testplugins/otequinoxtest/Middle537351/src/test537351/TestBug537351.java b/testplugins/otequinoxtest/Middle537351/src/test537351/TestBug537351.java
new file mode 100644
index 000000000..c7a5bfe7d
--- /dev/null
+++ b/testplugins/otequinoxtest/Middle537351/src/test537351/TestBug537351.java
@@ -0,0 +1,17 @@
+package test537351;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import base537351.BaseClass1;
+import junit.framework.TestSuite;
+
+public class TestBug537351 extends TestSuite {
+ @Test
+ public void zigzag() {
+ StringBuilder result = new StringBuilder();
+ new BaseClass1().doBase1(result);
+ assertEquals("Collected result", "Team1.R|Middle1|Team2.R|base1", result.toString());
+ }
+}
diff --git a/testplugins/otequinoxtest/OTEquinoxTests/.classpath b/testplugins/otequinoxtest/OTEquinoxTests/.classpath
new file mode 100644
index 000000000..eca7bdba8
--- /dev/null
+++ b/testplugins/otequinoxtest/OTEquinoxTests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/testplugins/otequinoxtest/OTEquinoxTests/.project b/testplugins/otequinoxtest/OTEquinoxTests/.project
new file mode 100644
index 000000000..7e14b1fc8
--- /dev/null
+++ b/testplugins/otequinoxtest/OTEquinoxTests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>OTEquinoxTests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/testplugins/otequinoxtest/OTEquinoxTests/.settings/org.eclipse.jdt.core.prefs b/testplugins/otequinoxtest/OTEquinoxTests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..68cbd3ab0
--- /dev/null
+++ b/testplugins/otequinoxtest/OTEquinoxTests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.objectteams.otdt.compiler.option.pure_java=enabled
diff --git a/testplugins/otequinoxtest/OTEquinoxTests/META-INF/MANIFEST.MF b/testplugins/otequinoxtest/OTEquinoxTests/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..4ee121d3b
--- /dev/null
+++ b/testplugins/otequinoxtest/OTEquinoxTests/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: OTEquinoxTests
+Bundle-SymbolicName: OTEquinoxTests
+Bundle-Version: 1.0.0.qualifier
+Automatic-Module-Name: OTEquinoxTests
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: Aspect537350_B;bundle-version="1.0.0",
+ Base537350_B;bundle-version="1.0.0",
+ Aspect537350_A;bundle-version="1.0.0",
+ Base537350_A;bundle-version="1.0.0",
+ org.junit;bundle-version="4.12.0",
+ Aspect537533;bundle-version="1.0.0",
+ Base537533;bundle-version="1.0.0",
+ Middle537351;bundle-version="1.0.0"
diff --git a/testplugins/otequinoxtest/OTEquinoxTests/build.properties b/testplugins/otequinoxtest/OTEquinoxTests/build.properties
new file mode 100644
index 000000000..34d2e4d2d
--- /dev/null
+++ b/testplugins/otequinoxtest/OTEquinoxTests/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/testplugins/otequinoxtest/OTEquinoxTests/src/test/AllOTEquinoxTests.java b/testplugins/otequinoxtest/OTEquinoxTests/src/test/AllOTEquinoxTests.java
new file mode 100644
index 000000000..4d4d1c1c0
--- /dev/null
+++ b/testplugins/otequinoxtest/OTEquinoxTests/src/test/AllOTEquinoxTests.java
@@ -0,0 +1,15 @@
+package test;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+import junit.framework.TestSuite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({
+ test537351.TestBug537351.class,
+ test537533.TestBug537533.class,
+ test537350_a.TestBug537350_A.class,
+ base537350_b.TestBug537350_B.class
+})
+public class AllOTEquinoxTests extends TestSuite { }
diff --git a/testplugins/otequinoxtest/OTEquinoxTests/test.xml b/testplugins/otequinoxtest/OTEquinoxTests/test.xml
new file mode 100644
index 000000000..29d552414
--- /dev/null
+++ b/testplugins/otequinoxtest/OTEquinoxTests/test.xml
@@ -0,0 +1,65 @@
+<project name="testsuite" default="run" basedir=".">
+
+ <property name="otdt-tests-workspace" value="${test.eclipseDir}/otdt-tests-workspace"/>
+
+ <!-- sets the properties eclipseTest-home, and library-file -->
+ <property name="plugin-name" value="OTEquinoxTests"/>
+
+ <!-- library.xml need these properties-->
+ <property name="eclipse-home" value="${test.eclipseDir}"/>
+ <property name="test.target" value="performance"/>
+
+ <fail unless="library-file">Property "library-file" needs to be passed by the caller.</fail>
+
+ <!-- This target holds all initialization code that needs to be done for -->
+ <!-- all tests that are to be run. Initialization for individual tests -->
+ <!-- should be done within the body of the suite target. -->
+ <target name="init">
+ <tstamp/>
+ <delete>
+ <fileset dir="${test.eclipseDir}" includes="test.AllOTEquinoxTests.xml"/>
+ </delete>
+
+ </target>
+
+ <!-- This target defines the tests that need to be run. -->
+ <target name="suite">
+
+ <!-- OT/Equinox tests -->
+ <property name="otequinox-folder"
+ value="${otdt-tests-workspace}/otequinox-folder"/>
+ <delete dir="${otequinox-folder}" quiet="true"/>
+
+ <ant target="ui-test" antfile="${library-file}" dir="${test.eclipseDir}">
+ <property name="data-dir" value="${otequinox-folder}"/>
+ <property name="plugin-name" value="${plugin-name}"/>
+ <property name="classname" value="test.AllOTEquinoxTests"/>
+ </ant>
+
+ </target>
+
+ <target name="checkOS">
+ <condition property="os.isWindows">
+ <os family="windows"/>
+ </condition>
+ </target>
+
+ <!-- This target holds code to cleanup the testing environment after -->
+ <!-- after all of the tests have been run. You can use this target to -->
+ <!-- delete temporary files that have been created. -->
+ <target name="cleanup">
+
+ </target>
+
+ <!-- This target runs the test suite. Any actions that need to happen -->
+ <!-- after all the tests have been run should go here. -->
+ <target name="run" depends="init,suite,cleanup">
+<!--
+ <ant target="collect" antfile="${library-file}" dir="${test.eclipseDir}">
+ <property name="includes" value="org.eclipse.objectteams.otdt.ui.tests.dom.AllTests.xml"/>
+ <property name="output-file" value="${plugin-name}.${file-id}.xml"/>
+ </ant>
+-->
+ </target>
+
+</project>