Getting rid of XML includes and two superfluous files, merging them with their respective including counterparts. As far as I can see, the two test suites are not part of the automatic build process, but can be started manually as easily as any other test (suite) now. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>tags/java16-add-opens
@@ -4,8 +4,8 @@ | |||
* 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 | |||
* | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* ******************************************************************/ | |||
package org.aspectj.systemtest.knownlimitations; | |||
@@ -20,7 +20,7 @@ public class KnownLimitationsTests extends org.aspectj.testing.XMLBasedAjcTestCa | |||
} | |||
protected java.net.URL getSpecFile() { | |||
return getClassResource("knownlimitations.xml"); | |||
return getClassResource("knownLimitations.xml"); | |||
// return new File("../tests/src/org/aspectj/systemtest/knownlimitations/knownlimitations.xml"); | |||
} | |||
@@ -1,9 +1,10 @@ | |||
<suite> | |||
<!-- Incremental compilation Tests --> | |||
<ajc-test dir="incremental/initialTests/classAdded" | |||
title="expect class added in initial incremental tests" | |||
<ajc-test dir="incremental/initialTests/classAdded" | |||
title="expect class added in initial incremental tests" | |||
keywords="incremental-test" > | |||
<compile staging="true" | |||
<compile staging="true" | |||
options="-incremental" | |||
sourceroots="."/> | |||
<run class="main.Main"/> | |||
@@ -13,11 +14,11 @@ | |||
<run class="main.Main" skipTester="true"/> | |||
</ajc-test> | |||
<ajc-test dir="incremental/initialTests/classRemoved" | |||
title="expect class removed in initial incremental tests" | |||
<ajc-test dir="incremental/initialTests/classRemoved" | |||
title="expect class removed in initial incremental tests" | |||
keywords="incremental-test" > | |||
<compile staging="true" | |||
options="-incremental" | |||
<compile staging="true" | |||
options="-incremental" | |||
sourceroots="."/> | |||
<run class="main.Main"/> | |||
<inc-compile tag="20"> | |||
@@ -26,10 +27,10 @@ | |||
<run class="main.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="incremental/initialTests/classUpdated" | |||
title="expect class updated in initial incremental tests" | |||
<ajc-test dir="incremental/initialTests/classUpdated" | |||
title="expect class updated in initial incremental tests" | |||
keywords="incremental-test" > | |||
<compile staging="true" | |||
<compile staging="true" | |||
options="-incremental" | |||
sourceroots="."/> | |||
<run class="main.Main"/> | |||
@@ -39,11 +40,11 @@ | |||
<run class="main.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="incremental/initialTests/sourceAdded" | |||
<ajc-test dir="incremental/initialTests/sourceAdded" | |||
title="add file with class" | |||
comment="only expecting pickup if sourceroots" | |||
comment="only expecting pickup if sourceroots" | |||
keywords="incremental-test" > | |||
<compile staging="true" | |||
<compile staging="true" | |||
options="-incremental" | |||
sourceroots="."/> | |||
<run class="main.Main"/> | |||
@@ -56,11 +57,11 @@ | |||
<run class="main.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="incremental/initialTests/sourceDeleted" | |||
<ajc-test dir="incremental/initialTests/sourceDeleted" | |||
title="delete source file before incremental compile" | |||
comment="build config should permit file deletions for incremental (sourceroots)" | |||
keywords="incremental-test" > | |||
<compile staging="true" | |||
<compile staging="true" | |||
options="-incremental" | |||
sourceroots="."/> | |||
<run class="delete.Main"/> | |||
@@ -68,12 +69,12 @@ | |||
<dir-changes removed="delete.DeleteMe"/> | |||
<message kind="error" line="6" file="delete/Target.java"/> | |||
</inc-compile> | |||
<inc-compile tag="30"/> | |||
<inc-compile tag="30"/> | |||
<run class="delete.Main"/> | |||
</ajc-test> | |||
<!-- this test cannot pass with the new AjAttribute.MethodDeclarationLineNumberAttribute | |||
<ajc-test dir="incremental/initialTests/expClasses" | |||
<ajc-test dir="incremental/initialTests/expClasses" | |||
title="expected class tree" > | |||
<compile files="Main.java"> | |||
<dir-changes expDir="expected"/> | |||
@@ -81,11 +82,11 @@ | |||
<run class="Main"/> | |||
</ajc-test> | |||
--> | |||
<ajc-test dir="incremental/initialTests/defaultPackage" | |||
title="do everything in default package (sourceroots)" | |||
<ajc-test dir="incremental/initialTests/defaultPackage" | |||
title="do everything in default package (sourceroots)" | |||
keywords="incremental-test" > | |||
<compile staging="true" | |||
<compile staging="true" | |||
options="-incremental" | |||
sourceroots="."/> | |||
<run class="Main"/> | |||
@@ -97,7 +98,7 @@ | |||
<dir-changes updated="Main"/> | |||
</inc-compile> | |||
<run class="Main" skipTester="true"/> | |||
<inc-compile tag="40"> | |||
<inc-compile tag="40"> | |||
<message kind="error" line="6" file="Main.java"/> | |||
</inc-compile> | |||
<inc-compile tag="50"/> | |||
@@ -107,9 +108,9 @@ | |||
<ajc-test dir="incremental/defaultPackage" | |||
keywords="incremental-test" | |||
title="change sources in default package"> | |||
<compile | |||
<compile | |||
staging="true" | |||
options="-incremental" | |||
options="-incremental" | |||
sourceroots="src"/> | |||
<run class="Main"/> | |||
<inc-compile tag="20"/> | |||
@@ -119,9 +120,9 @@ | |||
<ajc-test dir="incremental/interPackage" | |||
keywords="incremental-test" | |||
title="change source"> | |||
<compile | |||
<compile | |||
staging="true" | |||
options="-incremental" | |||
options="-incremental" | |||
sourceroots="src"/> | |||
<run class="app.Main"/> | |||
<inc-compile tag="20"/> | |||
@@ -132,7 +133,7 @@ | |||
<ajc-test dir="incremental/stringliteral" | |||
keywords="incremental-test" | |||
title="incrementally change only string literal, still expect advice"> | |||
<compile staging="true" options="-incremental" | |||
<compile staging="true" options="-incremental" | |||
sourceroots="src"/> | |||
<run class="packageOne.Main" | |||
options="in packageOne.Main.main(..), | |||
@@ -145,10 +146,10 @@ | |||
before main packageOne.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="incremental/initialTests/aspectSourceAdded" | |||
<ajc-test dir="incremental/initialTests/aspectSourceAdded" | |||
title="add aspect source file and check world is rewoven" | |||
keywords="incremental-test" > | |||
<compile staging="true" | |||
<compile staging="true" | |||
options="-incremental" | |||
sourceroots="."/> | |||
<inc-compile tag="20"> | |||
@@ -156,11 +157,11 @@ | |||
</inc-compile> | |||
<run class="Main"/> | |||
</ajc-test> | |||
<ajc-test dir="incremental/initialTests/classWAroundClosureRemoved" | |||
title="make sure additional classes generated during weave are deleted with src class file" | |||
keywords="incremental-test"> | |||
<compile staging="true" | |||
<compile staging="true" | |||
options="-incremental" | |||
sourceroots="."/> | |||
<inc-compile tag="20" > | |||
@@ -171,8 +172,8 @@ | |||
<ajc-test dir="incremental/full-rebuild" | |||
pr="59895" | |||
title="incremental with aspect-driven full rebuild"> | |||
<compile | |||
staging="true" | |||
<compile | |||
staging="true" | |||
sourceroots="src" | |||
options="-incremental"> | |||
<message kind="error" line="3" file="Aspect.java"/> | |||
@@ -182,4 +183,5 @@ | |||
</inc-compile> | |||
<run class="Main"/> | |||
</ajc-test> | |||
</suite> |
@@ -1,297 +0,0 @@ | |||
<!-- Known Limitations --> | |||
<!-- we're not implementing static inter-type fields on interfaces in 1.1 --> | |||
<ajc-test dir="knownLimitations/test117" title="DEPRECATED: introduce of variables" | |||
keywords="from-base,knownLimitation"> | |||
<compile files="Driver.java"/> | |||
<run class="Driver"/> | |||
</ajc-test> | |||
<!-- we're not implementing this error check in 1.1 --> | |||
<ajc-test dir="errors" | |||
title="checking the contra-variant errors for typing of proceed" | |||
keywords="from-errors,knownLimitation"> | |||
<compile files="BadAround.java"> | |||
<message kind="error" line="12"/> | |||
<message kind="error" line="15"/> | |||
<message kind="error" line="18"/> | |||
<message kind="error" line="19"/> | |||
<message kind="error" line="22"/> | |||
</compile> | |||
</ajc-test> | |||
<!-- we're not implementing static inter-type fields on interfaces in 1.1 --> | |||
<ajc-test dir="design/intro" | |||
title="introduction of static methods and fields on classes and interfaces" | |||
keywords="from-design,knownLimitation"> | |||
<compile files="Statics.java"/> | |||
<run class="Statics"/> | |||
</ajc-test> | |||
<!-- only before advice implemented for handler join points in 1.1 --> | |||
<ajc-test dir="new" title="advice on catch clauses" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="CatchAdvice.java"/> | |||
<run class="CatchAdvice"/> | |||
</ajc-test> | |||
<!-- we will handle this by signalling a weave-time error for any around | |||
advice that is applied to a join point which throws checked exceptions | |||
that it can't handle. proceeds in closures change the exceptions that | |||
around advice can handle to include the greatest lower bound of the | |||
checked exceptions that are legally throwable by the proceed. | |||
Ideally their should be an -Xlint compile-time warning for ALL | |||
cases that could produce weave-time errors. | |||
--> | |||
<ajc-test dir="new" title="holding onto proceed calls in a closure-like way" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="HoldProceed.java"/> | |||
<run class="HoldProceed"/> | |||
</ajc-test> | |||
<!-- around advice not implemented on initializer join points --> | |||
<ajc-test dir="new" pr="490" | |||
title="PR#458 Compiler was incorrectly flagging error in advice on initialization and static initialization" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="StaticInitCE.java"/> | |||
<run class="StaticInitCE"/> | |||
</ajc-test> | |||
<!-- This behavior is different from 1.0, but we might want to consider allowing it | |||
Using the eclipse compiler it would be much easier to permit than forbid. --> | |||
<ajc-test dir="new/introTypeMissing" | |||
title="Introduced type unavailable to instanceof expressions in introduced methods" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="InstanceOf.java,TargetClass.java,Util.java"> | |||
<message kind="error" line="19"/> | |||
<message kind="error" line="20"/> | |||
<message kind="error" line="21"/> | |||
<message kind="error" line="22"/> | |||
<message kind="error" line="23"/> | |||
<message kind="error" line="24"/> | |||
<message kind="error" line="25"/> | |||
<message kind="error" line="26"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="new" | |||
title="enclosing join point not exported properly in pre-initialization join point" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="PreInitialization.java"/> | |||
<run class="PreInitialization"/> | |||
</ajc-test> | |||
<!-- pointcuts aren't checked for circularities unless they're used --> | |||
<ajc-test dir="new" pr="568" title="cyclic pointcut definitions" | |||
keywords="from-resolved_10rc3,knownLimitation"> | |||
<compile files="CyclicPointcuts.java"> | |||
<message kind="error" line="11"/> | |||
<message kind="error" line="14"/> | |||
<message kind="error" line="18"/> | |||
<message kind="error" line="32"/> | |||
<message kind="error" line="43"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="new" | |||
title="package typepattern with no packages (in default package)" | |||
keywords="from-resolved_105,knownLimitation"> | |||
<compile options="-Xlint" files="TypeNames.java"> | |||
<message kind="warning" line="34"/> | |||
<message kind="warning" line="39"/> | |||
<message kind="warning" line="43"/> | |||
<message kind="warning" line="47"/> | |||
</compile> | |||
<run class="TypeNames"/> | |||
</ajc-test> | |||
<ajc-test dir="new" pr="764" | |||
title="flag errors when binding args with indeterminate prefix and suffix" | |||
keywords="from-resolved_105,knownLimitation"> | |||
<compile files="IndeterminateArgsCE.java"> | |||
<message kind="error" line="67"/> | |||
<message kind="error" line="68"/> | |||
<message kind="error" line="70"/> | |||
<message kind="error" line="72"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="design/around" | |||
title="around and return types + inlining optimizations" | |||
comment="-XOcodeSize not in 1.1, source uses 1.4 APIs" | |||
keywords="from-14tests,knownLimitation"> | |||
<compile options="-XOcodeSize,-source,1.4" | |||
files="ReturnCastProceed.java,StackChecker.java"> | |||
<message kind="warning" line="68"/> | |||
</compile> | |||
<run class="ReturnCastProceed" vm="1.4"/> | |||
</ajc-test> | |||
<ajc-test dir="new" pr="885" keywords="knownLimitation" | |||
comment="this behaves differently in 1.3 from 1.4 for unknown reasons, merge with above when resolved" | |||
title="source locations within expressions (hard case of constructor start)"> | |||
<compile files="SourceLocationWithinExprHard.java"/> | |||
<run class="SourceLocationWithinExprHard"/> | |||
</ajc-test> | |||
<!-- Can't handle packages named 'aspect' in parser | |||
--> | |||
<ajc-test dir="new/PR852" pr="852" | |||
title="declaring method on superclass and subclass" | |||
keywords="knownLimitation"> | |||
<compile files="aspect/Aspect.java,target/SubClass.java,target/SuperClass.java"> | |||
<dir-changes added="target.SubClass,target.SuperClass"/> | |||
</compile> | |||
<run class="aspect.Aspect"/> | |||
</ajc-test> | |||
<ajc-test dir="new" pr="660" title="illegal name binding in around cflow" | |||
keywords="from-resolved_104,knownLimitation"> | |||
<compile files="ArgsInCflowCf.java"> | |||
<message kind="error" line="19"/> | |||
<message kind="error" line="29"/> | |||
<message kind="error" line="35"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="incremental/stringliteral" | |||
keywords="knownLimitation" | |||
title="incrementally change string size and wire in injar classes"> | |||
<compile staging="true" options="-incremental" | |||
files="oneInjar.jar,twoInjar.jar" | |||
sourceroots="src"/> | |||
<run class="packageOne.Main" | |||
options="in packageOne.Main.main(..), | |||
before main packageOne.Main"/> | |||
<inc-compile tag="20"> | |||
<dir-changes updated="packageOne.Main"/> | |||
</inc-compile> | |||
<!-- now failing here. This step passes in non-injar variant. --> | |||
<run class="packageOne.Main" | |||
options="in longer packageOne.Main.main(..), | |||
before main packageOne.Main"/> | |||
<inc-compile tag="30"> | |||
<dir-changes added="RunInjarMains"/> | |||
</inc-compile> | |||
<run class="packageOne.Main" | |||
options="in longer packageOne.Main.main(..), | |||
before main InjarOneMain, | |||
before main InjarTwoMain, | |||
before main packageOne.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="bugs" pr="34206" | |||
keywords="knownLimitation" | |||
title="before():execution(new(..)) does not throw NoAspectBoundException" | |||
comment="correct behavior of this case needs to be thought through"> | |||
<compile files="AspectInitError.java"/> | |||
<run class="AspectInitError"/> | |||
</ajc-test> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" | |||
keywords="knownLimitation" | |||
comment="source loc of binary jp depends on first code, not block start" | |||
title="declare error on handler/method execution with no code on binary ajc 1.1 classes"> | |||
<compile files="aspects/MainExecStartLinesErrors.java,../injars/appStartLines-ajc-1.1.jar"> | |||
<message kind="error" file="app/MainExecStartLines.java" | |||
line="6" text="execution(void MainExecStartLines.main(String[]))"/> | |||
<message kind="error" file="app/MainExecStartLines.java" | |||
line="17" text="handler(RuntimeException)"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" | |||
keywords="knownLimitation" | |||
comment="source loc of binary jp depends on first code, not block start; XXX need javac inlining example" | |||
title="declare error on handler/method execution with no code on binary javac 1.4 classes"> | |||
<compile files="aspects/MainExecStartLinesErrors.java,../injars/appStartLines-javac-1.4.jar"> | |||
<message kind="error" file="app/MainExecStartLines.java" | |||
line="6" text="execution(void MainExecStartLines.main(String[]))"/> | |||
<message kind="error" file="app/MainExecStartLines.java" | |||
line="17" text="handler(RuntimeException)"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="harness" | |||
keywords="command-line-error,knownLimitation" | |||
comment="can't test -help: has to abort, but returns 0, normal status" | |||
title="CLE: -help usage"> | |||
<compile badInput="true" options="-help"> | |||
<message kind="abort" text="Usage"/> | |||
</compile> | |||
</ajc-test> | |||
<!-- The next three tests are all about the same issue. The source | |||
line for a constructor execution is returned as the first executable | |||
line within the constructor-execution join point rather than the declaration | |||
line of the constructor. Any other definition will require collusion between | |||
the source->bytecode compiler and the weaver and will only work in | |||
those case where such collusion is possible. | |||
--> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" keywords="knownLimitation" | |||
title="declare warnings on main - constructor execution"> | |||
<compile files="aspects/ConstructorExecutionWarning.java,app/Main.java"> | |||
<message kind="warning" file="app/Main.java" | |||
line="23" text="execution(Main.new())"/> | |||
</compile> | |||
<run class="app.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" keywords="knownLimitation" | |||
title="declare warnings on binary javac 1.4 main - constructor execution"> | |||
<compile files="aspects/ConstructorExecutionWarning.java,../injars/app-javac-1.4.jar"> | |||
<message kind="warning" file="app/Main.java" | |||
line="23" text="execution(Main.new())"/> | |||
</compile> | |||
<run class="app.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" keywords="knownLimitation" | |||
title="declare warnings on binary ajc 1.1 main - constructor execution"> | |||
<compile files="aspects/ConstructorExecutionWarning.java,../injars/app-ajc-1.1.jar"> | |||
<message kind="warning" file="app/Main.java" | |||
line="23" text="execution(Main.new())"/> | |||
</compile> | |||
<run class="app.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="bugs/handlers" pr="37898" keywords="knownLimitation" | |||
title="advice on handler join points should not throw unpermitted checked exceptions"> | |||
<compile files="ExceptionCheckCE.java"> | |||
<message kind="warning" line="8" text="expected"/> | |||
<message kind="error" line="25" text="throw checked exception" /> | |||
<message kind="error" line="8" text="throw checked exception" /> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="harness" pr="38134" keywords="knownLimitation" | |||
comment="behavior is correct for 1.1 - revisit for 1.2" | |||
title="-nowarn suppresses XLint warnings"> | |||
<compile files="XLintWarningTest.java" options="-nowarn"/> | |||
</ajc-test> | |||
<ajc-test dir="harness" pr="38134" keywords="knownLimitation" | |||
comment="behavior is correct for 1.1 - revisit for 1.2" | |||
title="warn:none suppresses XLint warnings"> | |||
<compile files="XLintWarningTest.java" options="-warn:none"/> | |||
</ajc-test> | |||
<ajc-test dir="harness" pr="38134" keywords="knownLimitation" | |||
comment="behavior is correct for 1.1 - revisit for 1.2" | |||
title="-nowarn suppresses declare warnings"> | |||
<compile files="WarningTest.java" options="-nowarn"/> | |||
</ajc-test> | |||
<ajc-test dir="harness" pr="38134" keywords="knownLimitation" | |||
comment="behavior is correct for 1.1 - revisit for 1.2" | |||
title="-warn:none suppresses declare warnings"> | |||
<compile files="WarningTest.java" options="-warn:none"/> | |||
</ajc-test> | |||
<ajc-test dir="bugs" pr="38168" keywords="knownLimitation" | |||
title="insertion of lots of advice code can make branch offset for if too large"> | |||
<compile files="WideJumps.java"/> | |||
<run class="WideJumps"/> | |||
</ajc-test> | |||
@@ -1,11 +1,300 @@ | |||
<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd"[ | |||
<!ENTITY tests SYSTEM "../tests/src/org/aspectj/systemtest/knownlimitations/knownLimitations-tests.xml"> | |||
]> | |||
<suite> | |||
<!-- Known Limitations -these tests will fail --> | |||
<!-- Known Limitations --> | |||
<suite> | |||
<!-- we're not implementing static inter-type fields on interfaces in 1.1 --> | |||
<ajc-test dir="knownLimitations/test117" title="DEPRECATED: introduce of variables" | |||
keywords="from-base,knownLimitation"> | |||
<compile files="Driver.java"/> | |||
<run class="Driver"/> | |||
</ajc-test> | |||
<!-- we're not implementing this error check in 1.1 --> | |||
<ajc-test dir="errors" | |||
title="checking the contra-variant errors for typing of proceed" | |||
keywords="from-errors,knownLimitation"> | |||
<compile files="BadAround.java"> | |||
<message kind="error" line="12"/> | |||
<message kind="error" line="15"/> | |||
<message kind="error" line="18"/> | |||
<message kind="error" line="19"/> | |||
<message kind="error" line="22"/> | |||
</compile> | |||
</ajc-test> | |||
<!-- we're not implementing static inter-type fields on interfaces in 1.1 --> | |||
<ajc-test dir="design/intro" | |||
title="introduction of static methods and fields on classes and interfaces" | |||
keywords="from-design,knownLimitation"> | |||
<compile files="Statics.java"/> | |||
<run class="Statics"/> | |||
</ajc-test> | |||
<!-- only before advice implemented for handler join points in 1.1 --> | |||
<ajc-test dir="new" title="advice on catch clauses" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="CatchAdvice.java"/> | |||
<run class="CatchAdvice"/> | |||
</ajc-test> | |||
<!-- we will handle this by signalling a weave-time error for any around | |||
advice that is applied to a join point which throws checked exceptions | |||
that it can't handle. proceeds in closures change the exceptions that | |||
around advice can handle to include the greatest lower bound of the | |||
checked exceptions that are legally throwable by the proceed. | |||
Ideally their should be an -Xlint compile-time warning for ALL | |||
cases that could produce weave-time errors. | |||
--> | |||
<ajc-test dir="new" title="holding onto proceed calls in a closure-like way" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="HoldProceed.java"/> | |||
<run class="HoldProceed"/> | |||
</ajc-test> | |||
<!-- around advice not implemented on initializer join points --> | |||
<ajc-test dir="new" pr="490" | |||
title="PR#458 Compiler was incorrectly flagging error in advice on initialization and static initialization" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="StaticInitCE.java"/> | |||
<run class="StaticInitCE"/> | |||
</ajc-test> | |||
<!-- This behavior is different from 1.0, but we might want to consider allowing it | |||
Using the eclipse compiler it would be much easier to permit than forbid. --> | |||
<ajc-test dir="new/introTypeMissing" | |||
title="Introduced type unavailable to instanceof expressions in introduced methods" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="InstanceOf.java,TargetClass.java,Util.java"> | |||
<message kind="error" line="19"/> | |||
<message kind="error" line="20"/> | |||
<message kind="error" line="21"/> | |||
<message kind="error" line="22"/> | |||
<message kind="error" line="23"/> | |||
<message kind="error" line="24"/> | |||
<message kind="error" line="25"/> | |||
<message kind="error" line="26"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="new" | |||
title="enclosing join point not exported properly in pre-initialization join point" | |||
keywords="from-resolved_10x,knownLimitation"> | |||
<compile files="PreInitialization.java"/> | |||
<run class="PreInitialization"/> | |||
</ajc-test> | |||
<!-- pointcuts aren't checked for circularities unless they're used --> | |||
<ajc-test dir="new" pr="568" title="cyclic pointcut definitions" | |||
keywords="from-resolved_10rc3,knownLimitation"> | |||
<compile files="CyclicPointcuts.java"> | |||
<message kind="error" line="11"/> | |||
<message kind="error" line="14"/> | |||
<message kind="error" line="18"/> | |||
<message kind="error" line="32"/> | |||
<message kind="error" line="43"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="new" | |||
title="package typepattern with no packages (in default package)" | |||
keywords="from-resolved_105,knownLimitation"> | |||
<compile options="-Xlint" files="TypeNames.java"> | |||
<message kind="warning" line="34"/> | |||
<message kind="warning" line="39"/> | |||
<message kind="warning" line="43"/> | |||
<message kind="warning" line="47"/> | |||
</compile> | |||
<run class="TypeNames"/> | |||
</ajc-test> | |||
<ajc-test dir="new" pr="764" | |||
title="flag errors when binding args with indeterminate prefix and suffix" | |||
keywords="from-resolved_105,knownLimitation"> | |||
<compile files="IndeterminateArgsCE.java"> | |||
<message kind="error" line="67"/> | |||
<message kind="error" line="68"/> | |||
<message kind="error" line="70"/> | |||
<message kind="error" line="72"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="design/around" | |||
title="around and return types + inlining optimizations" | |||
comment="-XOcodeSize not in 1.1, source uses 1.4 APIs" | |||
keywords="from-14tests,knownLimitation"> | |||
<compile options="-XOcodeSize,-source,1.4" | |||
files="ReturnCastProceed.java,StackChecker.java"> | |||
<message kind="warning" line="68"/> | |||
</compile> | |||
<run class="ReturnCastProceed" vm="1.4"/> | |||
</ajc-test> | |||
<ajc-test dir="new" pr="885" keywords="knownLimitation" | |||
comment="this behaves differently in 1.3 from 1.4 for unknown reasons, merge with above when resolved" | |||
title="source locations within expressions (hard case of constructor start)"> | |||
<compile files="SourceLocationWithinExprHard.java"/> | |||
<run class="SourceLocationWithinExprHard"/> | |||
</ajc-test> | |||
<!-- Can't handle packages named 'aspect' in parser | |||
--> | |||
<ajc-test dir="new/PR852" pr="852" | |||
title="declaring method on superclass and subclass" | |||
keywords="knownLimitation"> | |||
<compile files="aspect/Aspect.java,target/SubClass.java,target/SuperClass.java"> | |||
<dir-changes added="target.SubClass,target.SuperClass"/> | |||
</compile> | |||
<run class="aspect.Aspect"/> | |||
</ajc-test> | |||
<ajc-test dir="new" pr="660" title="illegal name binding in around cflow" | |||
keywords="from-resolved_104,knownLimitation"> | |||
<compile files="ArgsInCflowCf.java"> | |||
<message kind="error" line="19"/> | |||
<message kind="error" line="29"/> | |||
<message kind="error" line="35"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="incremental/stringliteral" | |||
keywords="knownLimitation" | |||
title="incrementally change string size and wire in injar classes"> | |||
<compile staging="true" options="-incremental" | |||
files="oneInjar.jar,twoInjar.jar" | |||
sourceroots="src"/> | |||
<run class="packageOne.Main" | |||
options="in packageOne.Main.main(..), | |||
before main packageOne.Main"/> | |||
<inc-compile tag="20"> | |||
<dir-changes updated="packageOne.Main"/> | |||
</inc-compile> | |||
<!-- now failing here. This step passes in non-injar variant. --> | |||
<run class="packageOne.Main" | |||
options="in longer packageOne.Main.main(..), | |||
before main packageOne.Main"/> | |||
<inc-compile tag="30"> | |||
<dir-changes added="RunInjarMains"/> | |||
</inc-compile> | |||
<run class="packageOne.Main" | |||
options="in longer packageOne.Main.main(..), | |||
before main InjarOneMain, | |||
before main InjarTwoMain, | |||
before main packageOne.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="bugs" pr="34206" | |||
keywords="knownLimitation" | |||
title="before():execution(new(..)) does not throw NoAspectBoundException" | |||
comment="correct behavior of this case needs to be thought through"> | |||
<compile files="AspectInitError.java"/> | |||
<run class="AspectInitError"/> | |||
</ajc-test> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" | |||
keywords="knownLimitation" | |||
comment="source loc of binary jp depends on first code, not block start" | |||
title="declare error on handler/method execution with no code on binary ajc 1.1 classes"> | |||
<compile files="aspects/MainExecStartLinesErrors.java,../injars/appStartLines-ajc-1.1.jar"> | |||
<message kind="error" file="app/MainExecStartLines.java" | |||
line="6" text="execution(void MainExecStartLines.main(String[]))"/> | |||
<message kind="error" file="app/MainExecStartLines.java" | |||
line="17" text="handler(RuntimeException)"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" | |||
keywords="knownLimitation" | |||
comment="source loc of binary jp depends on first code, not block start; XXX need javac inlining example" | |||
title="declare error on handler/method execution with no code on binary javac 1.4 classes"> | |||
<compile files="aspects/MainExecStartLinesErrors.java,../injars/appStartLines-javac-1.4.jar"> | |||
<message kind="error" file="app/MainExecStartLines.java" | |||
line="6" text="execution(void MainExecStartLines.main(String[]))"/> | |||
<message kind="error" file="app/MainExecStartLines.java" | |||
line="17" text="handler(RuntimeException)"/> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="harness" | |||
keywords="command-line-error,knownLimitation" | |||
comment="can't test -help: has to abort, but returns 0, normal status" | |||
title="CLE: -help usage"> | |||
<compile badInput="true" options="-help"> | |||
<message kind="abort" text="Usage"/> | |||
</compile> | |||
</ajc-test> | |||
<!-- The next three tests are all about the same issue. The source | |||
line for a constructor execution is returned as the first executable | |||
line within the constructor-execution join point rather than the declaration | |||
line of the constructor. Any other definition will require collusion between | |||
the source->bytecode compiler and the weaver and will only work in | |||
those case where such collusion is possible. | |||
--> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" keywords="knownLimitation" | |||
title="declare warnings on main - constructor execution"> | |||
<compile files="aspects/ConstructorExecutionWarning.java,app/Main.java"> | |||
<message kind="warning" file="app/Main.java" | |||
line="23" text="execution(Main.new())"/> | |||
</compile> | |||
<run class="app.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" keywords="knownLimitation" | |||
title="declare warnings on binary javac 1.4 main - constructor execution"> | |||
<compile files="aspects/ConstructorExecutionWarning.java,../injars/app-javac-1.4.jar"> | |||
<message kind="warning" file="app/Main.java" | |||
line="23" text="execution(Main.new())"/> | |||
</compile> | |||
<run class="app.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="new/binaryWarnings/src" pr="37020" keywords="knownLimitation" | |||
title="declare warnings on binary ajc 1.1 main - constructor execution"> | |||
<compile files="aspects/ConstructorExecutionWarning.java,../injars/app-ajc-1.1.jar"> | |||
<message kind="warning" file="app/Main.java" | |||
line="23" text="execution(Main.new())"/> | |||
</compile> | |||
<run class="app.Main"/> | |||
</ajc-test> | |||
<ajc-test dir="bugs/handlers" pr="37898" keywords="knownLimitation" | |||
title="advice on handler join points should not throw unpermitted checked exceptions"> | |||
<compile files="ExceptionCheckCE.java"> | |||
<message kind="warning" line="8" text="expected"/> | |||
<message kind="error" line="25" text="throw checked exception" /> | |||
<message kind="error" line="8" text="throw checked exception" /> | |||
</compile> | |||
</ajc-test> | |||
<ajc-test dir="harness" pr="38134" keywords="knownLimitation" | |||
comment="behavior is correct for 1.1 - revisit for 1.2" | |||
title="-nowarn suppresses XLint warnings"> | |||
<compile files="XLintWarningTest.java" options="-nowarn"/> | |||
</ajc-test> | |||
<ajc-test dir="harness" pr="38134" keywords="knownLimitation" | |||
comment="behavior is correct for 1.1 - revisit for 1.2" | |||
title="warn:none suppresses XLint warnings"> | |||
<compile files="XLintWarningTest.java" options="-warn:none"/> | |||
</ajc-test> | |||
<ajc-test dir="harness" pr="38134" keywords="knownLimitation" | |||
comment="behavior is correct for 1.1 - revisit for 1.2" | |||
title="-nowarn suppresses declare warnings"> | |||
<compile files="WarningTest.java" options="-nowarn"/> | |||
</ajc-test> | |||
<ajc-test dir="harness" pr="38134" keywords="knownLimitation" | |||
comment="behavior is correct for 1.1 - revisit for 1.2" | |||
title="-warn:none suppresses declare warnings"> | |||
<compile files="WarningTest.java" options="-warn:none"/> | |||
</ajc-test> | |||
<ajc-test dir="bugs" pr="38168" keywords="knownLimitation" | |||
title="insertion of lots of advice code can make branch offset for if too large"> | |||
<compile files="WideJumps.java"/> | |||
<run class="WideJumps"/> | |||
</ajc-test> | |||
&tests; | |||
</suite> |