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
