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 068c3dcf71169d4b99abd5370c2cbc5ef43ee9e8
Author: Markus Jung <[email protected]>
AuthorDate: Sun Jul 19 21:09:12 2026 +0200

    Keep port 8080 free for the rest runner's SeBootstrap tests
    
    SeBootstrapIT boots an embedded Jetty on the SeBootstrap default port the
    spec mandates (8080) and cannot be pointed elsewhere. Inside each CI 
branch's
    private network namespace 8080 is free, so the port selector handed it to
    TomEE and the two default-port tests failed to bind.
    
    Reserve 8080 for the rest runner so TomEE selects around it, and keep the
    reserved port out of every other selection's avoid list so an upward scan
    cannot land on it either.
---
 runner-standalone/README.md               |  5 +++++
 runner-standalone/run-standalone-suite.sh | 20 +++++++++++++++-----
 2 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/runner-standalone/README.md b/runner-standalone/README.md
index b920ec9..30e0e5c 100644
--- a/runner-standalone/README.md
+++ b/runner-standalone/README.md
@@ -29,6 +29,11 @@ deployments. `tck.derby.port` propagates into the staged 
`tomee.xml`
 datasources, so a full side-by-side run overrides it together with the
 TomEE ports.
 
+The `rest` runner reserves port 8080 for the TCK instead of giving it to
+TomEE. Its `SeBootstrapIT` tests boot their own embedded Jetty on the
+SeBootstrap default port the spec mandates and cannot be pointed elsewhere,
+so the runner selects TomEE's HTTP port around 8080 and leaves it free.
+
 `TOMEE_CLASSIFIER` selects the distribution, default `plume`. The default
 Maven build compiles these modules but runs nothing; execution requires
 `-Dtck.standalone=true` (the script passes it).
diff --git a/runner-standalone/run-standalone-suite.sh 
b/runner-standalone/run-standalone-suite.sh
index ecfed2b..75aea95 100755
--- a/runner-standalone/run-standalone-suite.sh
+++ b/runner-standalone/run-standalone-suite.sh
@@ -80,33 +80,43 @@ case "$ID" in
   # annotations, di, el, jsonp, jsonb, debugging: no ports.
 esac
 
+# Ports no selection may hand out, whatever else is free. The rest runner's
+# SeBootstrap tests boot their own embedded Jetty on the SeBootstrap default
+# port the spec mandates (8080) and cannot be pointed elsewhere, so TomEE must
+# not take it: inside the branch's private network namespace 8080 is otherwise
+# free and the selector's preferred pick would collide with the test server.
+RESERVED=
+case "$ID" in
+  rest) RESERVED=8080 ;;
+esac
+
 selected=no
 if [ "$NEED_TOMEE" = yes ] || [ "$NEED_HTTP_ONLY" = yes ]; then
   HTTP=$(arg_value -Dtomee.http.port= "$@")
   if [ -z "$HTTP" ]; then
-    HTTP=$(sh "$SELECT_PORT" 8080); set -- "$@" "-Dtomee.http.port=$HTTP"; 
selected=yes
+    HTTP=$(sh "$SELECT_PORT" 8080 $RESERVED); set -- "$@" 
"-Dtomee.http.port=$HTTP"; selected=yes
   fi
 fi
 if [ "$NEED_TOMEE" = yes ]; then
   HTTPS=$(arg_value -Dtomee.https.port= "$@")
   if [ -z "$HTTPS" ]; then
-    HTTPS=$(sh "$SELECT_PORT" 8443 ${HTTP:-}); set -- "$@" 
"-Dtomee.https.port=$HTTPS"; selected=yes
+    HTTPS=$(sh "$SELECT_PORT" 8443 $RESERVED ${HTTP:-}); set -- "$@" 
"-Dtomee.https.port=$HTTPS"; selected=yes
   fi
   SHUTDOWN=$(arg_value -Dtomee.shutdown.port= "$@")
   if [ -z "$SHUTDOWN" ]; then
-    SHUTDOWN=$(sh "$SELECT_PORT" 8005 ${HTTP:-} ${HTTPS:-}); set -- "$@" 
"-Dtomee.shutdown.port=$SHUTDOWN"; selected=yes
+    SHUTDOWN=$(sh "$SELECT_PORT" 8005 $RESERVED ${HTTP:-} ${HTTPS:-}); set -- 
"$@" "-Dtomee.shutdown.port=$SHUTDOWN"; selected=yes
   fi
 fi
 if [ "$NEED_DERBY" = yes ]; then
   DERBY=$(arg_value -Dtck.derby.port= "$@")
   if [ -z "$DERBY" ]; then
-    DERBY=$(sh "$SELECT_PORT" 1527 ${HTTP:-} ${HTTPS:-} ${SHUTDOWN:-}); set -- 
"$@" "-Dtck.derby.port=$DERBY"; selected=yes
+    DERBY=$(sh "$SELECT_PORT" 1527 $RESERVED ${HTTP:-} ${HTTPS:-} 
${SHUTDOWN:-}); set -- "$@" "-Dtck.derby.port=$DERBY"; selected=yes
   fi
 fi
 if [ "$NEED_HARNESS" = yes ]; then
   HARNESS=$(arg_value -Dtck.harness.log.port= "$@")
   if [ -z "$HARNESS" ]; then
-    HARNESS=$(sh "$SELECT_PORT" "$HARNESS_PREF" ${HTTP:-} ${HTTPS:-} 
${SHUTDOWN:-} ${DERBY:-}); set -- "$@" "-Dtck.harness.log.port=$HARNESS"; 
selected=yes
+    HARNESS=$(sh "$SELECT_PORT" "$HARNESS_PREF" $RESERVED ${HTTP:-} ${HTTPS:-} 
${SHUTDOWN:-} ${DERBY:-}); set -- "$@" "-Dtck.harness.log.port=$HARNESS"; 
selected=yes
   fi
 fi
 if [ "$selected" = yes ]; then

Reply via email to