You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ju...@apache.org on 2026/07/18 18:37:33 UTC
(tomee-tck) 06/10: Derive the standalone runner module list and reuse the prebuilt reactor
This is an automated email from the ASF dual-hosted git repository.
jungm pushed a commit to branch ee11
in repository https://gitbox.apache.org/repos/asf/tomee-tck.git
commit e4fd6f5487f3aff3bdea127ef7f46a06bfde7588
Author: Markus Jung <ju...@apache.org>
AuthorDate: Sat Jul 18 20:27:49 2026 +0200
Derive the standalone runner module list and reuse the prebuilt reactor
---
runner-standalone/run-standalone-suite.sh | 52 ++++++++++---------------------
runner-webprofile/run-platform-suite.sh | 6 +++-
2 files changed, 22 insertions(+), 36 deletions(-)
diff --git a/runner-standalone/run-standalone-suite.sh b/runner-standalone/run-standalone-suite.sh
index 9da439e..c5b28e6 100755
--- a/runner-standalone/run-standalone-suite.sh
+++ b/runner-standalone/run-standalone-suite.sh
@@ -11,9 +11,9 @@
#
# Container-based runners default to ports 8080/8443/8005/1527; run one at
# a time. -Dtck.derby.port overrides the Derby port everywhere, and the
-# concurrency, data, servlet, validation, cdi, cdi-ee, pages, rest,
-# websocket, and transactions runners also honor -Dtomee.http.port/
-# -Dtomee.https.port/-Dtomee.shutdown.port for side-by-side runs. Use them
+# container-based runners honor -Dtomee.http.port/-Dtomee.https.port/
+# -Dtomee.shutdown.port for side-by-side runs (the security, authentication,
+# and faces source reactors still assume the fixed ports). Use the overrides
# whenever anything else may hold 8080: the Arquillian adapter silently
# attaches to any server already on the port.
# TOMEE_CLASSIFIER selects the distribution (default: plume).
@@ -40,44 +40,26 @@ EOF
exit 2
}
+# A runner id maps to its module directory, preceded by its <id>-install
+# twin when one exists. The source-reactor runners manage their own TomEE
+# and need the full Maven lifecycle up to verify for their invoker/JavaTest
+# runs; everything else stops at test.
+GOAL=test
case "$ID" in
- '') usage ;;
- annotations)
- MODULES="runner-standalone/annotations-install,runner-standalone/annotations" ;;
- di)
- MODULES="runner-standalone/di-install,runner-standalone/di" ;;
- el)
- MODULES="runner-standalone/el-install,runner-standalone/el" ;;
- persistence)
- MODULES="runner-standalone/persistence-install,runner-standalone/persistence" ;;
- servlet)
- MODULES="runner-standalone/servlet-install,runner-standalone/servlet" ;;
- pages)
- MODULES="runner-standalone/pages-install,runner-standalone/pages" ;;
- rest)
- MODULES="runner-standalone/rest-install,runner-standalone/rest" ;;
- validation)
- MODULES="runner-standalone/validation-install,runner-standalone/validation" ;;
- websocket)
- MODULES="runner-standalone/websocket-install,runner-standalone/websocket" ;;
- debugging)
- MODULES="runner-standalone/debugging-install,runner-standalone/debugging" ;;
- concurrency|data|cdi|cdi-ee|jsonp|jsonb)
- MODULES="runner-standalone/$ID" ;;
+ ''|*-install|tck-common|exclusions|*/*|.*) usage ;;
security|authentication|faces|faces-old|transactions)
- # These TCK reactors manage their own TomEE; they need the full Maven
- # lifecycle up to verify for their invoker/JavaTest runs.
- shift
- exec "$ROOT_DIR/mvnw" -B -ntp \
- -pl "runner-standalone/$ID" -am \
- -Dtck.standalone=true \
- verify "$@" ;;
- *) usage ;;
+ GOAL=verify ;;
esac
+[ -f "$SCRIPT_DIR/$ID/pom.xml" ] || usage
+
+MODULES="runner-standalone/$ID"
+if [ -f "$SCRIPT_DIR/$ID-install/pom.xml" ]; then
+ MODULES="runner-standalone/$ID-install,$MODULES"
+fi
shift
exec "$ROOT_DIR/mvnw" -B -ntp \
-pl "$MODULES" -am \
-Dtck.standalone=true \
"-Dtomee.classifier=$TOMEE_CLASSIFIER" \
- test "$@"
+ "$GOAL" "$@"
diff --git a/runner-webprofile/run-platform-suite.sh b/runner-webprofile/run-platform-suite.sh
index dab9e8c..3d022a9 100755
--- a/runner-webprofile/run-platform-suite.sh
+++ b/runner-webprofile/run-platform-suite.sh
@@ -27,6 +27,10 @@ if [ "$PROTOCOL" != "servlet" ] && [ "$PROTOCOL" != "javatest" ]; then
exit 2
fi
+# Build the shared modules once so the per-partition runs can skip -am and
+# not rebuild the unchanged reactor every iteration.
+"$ROOT_DIR/mvnw" -B -ntp -pl tomee-porting -am install </dev/null
+
TAB=$(printf '\t')
while IFS="$TAB" read -r partition artifact protocol groups source_classes expected_classes test_pattern; do
case "$partition" in
@@ -44,7 +48,7 @@ while IFS="$TAB" read -r partition artifact protocol groups source_classes expec
report_dir="$SCRIPT_DIR/run/target/failsafe-reports/$partition"
rm -rf "$report_dir"
"$ROOT_DIR/mvnw" \
- -pl runner-webprofile/run -am \
+ -pl runner-webprofile/run \
"-Dtomee.classifier=$TOMEE_CLASSIFIER" \
"-Dtck.artifact=$artifact" \
"-Dtck.partition=$partition" \