diff --git a/tests/test-http-client-transport/pom.xml b/tests/test-http-client-transport/pom.xml
index e58686350731..f356289bc601 100644
--- a/tests/test-http-client-transport/pom.xml
+++ b/tests/test-http-client-transport/pom.xml
@@ -13,9 +13,23 @@
${project.groupId}.client.http
+ false
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+ ${h3.test.enabled}
+
+
+
+
+
org.apache.maven.plugins
diff --git a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/TransportProvider.java b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/TransportProvider.java
index a857e58380b8..ae64567e7f0b 100644
--- a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/TransportProvider.java
+++ b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/TransportProvider.java
@@ -14,6 +14,7 @@
package org.eclipse.jetty.http.client;
import java.util.Arrays;
+import java.util.EnumSet;
import java.util.stream.Stream;
import org.eclipse.jetty.util.StringUtil;
@@ -30,7 +31,11 @@ public static Stream getActiveTransports()
if (!StringUtil.isBlank(transports))
return Arrays.stream(transports.split("\\s*,\\s*")).map(Transport::valueOf);
- return Arrays.stream(Transport.values());
+ EnumSet ts = EnumSet.allOf(Transport.class);
+ // Disable H3 tests unless explicitly enabled with a system property.
+ if (!Boolean.getBoolean(Transport.class.getName() + ".H3.enable"))
+ ts.remove(Transport.H3);
+ return ts.stream();
}
@Override