diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d0ec93fa2838622bc315106375dcb48d13446b18..3e25a31fca90ac5b15017d8ca4f4fbbfcc28d259 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,6 @@ stages: - build -# - test - - benchmark + - test before_script: - export GRADLE_USER_HOME=`pwd`/.gradle @@ -10,6 +9,7 @@ cache: paths: - .gradle/wrapper - .gradle/caches + - ttc2018liveContest build: image: openjdk:11 @@ -17,25 +17,16 @@ build: script: - ./gradlew --console=plain assemble -#test: -# image: openjdk:11 -# stage: test -# needs: -# - build -# script: -# - ./gradlew --console=plain --info test -# artifacts: -# when: always -# reports: -# junit: "*/build/test-results/test/**/TEST-*.xml" - -timing: +test: image: openjdk:11 - stage: benchmark + stage: test needs: - build script: - - ./all-timed-benchmark.sh + - "[ -d ttc2018liveContest ] || git clone --depth=1 https://github.com/TransformationToolContest/ttc2018liveContest.git ttc2018liveContest" + - ln -sf ../../../../ttc2018liveContest/models solve/src/test/resources + - ./gradlew --console=plain test artifacts: - paths: - - results/ + when: always + reports: + junit: "*/build/test-results/test/**/TEST-*.xml" diff --git a/all-timed-benchmark.sh b/all-timed-benchmark.sh index 0405c2d58e0de760fef8bba7626d7e9a95b110ac..1ea69e0528fa40044d3091ee8dbd027dc850494f 100755 --- a/all-timed-benchmark.sh +++ b/all-timed-benchmark.sh @@ -3,6 +3,6 @@ mkdir -p "results" query=2 size=32 for d in relast-* namelookup-xml-*; do - ./timedBenchmark.sh $d $query $size - mv events-xml-${size}-Q${query}.csv results/events-${d}-${size}-Q${query}.csv + ./gradlew ":${d}:installDist" + ./timedBenchmark.sh "$d" $query $size > "results/results-${d}-${size}-Q${query}.csv" done diff --git a/cp-to-solution.sh b/cp-to-solution.sh index 6746d80da9f9a14188f78f53d8c5e0e33dcafdc5..728ed2f2aff6126f149bf6c67416f4dfb44bddc9 100755 --- a/cp-to-solution.sh +++ b/cp-to-solution.sh @@ -1,104 +1,22 @@ -#!/usr/bin/env bash - -function build_sed_activate() { - # enable integration - sed -i 's/enabled = false/enabled = true/g' solve/build.gradle - # disable debug - sed -i 's|"--debug",|//"--debug",|g' solve/build.gradle -} - -function build_sed_deactivate() { - sed -i 's/enabled = true/enabled = false/g' solve/build.gradle - sed -i 's|//"--debug",|"--debug",|g' solve/build.gradle - sed -i 's/"--incremental=[^"]*"/"--incremental=param,debug"/g' solve/build.gradle - sed -i 's/--flush=[^"]*/--flush=api/g' solve/build.gradle -} - -function build_incremental() { - #TODO - name="$1-inc" - echo ">> Building $name" - build_sed_activate - sed -i 's/--flush=full/--flush=api/g' solve/build.gradle - sed -i 's/"--incremental=[^"]*"/"--incremental=param"/g' solve/build.gradle - ./gradlew --console=plain distTar - build_sed_deactivate - copy_to_ttc $name -} - -function build_flushing() { - #TODO - name="$1-flush" - echo ">> Building $name" - build_sed_activate - sed -i 's/--flush=api/--flush=full/g' solve/build.gradle - sed -i 's/"--incremental=[^"]*"/"--incremental=none"/g' solve/build.gradle - ./gradlew --console=plain distTar - build_sed_deactivate - copy_to_ttc $name -} - -function copy_to_ttc() {( - name=$1 - ls -lh solve/build/distributions - - # ensure directory exists and unpack into it - mkdir -p ../ttc2018liveContest/solutions/$name - tar -xf solve/build/distributions/solve-1.0-SNAPSHOT.tar -C ../ttc2018liveContest/solutions/$name/ solve-1.0-SNAPSHOT/bin/ solve-1.0-SNAPSHOT/lib/ - - # cp solution.ini - cp solution.ini ../ttc2018liveContest/solutions/$name/ - - # fix directory layout - cd ../ttc2018liveContest/solutions/$name/ - rm -r bin/ lib/ - mv solve-1.0-SNAPSHOT/bin/ . - mv solve-1.0-SNAPSHOT/lib/ . - rmdir solve-1.0-SNAPSHOT -)} - -function build() { - build_flushing $@ - build_incremental $@ -} - -function prepare_namelookup() { - # deactivate preprocess - sed -i 's|^generateAst.dependsOn preprocess|//generateAst.dependsOn preprocess|g' solve/build.gradle - # remove generated AST and helper files, activate namelookup AST and helper jadd files - ( cd solve/src/main/jastadd && - rm SocialNetworkGen.ast SocialNetworkGen.jadd && - mv Refs.jadd.unused Refs.jadd && - mv SocialNetworkNamelookup.ast.unused SocialNetworkNamelookup.ast ) -} - -function revert_namelookup() { - # activate preprocess - sed -i 's|//generateAst.dependsOn preprocess|generateAst.dependsOn preprocess|g' solve/build.gradle - # deactivate normal AST and helper jadd files - ( cd solve/src/main/jastadd && - mv Refs.jadd Refs.jadd.unused && - mv SocialNetworkNamelookup.ast SocialNetworkNamelookup.ast.unused ) -} - -prepare_namelookup -# Build jastadd-ttc18-xml (namelookup) -sed -i 's/LiveContestDriverEMF/LiveContestDriverXml/' solve/build.gradle -build "jastadd-ttc18-xml" - -revert_namelookup - -# workaround for failing build -echo ">> Prepare building relast building" -sleep 1 -./gradlew --console=plain preprocess jastadd build 2> /dev/null -sleep 1 -./gradlew --console=plain preprocess jastadd build 2> /dev/null - -# Build jastadd-ttc18-xml -sed -i 's/LiveContestDriverEMF/LiveContestDriverXml/' solve/build.gradle -build "jastadd-ttc18-relast-xml" - -# Build jastadd-ttc18-emf -sed -i 's/LiveContestDriverXml/LiveContestDriverEMF/' solve/build.gradle -build "jastadd-ttc18-relast-emf" +target="../ttc2018liveContest/solutions" +# skipping "namelookup-xml-*" +for s in relast-* ; do + echo ">> Building $s" + ./gradlew ":${s}:installDist" + solutionDir="$target/jastadd-$s" + echo ">> Copy to $solutionDir" + rm -rI "$solutionDir" + mkdir -p "$solutionDir/bin" + cp solution.ini "$solutionDir/" + cp "solve/README-for-TTC-repo.md" "$solutionDir/README.md" + cp "${s}/build/libs/solve-1.0-SNAPSHOT.jar" "${solutionDir}/bin/solve.jar" +done + +# source code +echo "Copying source" +copySourceDir="$target/jastadd-source" +rm -rI "$copySourceDir" +mkdir -p "$copySourceDir/src" +cp -a solve/gradle-parts solve/build.gradle solve/jastadd_modules solve/.gitignore "$copySourceDir/" +cp -a solve/src/main "$copySourceDir/src/" +cp "solve/README-for-TTC-repo.md" "$copySourceDir/README.md" diff --git a/namelookup-xml-flush/build.gradle b/namelookup-xml-flush/build.gradle index f4790d8b87d070726589952f401109fbd03a86d0..22e5a75face242d31730fcb93684f394e379709a 100644 --- a/namelookup-xml-flush/build.gradle +++ b/namelookup-xml-flush/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = [] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-flush.gradle' -apply from: '../solve/gradle-parts/inc-flush.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-namelookup.gradle' +apply from: '../solve/gradle-parts/03-rel-namelookup.gradle' diff --git a/namelookup-xml-inc/build.gradle b/namelookup-xml-inc/build.gradle index a9982547c32aa541be4998b529b3d742935b0975..bbc3f2a466858cdbfda0451cf3e7c6b1654557ad 100644 --- a/namelookup-xml-inc/build.gradle +++ b/namelookup-xml-inc/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = [] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-incremental.gradle' -apply from: '../solve/gradle-parts/inc-incremental.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-namelookup.gradle' +apply from: '../solve/gradle-parts/03-rel-namelookup.gradle' diff --git a/relast-reusable-flush/.gitignore b/relast-reusable-flush/.gitignore new file mode 120000 index 0000000000000000000000000000000000000000..ceb2b6936f4f0dd308fa1247836fe38f9bc624e2 --- /dev/null +++ b/relast-reusable-flush/.gitignore @@ -0,0 +1 @@ +../solve/.gitignore \ No newline at end of file diff --git a/relast-reusable-flush/build.gradle b/relast-reusable-flush/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..46f61fc354fe561e448f2c46e8e4e59f6f3672c0 --- /dev/null +++ b/relast-reusable-flush/build.gradle @@ -0,0 +1,23 @@ +buildscript { + repositories.mavenCentral() + dependencies { + classpath group: 'org.jastadd', name: 'jastaddgradle', version: '1.13.3' + } +} + +plugins { + id 'application' + id 'maven' + id 'java' + id 'idea' +} + +project.ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast", + "src/main/jastadd/reusable/dg/DependencyGraph.relast", + "src/main/jastadd/reusable/CommentToDG.relast"] + +apply from: '../solve/gradle-parts/01-inc-flush.gradle' + +apply from: '../solve/gradle-parts/02-base.gradle' + +apply from: '../solve/gradle-parts/03-rel-relast.gradle' diff --git a/relast-reusable-flush/jastadd_modules b/relast-reusable-flush/jastadd_modules new file mode 100644 index 0000000000000000000000000000000000000000..b1c7ae2e1600ce3530b8daa89ed0d2e5297812f8 --- /dev/null +++ b/relast-reusable-flush/jastadd_modules @@ -0,0 +1,13 @@ +module("solve") { + jastadd { + basedir "src/" + include "main/jastadd/base/**/*.ast" + include "main/jastadd/base/**/*.jadd" + include "main/jastadd/base/**/*.jrag" + include "main/jastadd/reusable/dg/DependencyGraphReachability.jrag" + include "main/jastadd/reusable/CommentToDG.jrag" + include "main/jastadd/reusable/queriesRefined.jrag" + include "gen/jastadd/**/*.ast" + include "gen/jastadd/**/*.jadd" + } +} diff --git a/relast-reusable-flush/libs b/relast-reusable-flush/libs new file mode 120000 index 0000000000000000000000000000000000000000..8810c453ce71cee07a5f9bc4c23d35e3fb40a7c3 --- /dev/null +++ b/relast-reusable-flush/libs @@ -0,0 +1 @@ +../solve/libs \ No newline at end of file diff --git a/solve/gradle-parts/inc-flush.gradle b/relast-reusable-flush/src/gen/jastadd/.gitkeep similarity index 100% rename from solve/gradle-parts/inc-flush.gradle rename to relast-reusable-flush/src/gen/jastadd/.gitkeep diff --git a/relast-reusable-flush/src/main b/relast-reusable-flush/src/main new file mode 120000 index 0000000000000000000000000000000000000000..009e6afff58b3370e41626fcb30e244be792621d --- /dev/null +++ b/relast-reusable-flush/src/main @@ -0,0 +1 @@ +../../solve/src/main \ No newline at end of file diff --git a/relast-reusable-flush/src/test b/relast-reusable-flush/src/test new file mode 120000 index 0000000000000000000000000000000000000000..86aebbfd9eae4fb213d30a0be66b27c796277633 --- /dev/null +++ b/relast-reusable-flush/src/test @@ -0,0 +1 @@ +../../solve/src/test \ No newline at end of file diff --git a/relast-reusable-inc/build.gradle b/relast-reusable-inc/build.gradle index 9b02e1faaaa51a1d0fbab15a66000287a6f5d1dd..bb719dccc27a3aaf93a5177310eb0d13033232f2 100644 --- a/relast-reusable-inc/build.gradle +++ b/relast-reusable-inc/build.gradle @@ -16,8 +16,8 @@ project.ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast", "src/main/jastadd/reusable/dg/DependencyGraph.relast", "src/main/jastadd/reusable/CommentToDG.relast"] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-incremental.gradle' -apply from: '../solve/gradle-parts/inc-incremental.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-relast.gradle' +apply from: '../solve/gradle-parts/03-rel-relast.gradle' diff --git a/relast-xml-flush/build.gradle b/relast-xml-flush/build.gradle index cf5bca341b3400c1a12cc56fc829042a08085e04..d9215febff0607a440fda5536925ed37fe4eb9d7 100644 --- a/relast-xml-flush/build.gradle +++ b/relast-xml-flush/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-flush.gradle' -apply from: '../solve/gradle-parts/inc-flush.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-relast.gradle' +apply from: '../solve/gradle-parts/03-rel-relast.gradle' diff --git a/relast-xml-inc/build.gradle b/relast-xml-inc/build.gradle index ac6352f69116f114e5c0557c4b271b6f1f68f8e0..851c96e148ed22f71ee719764faa7baa9bda15ae 100644 --- a/relast-xml-inc/build.gradle +++ b/relast-xml-inc/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-incremental.gradle' -apply from: '../solve/gradle-parts/inc-incremental.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-relast.gradle' +apply from: '../solve/gradle-parts/03-rel-relast.gradle' diff --git a/settings.gradle b/settings.gradle index ba25857cff1ac0301b90839d0045490544f45076..666aad8493328e2ada80e8b2ec637599cb1d268f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,7 @@ include ':solve' include ':namelookup-xml-flush' include ':namelookup-xml-inc' +include ':relast-reusable-flush' include ':relast-reusable-inc' include ':relast-xml-flush' include ':relast-xml-inc' diff --git a/solution.ini b/solution.ini index d5652e8e5561d57839265654a20c69e400290131..650fde118f552c700be76a56724915d998d710b1 100644 --- a/solution.ini +++ b/solution.ini @@ -3,5 +3,5 @@ default=echo "It is already built" skipTests=echo "It is already built" [run] -Q1=bin/solve -Q2=bin/solve +Q1=java -Xms6G -Xmx6G -jar bin/solve.jar +Q2=java -Xms6G -Xmx6G -jar bin/solve.jar diff --git a/solve/README-for-TTC-repo.md b/solve/README-for-TTC-repo.md new file mode 100644 index 0000000000000000000000000000000000000000..8781e4c6d84d46ad9b48b304f8184c712634c0a8 --- /dev/null +++ b/solve/README-for-TTC-repo.md @@ -0,0 +1 @@ +The sources for all JastAdd solutions can be found in a [separate repository](https://git-st.inf.tu-dresden.de/stgroup/ttc18live). diff --git a/solve/build.gradle b/solve/build.gradle index ac6352f69116f114e5c0557c4b271b6f1f68f8e0..24d0deba194e27ccb319509d871d937928c41644 100644 --- a/solve/build.gradle +++ b/solve/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"] -apply from: '../solve/gradle-parts/base.gradle' +apply from: 'gradle-parts/01-inc-incremental.gradle' -apply from: '../solve/gradle-parts/inc-incremental.gradle' +apply from: 'gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-relast.gradle' +apply from: 'gradle-parts/03-rel-relast.gradle' diff --git a/solve/gradle-parts/01-inc-flush.gradle b/solve/gradle-parts/01-inc-flush.gradle new file mode 100644 index 0000000000000000000000000000000000000000..577b3eea510e2d985c09e21c578b5fa9f4ea1184 --- /dev/null +++ b/solve/gradle-parts/01-inc-flush.gradle @@ -0,0 +1,7 @@ +project.ext.extraJastAddOptions = [ + '--lineColumnNumbers', + '--cache=all', + "--flush=full", + "--incremental=none", + "--tracing=api", +] diff --git a/solve/gradle-parts/01-inc-incremental.gradle b/solve/gradle-parts/01-inc-incremental.gradle new file mode 100644 index 0000000000000000000000000000000000000000..39e8592f3522865dbc23662decfd64dfa0302dee --- /dev/null +++ b/solve/gradle-parts/01-inc-incremental.gradle @@ -0,0 +1,7 @@ +project.ext.extraJastAddOptions = [ + '--lineColumnNumbers', + '--cache=all', + "--flush=api", + "--incremental=param,debug", + "--tracing=api", +] diff --git a/solve/gradle-parts/base.gradle b/solve/gradle-parts/02-base.gradle similarity index 91% rename from solve/gradle-parts/base.gradle rename to solve/gradle-parts/02-base.gradle index 6851c021aa2a0b5aba2b438f97d5e18eebb290a5..47fbd7426daf4fbcc63f784e9469ba77d2eedbf0 100644 --- a/solve/gradle-parts/base.gradle +++ b/solve/gradle-parts/02-base.gradle @@ -26,7 +26,7 @@ dependencies { testImplementation group: 'junit', name: 'junit', version: junitVersion testImplementation group: 'org.hamcrest', name: 'hamcrest-junit', version: '1.0.0.0' testImplementation 'com.opencsv:opencsv:3.8' - testImplementation 'com.github.stefanbirkner:system-rules:1.19.0' + testImplementation 'com.github.stefanbirkner:system-lambda:1.2.0' } mainClassName = 'de.tudresden.inf.st.ttc18live.LiveContestDriverXml' @@ -74,13 +74,7 @@ jastadd { buildInfoDir = 'src/gen-res' // default options are: '--rewrite=cnta', '--safeLazy', '--visitCheck=false', '--cacheCycle=false' - extraJastAddOptions = [ - '--lineColumnNumbers', - '--cache=all', - "--flush=api", - "--incremental=param,debug", - "--tracing=api", - ] + extraJastAddOptions = project.ext.extraJastAddOptions } cleanGen.doFirst { diff --git a/solve/gradle-parts/inc-incremental.gradle b/solve/gradle-parts/03-rel-namelookup.gradle similarity index 100% rename from solve/gradle-parts/inc-incremental.gradle rename to solve/gradle-parts/03-rel-namelookup.gradle diff --git a/solve/gradle-parts/rel-relast.gradle b/solve/gradle-parts/03-rel-relast.gradle similarity index 100% rename from solve/gradle-parts/rel-relast.gradle rename to solve/gradle-parts/03-rel-relast.gradle diff --git a/solve/gradle-parts/rel-namelookup.gradle b/solve/gradle-parts/rel-namelookup.gradle deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/solve/src/main/java/de/tudresden/inf/st/ttc18live/LiveContestDriverXml.java b/solve/src/main/java/de/tudresden/inf/st/ttc18live/LiveContestDriverXml.java index b68d0d5d74414e2d049f38b0ec1f31352fd346d2..0a028bde316e4d6a6eb1a0706263bdab825bb975 100644 --- a/solve/src/main/java/de/tudresden/inf/st/ttc18live/LiveContestDriverXml.java +++ b/solve/src/main/java/de/tudresden/inf/st/ttc18live/LiveContestDriverXml.java @@ -21,8 +21,9 @@ public class LiveContestDriverXml extends AbstractLiveContestDriver { public static void main(String[] args) { LiveContestDriverXml driver = new LiveContestDriverXml(); - Path filename = Paths.get(String.format("events-xml-%s-%s.csv", driver.getChangeSet(), driver.getQuery())); - driver.enableTracing(filename).mainImpl(); +// Path filename = Paths.get(String.format("events-emf-%s-%s.csv", driver.getChangeSet(), driver.getQuery())); +// driver.enableTracing(filename).mainImpl(); + driver.mainImpl(); } private XmlToJastaddTranslator translator = new XmlToJastaddTranslator(); diff --git a/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AbstractAllTest.java b/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AbstractAllTest.java index b145a7df0138fbe8866e9d4f6a6212aad530a404..931b3b82271d1fb2e8969a780c767cf451d408f2 100644 --- a/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AbstractAllTest.java +++ b/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AbstractAllTest.java @@ -1,11 +1,13 @@ package de.tudresden.inf.st.ttc18live.test; +import com.github.stefanbirkner.systemlambda.Statement; +import com.github.stefanbirkner.systemlambda.SystemLambda; import com.opencsv.CSVReader; import de.tudresden.inf.st.ttc18live.AbstractLiveContestDriver; import de.tudresden.inf.st.ttc18live.LiveContestDriverXml; import org.junit.*; -import org.junit.contrib.java.lang.system.EnvironmentVariables; -import org.junit.contrib.java.lang.system.SystemOutRule; +//import org.junit.contrib.java.lang.system.EnvironmentVariables; +//import org.junit.contrib.java.lang.system.SystemOutRule; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -23,9 +25,9 @@ import java.util.*; */ @RunWith(Parameterized.class) public abstract class AbstractAllTest { - @Rule - public final EnvironmentVariables environmentVariables = new EnvironmentVariables(); - @Rule public final SystemOutRule systemOutRule = new SystemOutRule().enableLog(); +// @Rule +// public final EnvironmentVariables environmentVariables = new EnvironmentVariables(); +// @Rule public final SystemOutRule systemOutRule = new SystemOutRule().enableLog(); private final static int maxSequence = 5; private final static Path modelsPath = Paths.get("src", "test", "resources", "models"); @@ -74,11 +76,12 @@ public abstract class AbstractAllTest { } } - private void setVars() { - environmentVariables.set("ChangeSet", Integer.toString(size)); - environmentVariables.set("ChangePath", modelsPath.resolve(Integer.toString(size)).toFile().getAbsolutePath()); - environmentVariables.set("Sequences", Integer.toString(maxSequence)); - environmentVariables.set("Query", "Q" + query); + private void withVars(Statement statement) throws Exception { + SystemLambda.withEnvironmentVariable("ChangeSet", Integer.toString(size)) + .and("ChangePath", modelsPath.resolve(Integer.toString(size)).toFile().getAbsolutePath()) + .and("Sequences", Integer.toString(maxSequence)) + .and("Query", "Q" + query) + .execute(statement); } private AbstractLiveContestDriver driver; @@ -87,23 +90,19 @@ public abstract class AbstractAllTest { this.query = query; this.size = size; this.localExpected = expected.get(query).get(size); - setVars(); - } - - @Before - public void setupDriver() { - driver = createDriver(); } abstract AbstractLiveContestDriver createDriver(); @Test - public void test() { + public void test() throws Exception { System.out.println(query + "," + size + ":" + expected.get(query).get(size)); - systemOutRule.clearLog(); - driver.mainImpl(); + String systemOut = SystemLambda.tapSystemOut(() -> withVars(() -> { + driver = createDriver(); + driver.mainImpl(); + })); Map<Integer, String> actual = new HashMap<>(); - for (String line : systemOutRule.getLog().split("\n")) { + for (String line : systemOut.split("\n")) { String[] tokens = line.split(";"); if ("Elements".equals(tokens[6])) { int iteration = Integer.parseInt(tokens[4]); diff --git a/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AllEmfTest.java b/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AllEmfTest.java index 9859238d9b140f205bac45a115971ff4d65e6a88..e57dda5758894c4351121c2bba0000f825e119ae 100644 --- a/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AllEmfTest.java +++ b/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AllEmfTest.java @@ -16,11 +16,6 @@ public class AllEmfTest extends AbstractAllTest { @Override AbstractLiveContestDriver createDriver() { - return new LiveContestDriverEMF() { -// @Override -// public void Initial() { -// // do nothing (i.e. do not throw an Exception) -// } - }; + return new LiveContestDriverEMF(); } } diff --git a/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AllXmlTest.java b/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AllXmlTest.java index 8ae095e24e20619c29734ec07a2df98229d2fd15..c3bb53cbbdd1b6e7000016382dbc5c2c264af165 100644 --- a/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AllXmlTest.java +++ b/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/AllXmlTest.java @@ -1,23 +1,7 @@ package de.tudresden.inf.st.ttc18live.test; -import com.opencsv.CSVReader; import de.tudresden.inf.st.ttc18live.AbstractLiveContestDriver; import de.tudresden.inf.st.ttc18live.LiveContestDriverXml; -import org.junit.*; -import org.junit.contrib.java.lang.system.EnvironmentVariables; -import org.junit.contrib.java.lang.system.SystemOutRule; -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; /** * Test against given expected query results using XML solution. diff --git a/timedBenchmark.sh b/timedBenchmark.sh index b509203719612ae46d7da376bd77598474c42a3a..c734c78952b6c92c4b67bffa7d1b5381e0ad364d 100755 --- a/timedBenchmark.sh +++ b/timedBenchmark.sh @@ -2,5 +2,4 @@ project=$1 query=$2 size=$3 -./gradlew :${project}:installDist -ChangeSet=$size ChangePath=solve/src/test/resources/models/$size/ Sequences=20 Query=Q$query java -jar $project/build/libs/solve-1.0-SNAPSHOT.jar +ChangeSet=$size ChangePath=solve/src/test/resources/models/$size/ Sequences=20 Query=Q$query java -jar "$project/build/libs/solve-1.0-SNAPSHOT.jar"