From 637fe8ba60caad3967693c618b7a9b3f114a99ec Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Mon, 25 Feb 2019 15:12:28 +0100 Subject: [PATCH] move final tests to gradle/junit --- .gitignore | 5 +- build.gradle | 27 +++++- .../test/jastadd/resolver}/MyRefResolver.jadd | 5 -- .../test/jastadd/resolver/Resolver.relast | 0 .../test/jastadd/resolver/ResolverUtils.jadd | 3 - .../jastadd/relast/tests/ResolverHelper.java | 29 +++---- tests/Makefile | 6 -- tests/resolverHelper/.gitignore | 4 - tests/resolverHelper/AbstractTests.java | 25 ------ tests/resolverHelper/All.ast | 9 -- tests/resolverHelper/All.jadd | 83 ------------------- tests/resolverHelper/Makefile | 18 ---- 12 files changed, 45 insertions(+), 169 deletions(-) rename {tests/resolverHelper => src/test/jastadd/resolver}/MyRefResolver.jadd (63%) rename tests/resolverHelper/Grammar.relast => src/test/jastadd/resolver/Resolver.relast (100%) rename tests/resolverHelper/Utils.jadd => src/test/jastadd/resolver/ResolverUtils.jadd (91%) rename tests/resolverHelper/All.java => src/test/java/org/jastadd/relast/tests/ResolverHelper.java (64%) delete mode 100644 tests/Makefile delete mode 100644 tests/resolverHelper/.gitignore delete mode 100644 tests/resolverHelper/AbstractTests.java delete mode 100644 tests/resolverHelper/All.ast delete mode 100644 tests/resolverHelper/All.jadd delete mode 100644 tests/resolverHelper/Makefile diff --git a/.gitignore b/.gitignore index 457059f..0ce1ed6 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,7 @@ src/test/jastadd/relations/Relations.jadd src/test/jastadd/lowerbounds/LowerBounds.ast src/test/jastadd/lowerbounds/LowerBounds.jadd src/test/jastadd/multiple/Multiple.ast -src/test/jastadd/multiple/Multiple.jadd \ No newline at end of file +src/test/jastadd/multiple/Multiple.jadd +src/test/jastadd/resolver/Resolver.ast +src/test/jastadd/resolver/Resolver.jadd +src/test/jastadd/resolver/ResolverRefResolver.jadd \ No newline at end of file diff --git a/build.gradle b/build.gradle index 8d6b210..347c375 100644 --- a/build.gradle +++ b/build.gradle @@ -179,6 +179,28 @@ task compileMultipleTest(type: JavaExec, group: 'verification') { args '--o=src/test/java-gen/', '--package=multiple.ast', 'src/test/jastadd/multiple/Multiple.ast', 'src/test/jastadd/multiple/Multiple.jadd', 'src/test/jastadd/Utils.jadd' } +task preprocessResolverTest(type: JavaExec, group: 'verification') { + + doFirst { + delete 'src/test/jastadd/resolver/Resolver.ast', 'src/test/jastadd/resolver/Resolver.jadd' + } + + classpath = sourceSets.main.runtimeClasspath + main = 'org.jastadd.relast.compiler.Compiler' + args 'src/test/jastadd/resolver/Resolver.relast', '--file', '--grammarName=src/test/jastadd/resolver/Resolver', '--resolverHelper' +} + +task compileResolverTest(type: JavaExec, group: 'verification') { + + doFirst { + delete 'src/test/java-gen/resolver' + } + + classpath = sourceSets.main.runtimeClasspath + main = 'org.jastadd.JastAdd' + args '--o=src/test/java-gen/', '--package=resolver.ast', 'src/test/jastadd/resolver/Resolver.ast', 'src/test/jastadd/resolver/Resolver.jadd', 'src/test/jastadd/resolver/ResolverUtils.jadd', 'src/test/jastadd/resolver/ResolverRefResolver.jadd', 'src/test/jastadd/resolver/MyRefResolver.jadd', 'src/test/jastadd/Utils.jadd' +} + test { outputs.upToDateWhen { false } @@ -194,4 +216,7 @@ test.dependsOn compileLowerBoundsTest compileLowerBoundsTest.dependsOn preprocessLowerBoundsTest test.dependsOn compileMultipleTest -compileMultipleTest.dependsOn preprocessMultipleTest \ No newline at end of file +compileMultipleTest.dependsOn preprocessMultipleTest + +test.dependsOn compileResolverTest +compileResolverTest.dependsOn preprocessResolverTest \ No newline at end of file diff --git a/tests/resolverHelper/MyRefResolver.jadd b/src/test/jastadd/resolver/MyRefResolver.jadd similarity index 63% rename from tests/resolverHelper/MyRefResolver.jadd rename to src/test/jastadd/resolver/MyRefResolver.jadd index 562f260..c152e17 100644 --- a/tests/resolverHelper/MyRefResolver.jadd +++ b/src/test/jastadd/resolver/MyRefResolver.jadd @@ -6,10 +6,5 @@ aspect MyRewrites { return root().findNamedElement(id); } - refine RefResolverStubs eq A.resolveRel2(String id) { - // default to context-independent name resolution - return resolveNamedElement(id); - } - } diff --git a/tests/resolverHelper/Grammar.relast b/src/test/jastadd/resolver/Resolver.relast similarity index 100% rename from tests/resolverHelper/Grammar.relast rename to src/test/jastadd/resolver/Resolver.relast diff --git a/tests/resolverHelper/Utils.jadd b/src/test/jastadd/resolver/ResolverUtils.jadd similarity index 91% rename from tests/resolverHelper/Utils.jadd rename to src/test/jastadd/resolver/ResolverUtils.jadd index eb9729c..a8d5473 100644 --- a/tests/resolverHelper/Utils.jadd +++ b/src/test/jastadd/resolver/ResolverUtils.jadd @@ -1,7 +1,4 @@ aspect Utils { - public String NamedElement.toString() { - return getName(); - } inh Root ASTNode.root(); eq Root.getA(int i).root() = this; diff --git a/tests/resolverHelper/All.java b/src/test/java/org/jastadd/relast/tests/ResolverHelper.java similarity index 64% rename from tests/resolverHelper/All.java rename to src/test/java/org/jastadd/relast/tests/ResolverHelper.java index e2f65cc..3e3eeff 100644 --- a/tests/resolverHelper/All.java +++ b/src/test/java/org/jastadd/relast/tests/ResolverHelper.java @@ -1,8 +1,16 @@ -import AST.*; -import java.util.*; +package org.jastadd.relast.tests; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import resolver.ast.A; +import resolver.ast.B; +import resolver.ast.NamedElement; +import resolver.ast.Root; + +import static org.junit.jupiter.api.Assertions.assertSame; @SuppressWarnings("ArraysAsListWithZeroOrOneArgument") -public class All extends AbstractTests { +class ResolverHelper { private Root r; private A a1; private A a2; @@ -11,27 +19,20 @@ public class All extends AbstractTests { private B b2; private B b3; - public static void main(String args[]) { - new All().test(); - } - - public void test() { - testNameRes1(); - } - - /** * rel A.Di1 -> B; */ - private void testNameRes1() { + @Test + void testNameRes1() { setup(); a1.setRel1(NamedElement.createRef("b2")); System.out.println("Rel 1 of a1 has type " + a1.getRel1().getClass().getSimpleName()); assertSame(a1.getRel1(), b2); } - private void setup() { + @BeforeEach + void setup() { r = new Root(); a1 = new A("a1"); a2 = new A("a2"); diff --git a/tests/Makefile b/tests/Makefile deleted file mode 100644 index 5a9e1b0..0000000 --- a/tests/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -all: - cd ../ && ./gradlew jar - cd valid && make test - cd errors && make test - cd multipleFiles && make test - cd resolverHelper && make test diff --git a/tests/resolverHelper/.gitignore b/tests/resolverHelper/.gitignore deleted file mode 100644 index 404a3fe..0000000 --- a/tests/resolverHelper/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/AST/* -/Relations.ast -Relations.jadd -AllRefResolver.jadd diff --git a/tests/resolverHelper/AbstractTests.java b/tests/resolverHelper/AbstractTests.java deleted file mode 100644 index 3b86096..0000000 --- a/tests/resolverHelper/AbstractTests.java +++ /dev/null @@ -1,25 +0,0 @@ -public class AbstractTests { - protected void assertException() { - check(false, "should throw exception"); - } - protected void assertTrue(boolean b) { - check(b, "value should be true (is false)"); - } - protected void assertFalse(boolean b) { - check(!b, "value should be flase (is true)"); - } - protected void assertNull(Object obj) { - check(obj == null, "Object not null: " + obj); - } - protected void assertSame(Object o1, Object o2) { - check(o1 == o2, "Objects not same: " + o1 + ", " + o2); - } - protected void assertEquals(Object o1, Object o2) { - check(o1.equals(o2), "Objects not equals: " + o1 + ", " + o2); - } - protected void check(boolean b, String message) { - if (!b) { - throw new RuntimeException(message); - } - } -} \ No newline at end of file diff --git a/tests/resolverHelper/All.ast b/tests/resolverHelper/All.ast deleted file mode 100644 index 4e70b07..0000000 --- a/tests/resolverHelper/All.ast +++ /dev/null @@ -1,9 +0,0 @@ -Root ::= A* B*; -abstract NamedElement ::= <Name:String>; -A : NamedElement ::= <_impl_Rel1:NamedElement> <_impl_Rel2:NamedElement>; -B : NamedElement; - -__unresolvedRoot : Root ::= <__token:String>; -__unresolvedNamedElement : NamedElement ::= <__token:String>; -__unresolvedA : A ::= <__token:String>; -__unresolvedB : B ::= <__token:String>; diff --git a/tests/resolverHelper/All.jadd b/tests/resolverHelper/All.jadd deleted file mode 100644 index 98cade5..0000000 --- a/tests/resolverHelper/All.jadd +++ /dev/null @@ -1,83 +0,0 @@ -import java.util.ArrayList; -import java.util.Collections; -aspect RelAstAPI { - public A.A(String Name) { - setName(Name); - } - public __unresolvedA.__unresolvedA(String Name, String __token) { - setName(Name); - set__token(__token); - } - // rel A.Rel1 -> NamedElement - public NamedElement A.getRel1() { - if (get_impl_Rel1() != null && get_impl_Rel1().unresolved()) { - set_impl_Rel1(resolveRel1(get_impl_Rel1().asUnresolvedNamedElement().get__token())); - } - return get_impl_Rel1(); - } - public void A.setRel1(NamedElement o) { - assertNotNull(o); - set_impl_Rel1(o); - } - - // rel A.Rel2 -> NamedElement - public NamedElement A.getRel2() { - if (get_impl_Rel2() != null && get_impl_Rel2().unresolved()) { - set_impl_Rel2(resolveRel2(get_impl_Rel2().asUnresolvedNamedElement().get__token())); - } - return get_impl_Rel2(); - } - public void A.setRel2(NamedElement o) { - assertNotNull(o); - set_impl_Rel2(o); - } - - public boolean ASTNode.violatesLowerBounds() { - return !getLowerBoundsViolations().isEmpty(); - } - public java.util.List<Pair<ASTNode, String>> ASTNode.getLowerBoundsViolations() { - ArrayList<Pair<ASTNode, String>> list = new ArrayList<>(); - computeLowerBoundsViolations(list); - return list; - } - public void ASTNode.computeLowerBoundsViolations(java.util.List<Pair<ASTNode, String>> list) { - for (int i = 0; i < getNumChildNoTransform(); i++) { - getChildNoTransform(i).computeLowerBoundsViolations(list); - } - } - public void A.computeLowerBoundsViolations(java.util.List<Pair<ASTNode, String>> list) { - if (getRel1() == null) { - list.add(new Pair<>(this, "Rel1")); - } - if (getRel2() == null) { - list.add(new Pair<>(this, "Rel2")); - } - super.computeLowerBoundsViolations(list); - } - public class Pair<T1, T2> { - public final T1 _1; - public final T2 _2; - public Pair(T1 _1, T2 _2) { - ASTNode.assertNotNull(_1); - ASTNode.assertNotNull(_2); - this._1 = _1; - this._2 = _2; - } - public boolean equals(Object other) { - if (other instanceof Pair) { - Pair<?,?> p = (Pair<?,?>) other; - return _1.equals(p._1) && _2.equals(p._2); - } else { - return false; - } - } - public int hashCode() { - return 31*_1.hashCode() + _2.hashCode(); - } - } - public static void ASTNode.assertNotNull(Object obj) { - if (obj == null) { - throw new NullPointerException(); - } - } -} diff --git a/tests/resolverHelper/Makefile b/tests/resolverHelper/Makefile deleted file mode 100644 index cc7fe4a..0000000 --- a/tests/resolverHelper/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -all: build-jar test -test: clean test1 - @echo "#" - @echo "# RESOLVER HELPER TESTS OK" - @echo "#" - -build-jar: - (cd ../../ && ./gradlew jar) -test1: - java -jar ../../build/libs/relast.jar Grammar.relast --file --grammarName=Relations --resolverHelper - java -jar ../../tools/jastadd2.jar --package=AST --rewrite=cnta Relations.ast Relations.jadd AllRefResolver.jadd MyRefResolver.jadd Utils.jadd - javac AST/*.java Relations.java - java Relations - -clean: - rm -rf AST - rm -f *.class - rm -f *.ast \ No newline at end of file -- GitLab