From a3c4f3ed48e24873461daca126a69530cf53ae14 Mon Sep 17 00:00:00 2001 From: Gero Lueckemeyer <gero.lueckemeyer@hft-stuttgart.de> Date: Fri, 27 Oct 2023 23:27:47 +0200 Subject: [PATCH] BREAKING: added competency assessment result fields --- Dockerfile | 32 +++++++++---------- .../java/de/hftstuttgart/dta/Testrunner.java | 12 +++++-- .../de/hftstuttgart/dta/model/Result.java | 2 ++ .../hftstuttgart/dta/model/ResultSummary.java | 2 ++ 4 files changed, 29 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7733b95..a7ece2a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,25 @@ FROM amazoncorretto:17.0.3-alpine as corretto-jdk -env BASEDIR /data -env TESTDIR $BASEDIR/test -env SOURCEDIR $BASEDIR/src -env RESULTDIR $BASEDIR/result -env LIBSDIR $BASEDIR/libs +ENV BASEDIR /data +ENV TESTDIR $BASEDIR/test +ENV SOURCEDIR $BASEDIR/src +ENV RESULTDIR $BASEDIR/result +ENV LIBSDIR $BASEDIR/libs -run mkdir -p $TESTDIR \ +RUN mkdir -p $TESTDIR \ && mkdir $SOURCEDIR \ && mkdir $RESULTDIR \ && mkdir -p /$LIBSDIR/additional -add target/dta-jdk17-junit5-runner-jar-with-dependencies.jar /$BASEDIR/app.jar -add https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar /$LIBSDIR/ -add https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar /$LIBSDIR/ -add https://repo1.maven.org/maven2/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar /$LIBSDIR/ -add https://repo1.maven.org/maven2/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar /$LIBSDIR/ -add https://repo1.maven.org/maven2/org/junit/platform/junit-platform-launcher/1.10.0/junit-platform-launcher-1.10.0.jar /$LIBSDIR/ -add https://repo1.maven.org/maven2/org/apiguardian/apiguardian-api/1.1.1/apiguardian-api-1.1.1.jar /$LIBSDIR/ -add https://repo1.maven.org/maven2/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar /$LIBSDIR/ +ADD target/dta-jdk17-junit5-runner-jar-with-dependencies.jar /$BASEDIR/app.jar +ADD https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-api/5.10.0/junit-jupiter-api-5.10.0.jar /$LIBSDIR/ +ADD https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-engine/5.10.0/junit-jupiter-engine-5.10.0.jar /$LIBSDIR/ +ADD https://repo1.maven.org/maven2/org/junit/platform/junit-platform-engine/1.10.0/junit-platform-engine-1.10.0.jar /$LIBSDIR/ +ADD https://repo1.maven.org/maven2/org/junit/platform/junit-platform-commons/1.10.0/junit-platform-commons-1.10.0.jar /$LIBSDIR/ +ADD https://repo1.maven.org/maven2/org/junit/platform/junit-platform-launcher/1.10.0/junit-platform-launcher-1.10.0.jar /$LIBSDIR/ +ADD https://repo1.maven.org/maven2/org/apiguardian/apiguardian-api/1.1.1/apiguardian-api-1.1.1.jar /$LIBSDIR/ +ADD https://repo1.maven.org/maven2/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar /$LIBSDIR/ -workdir $BASEDIR +WORKDIR $BASEDIR -entrypoint java -Djava.security.egd=file:/dev/./urandom -jar /$BASEDIR/app.jar "$SOURCEDIR/src:$TESTDIR/test" "$LIBSDIR/*:$TESTDIR/libs/*" $RESULTDIR +ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar /$BASEDIR/app.jar "$SOURCEDIR/src:$TESTDIR/test" "$LIBSDIR/*:$TESTDIR/libs/*" $RESULTDIR diff --git a/src/main/java/de/hftstuttgart/dta/Testrunner.java b/src/main/java/de/hftstuttgart/dta/Testrunner.java index d7503d7..031fd9c 100644 --- a/src/main/java/de/hftstuttgart/dta/Testrunner.java +++ b/src/main/java/de/hftstuttgart/dta/Testrunner.java @@ -34,8 +34,8 @@ import java.util.*; import java.util.logging.Level; import java.util.logging.LogManager; import java.util.logging.Logger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; +//import java.util.regex.Matcher; +//import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -220,7 +220,9 @@ public class Testrunner // // result.name = (matcher.matches() && matcher.group(1) != null) ? matcher.group(1) : String.valueOf(e.getSource()); String sourcePath=String.valueOf(e.getSource()); - result.name=sourcePath.substring(sourcePath.lastIndexOf(File.separator)+1, sourcePath.length()-1); + result.packageName=sourcePath.substring(sourcePath.lastIndexOf(File.separator)-1); + result.className=sourcePath.substring(sourcePath.lastIndexOf(File.separator)+1, sourcePath.length()-1); + result.name=result.className; result.state = Result.State.COMPILATIONERROR.ordinal(); result.failureReason = e.getMessage(Locale.ENGLISH); result.failureType = "Compilation Failed"; @@ -254,6 +256,8 @@ public class Testrunner resultSummary.results.addAll(successes.stream().map(s -> { Result result = new Result(); + result.packageName=s.getClass().getPackageName(); + result.className=s.getClass().getName(); result.name = s.getDisplayName(); result.state = Result.State.SUCCESS.ordinal(); @@ -264,6 +268,8 @@ public class Testrunner resultSummary.results.addAll(summary.getFailures().stream().map(f -> { Result result = new Result(); + result.packageName=f.getTestIdentifier().getClass().getPackageName(); + result.className=f.getTestIdentifier().getClass().getName(); result.name = f.getTestIdentifier().getDisplayName(); result.state = Result.State.FAILURE.ordinal(); diff --git a/src/main/java/de/hftstuttgart/dta/model/Result.java b/src/main/java/de/hftstuttgart/dta/model/Result.java index 8432c66..34345f0 100644 --- a/src/main/java/de/hftstuttgart/dta/model/Result.java +++ b/src/main/java/de/hftstuttgart/dta/model/Result.java @@ -2,6 +2,8 @@ package de.hftstuttgart.dta.model; public class Result { + public String packageName; + public String className; public String name; public int state; diff --git a/src/main/java/de/hftstuttgart/dta/model/ResultSummary.java b/src/main/java/de/hftstuttgart/dta/model/ResultSummary.java index 295af95..e583390 100644 --- a/src/main/java/de/hftstuttgart/dta/model/ResultSummary.java +++ b/src/main/java/de/hftstuttgart/dta/model/ResultSummary.java @@ -7,5 +7,7 @@ public class ResultSummary { public long timestamp = System.currentTimeMillis() / 1000; public String globalStacktrace = null; + public float[] successfulTestCompetencyProfile; + public float[] overallTestCompetencyProfile; public Set<Result> results = new HashSet<>(); } -- GitLab