This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/8.5.x by this push:
     new 90b1f0602e Disable class path scanning generally for unit tests
90b1f0602e is described below

commit 90b1f0602e651da77d2e24d90528fa84615cd31b
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Mon Dec 4 21:55:45 2023 +0000

    Disable class path scanning generally for unit tests
---
 .../servlet/annotation/TestServletSecurity.java    |  2 +-
 test/javax/servlet/http/TestHttpServlet.java       | 10 ++--
 .../http/TestHttpServletResponseSendError.java     |  2 +-
 .../TestDigestAuthenticatorAlgorithms.java         |  2 +-
 .../catalina/connector/TestClientReadTimeout.java  |  2 +-
 .../catalina/connector/TestCoyoteAdapter.java      |  6 +--
 .../org/apache/catalina/connector/TestRequest.java |  6 +--
 .../apache/catalina/connector/TestResponse.java    |  6 +--
 .../catalina/core/TestApplicationContext.java      |  2 +-
 .../catalina/core/TestApplicationFilterConfig.java |  2 +-
 .../catalina/core/TestApplicationHttpRequest.java  |  4 +-
 .../apache/catalina/core/TestAsyncContextImpl.java | 58 ++++++++++-----------
 .../core/TestAsyncContextImplDispatch.java         |  2 +-
 .../TestAsyncContextImplListenerOnComplete.java    |  2 +-
 .../core/TestAsyncContextStateChanges.java         |  2 +-
 .../catalina/core/TestNamingContextListener.java   |  4 +-
 .../core/TestPropertiesRoleMappingListener.java    |  2 +-
 .../apache/catalina/core/TestStandardContext.java  |  6 +--
 .../catalina/core/TestStandardContextAliases.java  |  2 +-
 .../catalina/core/TestStandardContextValve.java    |  6 +--
 .../catalina/core/TestStandardHostValve.java       |  8 +--
 .../apache/catalina/core/TestStandardWrapper.java  |  6 +--
 .../catalina/filters/TestAddCharSetFilter.java     |  2 +-
 .../TestWebappClassLoaderExecutorMemoryLeak.java   |  2 +-
 .../loader/TestWebappClassLoaderMemoryLeak.java    |  2 +-
 ...TestWebappClassLoaderThreadLocalMemoryLeak.java |  4 +-
 .../catalina/nonblocking/TestNonBlockingAPI.java   | 18 +++----
 .../session/TestPersistentManagerIntegration.java  |  6 +--
 .../session/TestStandardSessionIntegration.java    |  2 +-
 test/org/apache/catalina/startup/TestListener.java |  4 +-
 test/org/apache/catalina/startup/TestTomcat.java   | 10 ++--
 .../catalina/startup/TestTomcatClassLoader.java    |  4 +-
 .../apache/catalina/startup/TomcatBaseTest.java    | 10 ++++
 .../apache/catalina/valves/TestAccessLogValve.java |  2 +-
 .../catalina/valves/TestErrorReportValve.java      | 10 ++--
 .../catalina/valves/rewrite/TestRewriteValve.java  |  2 +-
 test/org/apache/coyote/TestResponse.java           |  4 +-
 .../coyote/ajp/TestAbstractAjpProcessor.java       | 16 +++---
 .../coyote/http11/TestHttp11InputBuffer.java       |  2 +-
 .../coyote/http11/TestHttp11OutputBuffer.java      |  4 +-
 .../apache/coyote/http11/TestHttp11Processor.java  | 60 +++++++++++-----------
 .../http11/filters/TestChunkedInputFilter.java     | 12 ++---
 .../apache/coyote/http11/upgrade/TestUpgrade.java  |  2 +-
 .../http11/upgrade/TestUpgradeInternalHandler.java |  2 +-
 test/org/apache/coyote/http2/Http2TestBase.java    |  2 +-
 test/org/apache/coyote/http2/TestAsync.java        |  2 +-
 test/org/apache/coyote/http2/TestAsyncError.java   |  2 +-
 test/org/apache/coyote/http2/TestAsyncFlush.java   |  2 +-
 test/org/apache/coyote/http2/TestAsyncTimeout.java |  2 +-
 .../apache/coyote/http2/TestCancelledUpload.java   |  2 +-
 .../coyote/http2/TestHttp2UpgradeHandler.java      |  6 +--
 test/org/apache/coyote/http2/TestLargeUpload.java  |  2 +-
 test/org/apache/coyote/http2/TestStream.java       |  2 +-
 .../apache/coyote/http2/TestStreamProcessor.java   |  6 +--
 .../apache/coyote/http2/TestStreamQueryString.java |  2 +-
 test/org/apache/naming/TestNamingContext.java      |  2 +-
 .../apache/naming/resources/TestNamingContext.java | 10 ++--
 .../http/TestCookieProcessorGenerationHttp.java    |  2 +-
 .../tomcat/util/net/TestSSLHostConfigCompat.java   |  2 +-
 test/org/apache/tomcat/util/net/TestSsl.java       |  2 +-
 .../tomcat/websocket/TestConnectionLimit.java      |  2 +-
 .../tomcat/websocket/TestWebSocketFrameClient.java |  4 +-
 .../websocket/TestWebSocketFrameClientSSL.java     |  4 +-
 .../tomcat/websocket/TestWsPingPongMessages.java   |  2 +-
 .../tomcat/websocket/TestWsRemoteEndpoint.java     |  4 +-
 .../websocket/TestWsSessionSuspendResume.java      |  2 +-
 .../tomcat/websocket/TestWsSubprotocols.java       |  2 +-
 .../tomcat/websocket/TestWsWebSocketContainer.java | 18 +++----
 .../TestWsWebSocketContainerGetOpenSessions.java   |  2 +-
 .../websocket/TestWsWebSocketContainerSSL.java     |  2 +-
 ...WsWebSocketContainerSessionExpiryContainer.java |  2 +-
 ...stWsWebSocketContainerSessionExpirySession.java |  2 +-
 .../TestWsWebSocketContainerTimeoutClient.java     |  2 +-
 .../TestWsWebSocketContainerTimeoutServer.java     |  2 +-
 .../websocket/TesterWebSocketClientProxy.java      |  2 +-
 .../apache/tomcat/websocket/WebSocketBaseTest.java |  2 +-
 .../websocket/pojo/TestEncodingDecoding.java       | 12 ++---
 .../websocket/pojo/TestPojoEndpointBase.java       |  4 +-
 .../websocket/pojo/TestPojoMethodMapping.java      |  2 +-
 .../tomcat/websocket/server/TestClassLoader.java   |  2 +-
 .../tomcat/websocket/server/TestCloseBug58624.java |  2 +-
 .../tomcat/websocket/server/TestShutdown.java      |  2 +-
 .../tomcat/websocket/server/TestSlowClient.java    |  2 +-
 .../server/TestWsRemoteEndpointImplServer.java     |  2 +-
 .../TestWsRemoteEndpointImplServerDeadlock.java    |  2 +-
 .../websocket/server/TestWsServerContainer.java    |  4 +-
 86 files changed, 234 insertions(+), 224 deletions(-)

diff --git a/test/javax/servlet/annotation/TestServletSecurity.java 
b/test/javax/servlet/annotation/TestServletSecurity.java
index e009069f9d..2d5099877b 100644
--- a/test/javax/servlet/annotation/TestServletSecurity.java
+++ b/test/javax/servlet/annotation/TestServletSecurity.java
@@ -50,7 +50,7 @@ public class TestServletSecurity extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "Foo", Foo.class.getName());
         ctx.addServletMappingDecoded("/foo/*", "Foo");
diff --git a/test/javax/servlet/http/TestHttpServlet.java 
b/test/javax/servlet/http/TestHttpServlet.java
index 894ecb567b..858ef334df 100644
--- a/test/javax/servlet/http/TestHttpServlet.java
+++ b/test/javax/servlet/http/TestHttpServlet.java
@@ -49,7 +49,7 @@ public class TestHttpServlet extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        StandardContext ctx = (StandardContext) tomcat.addContext("", null);
+        StandardContext ctx = (StandardContext) getProgrammaticRootContext();
 
         // Map the test Servlet
         LargeBodyServlet largeBodyServlet = new LargeBodyServlet();
@@ -90,7 +90,7 @@ public class TestHttpServlet extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        StandardContext ctx = (StandardContext) tomcat.addContext("", null);
+        StandardContext ctx = (StandardContext) getProgrammaticRootContext();
 
         Bug57602ServletOuter outer = new Bug57602ServletOuter();
         Tomcat.addServlet(ctx, "Bug57602ServletOuter", outer);
@@ -162,7 +162,7 @@ public class TestHttpServlet extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        StandardContext ctx = (StandardContext) tomcat.addContext("", null);
+        StandardContext ctx = (StandardContext) getProgrammaticRootContext();
 
         Wrapper w = Tomcat.addServlet(ctx, "TestServlet", servlet);
         // Not all need/use this but it is simpler to set it for all
@@ -219,7 +219,7 @@ public class TestHttpServlet extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        StandardContext ctx = (StandardContext) tomcat.addContext("", null);
+        StandardContext ctx = (StandardContext) getProgrammaticRootContext();
 
         // Map the test Servlet
         Tomcat.addServlet(ctx, "servlet", servlet);
@@ -300,7 +300,7 @@ public class TestHttpServlet extends TomcatBaseTest {
         tomcat.getConnector().setAllowTrace(true);
 
         // No file system docBase required
-        StandardContext ctx = (StandardContext) tomcat.addContext("", null);
+        StandardContext ctx = (StandardContext) getProgrammaticRootContext();
 
         // Map the test Servlet
         Tomcat.addServlet(ctx, "servlet", new SimpleServlet());
diff --git a/test/javax/servlet/http/TestHttpServletResponseSendError.java 
b/test/javax/servlet/http/TestHttpServletResponseSendError.java
index 8423130994..bdd7ca4879 100644
--- a/test/javax/servlet/http/TestHttpServletResponseSendError.java
+++ b/test/javax/servlet/http/TestHttpServletResponseSendError.java
@@ -130,7 +130,7 @@ public class TestHttpServletResponseSendError extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         if (async) {
             Wrapper w = Tomcat.addServlet(ctx, "target",
diff --git 
a/test/org/apache/catalina/authenticator/TestDigestAuthenticatorAlgorithms.java 
b/test/org/apache/catalina/authenticator/TestDigestAuthenticatorAlgorithms.java
index 99a1b83675..57712705ce 100644
--- 
a/test/org/apache/catalina/authenticator/TestDigestAuthenticatorAlgorithms.java
+++ 
b/test/org/apache/catalina/authenticator/TestDigestAuthenticatorAlgorithms.java
@@ -153,7 +153,7 @@ public class TestDigestAuthenticatorAlgorithms extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
 
         // Add protected servlet
         Tomcat.addServlet(ctxt, "TesterServlet", new TesterServlet());
diff --git a/test/org/apache/catalina/connector/TestClientReadTimeout.java 
b/test/org/apache/catalina/connector/TestClientReadTimeout.java
index 4b90bff6de..66a3334487 100644
--- a/test/org/apache/catalina/connector/TestClientReadTimeout.java
+++ b/test/org/apache/catalina/connector/TestClientReadTimeout.java
@@ -49,7 +49,7 @@ public class TestClientReadTimeout extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         ((StandardHost) tomcat.getHost()).setErrorReportValveClass(null);
 
diff --git a/test/org/apache/catalina/connector/TestCoyoteAdapter.java 
b/test/org/apache/catalina/connector/TestCoyoteAdapter.java
index 3fe7b0e82b..a56d685449 100644
--- a/test/org/apache/catalina/connector/TestCoyoteAdapter.java
+++ b/test/org/apache/catalina/connector/TestCoyoteAdapter.java
@@ -133,7 +133,7 @@ public class TestCoyoteAdapter extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "servlet", new PathParamServlet());
         ctx.addServletMappingDecoded("/", "servlet");
@@ -236,7 +236,7 @@ public class TestCoyoteAdapter extends TomcatBaseTest {
         tomcat.getConnector().setURIEncoding(encoding);
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         PathInfoServlet servlet = new PathInfoServlet();
         Tomcat.addServlet(ctx, "servlet", servlet);
@@ -278,7 +278,7 @@ public class TestCoyoteAdapter extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         AsyncServlet servlet = new AsyncServlet();
         Wrapper w = Tomcat.addServlet(ctx, "async", servlet);
diff --git a/test/org/apache/catalina/connector/TestRequest.java 
b/test/org/apache/catalina/connector/TestRequest.java
index 6281111228..c5fcd5d141 100644
--- a/test/org/apache/catalina/connector/TestRequest.java
+++ b/test/org/apache/catalina/connector/TestRequest.java
@@ -267,7 +267,7 @@ public class TestRequest extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add the Servlet
         Tomcat.addServlet(ctx, "servlet", new EchoQueryStringServlet());
@@ -311,7 +311,7 @@ public class TestRequest extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         LoginConfig config = new LoginConfig();
         config.setAuthMethod("BASIC");
@@ -935,7 +935,7 @@ public class TestRequest extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "servlet", new Bug61264GetReaderServlet());
         ctx.addServletMappingDecoded("/", "servlet");
diff --git a/test/org/apache/catalina/connector/TestResponse.java 
b/test/org/apache/catalina/connector/TestResponse.java
index 14c189c240..26b4e6db4c 100644
--- a/test/org/apache/catalina/connector/TestResponse.java
+++ b/test/org/apache/catalina/connector/TestResponse.java
@@ -52,7 +52,7 @@ public class TestResponse extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "servlet", new Bug49598Servlet());
         ctx.addServletMappingDecoded("/", "servlet");
@@ -108,7 +108,7 @@ public class TestResponse extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "servlet", new CharsetServlet());
         ctx.addServletMappingDecoded("/", "servlet");
@@ -147,7 +147,7 @@ public class TestResponse extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "servlet", new Bug52811Servlet());
         ctx.addServletMappingDecoded("/", "servlet");
diff --git a/test/org/apache/catalina/core/TestApplicationContext.java 
b/test/org/apache/catalina/core/TestApplicationContext.java
index c324b3f5ea..ee028bc082 100644
--- a/test/org/apache/catalina/core/TestApplicationContext.java
+++ b/test/org/apache/catalina/core/TestApplicationContext.java
@@ -184,7 +184,7 @@ public class TestApplicationContext extends TomcatBaseTest {
         Context bar = tomcat.addContext("/bar", null);
         bar.addLifecycleListener(new SetIdListener("bar"));
 
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addLifecycleListener(new SetIdListener("ROOT"));
         ctx.setCrossContext(true);
 
diff --git a/test/org/apache/catalina/core/TestApplicationFilterConfig.java 
b/test/org/apache/catalina/core/TestApplicationFilterConfig.java
index 1d5be4d28f..18d31916ea 100644
--- a/test/org/apache/catalina/core/TestApplicationFilterConfig.java
+++ b/test/org/apache/catalina/core/TestApplicationFilterConfig.java
@@ -38,7 +38,7 @@ public class TestApplicationFilterConfig extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "HelloWorld", new HelloWorldServlet());
         ctx.addServletMappingDecoded("/", "HelloWorld");
diff --git a/test/org/apache/catalina/core/TestApplicationHttpRequest.java 
b/test/org/apache/catalina/core/TestApplicationHttpRequest.java
index c13aec70c1..45a7945529 100644
--- a/test/org/apache/catalina/core/TestApplicationHttpRequest.java
+++ b/test/org/apache/catalina/core/TestApplicationHttpRequest.java
@@ -182,7 +182,7 @@ public class TestApplicationHttpRequest extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         if (forwardQueryString == null) {
             Tomcat.addServlet(ctx, "forward", new ForwardServlet("/display"));
@@ -216,7 +216,7 @@ public class TestApplicationHttpRequest extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "forward", new ForwardServlet("/modify"));
         ctx.addServletMappingDecoded("/forward", "forward");
diff --git a/test/org/apache/catalina/core/TestAsyncContextImpl.java 
b/test/org/apache/catalina/core/TestAsyncContextImpl.java
index e8e95994b0..af239aca9c 100644
--- a/test/org/apache/catalina/core/TestAsyncContextImpl.java
+++ b/test/org/apache/catalina/core/TestAsyncContextImpl.java
@@ -99,7 +99,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Bug49528Servlet servlet = new Bug49528Servlet();
 
@@ -136,7 +136,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Bug49567Servlet servlet = new Bug49567Servlet();
 
@@ -177,7 +177,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("connectionTimeout", 
"3000"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         AsyncStartNoCompleteServlet servlet =
             new AsyncStartNoCompleteServlet();
@@ -216,7 +216,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         AsyncStartWithCompleteServlet servlet =
             new AsyncStartWithCompleteServlet();
@@ -499,7 +499,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         TimeoutServlet timeout = new TimeoutServlet(completeOnTimeout, 
dispatchUrl);
 
@@ -667,7 +667,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         DispatchingServlet dispatch = new DispatchingServlet(false, false);
         Wrapper wrapper = Tomcat.addServlet(ctx, "dispatch", dispatch);
@@ -794,7 +794,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         TrackingServlet tracking = new TrackingServlet();
         Wrapper wrapper = Tomcat.addServlet(ctx, "tracking", tracking);
@@ -1036,7 +1036,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         DispatchingServlet dispatch =
             new DispatchingServlet(true, completeOnError);
@@ -1116,7 +1116,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         AsyncStartRunnable servlet = new AsyncStartRunnable();
         Wrapper wrapper = Tomcat.addServlet(ctx, "servlet", servlet);
@@ -1183,7 +1183,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Bug50753Servlet servlet = new Bug50753Servlet();
 
@@ -1246,7 +1246,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         ErrorServlet error = new ErrorServlet();
         Tomcat.addServlet(ctx, "error", error);
@@ -1280,7 +1280,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         AsyncStatusServlet asyncStatusServlet =
             new AsyncStatusServlet(HttpServletResponse.SC_BAD_REQUEST);
@@ -1358,7 +1358,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         AsyncErrorServlet asyncErrorServlet =
             new AsyncErrorServlet(HttpServletResponse.SC_BAD_REQUEST, 
threaded);
@@ -1475,7 +1475,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Wrapper a = Tomcat.addServlet(ctx, "ServletA", new Bug53337ServletA());
         a.setAsyncSupported(true);
@@ -1555,7 +1555,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Bug53843ServletA servletA = new Bug53843ServletA();
         Wrapper a = Tomcat.addServlet(ctx, "ServletA", servletA);
@@ -1668,7 +1668,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         TimeoutServlet timeout = new TimeoutServlet(null, null);
         Wrapper w1 = Tomcat.addServlet(ctx, "time", timeout);
@@ -1797,7 +1797,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Bug54178ServletA bug54178ServletA = new Bug54178ServletA();
         Wrapper wrapper =
@@ -1910,7 +1910,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         resetTracker();
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         Bug59219Servlet bug59219Servlet = new Bug59219Servlet();
         Wrapper w = tomcat.addServlet("", "async", bug59219Servlet);
         w.setAsyncSupported(true);
@@ -1972,7 +1972,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         NonAsyncServlet nonAsyncServlet = new NonAsyncServlet();
         Wrapper wrapper = Tomcat.addServlet(ctx, "nonAsyncServlet",
@@ -2062,7 +2062,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         AsyncISEServlet servlet = new AsyncISEServlet();
 
@@ -2242,7 +2242,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Servlet stage1 = new DispatchingServletTracking("/stage2", true);
         Wrapper wrapper1 = Tomcat.addServlet(ctx, "stage1", stage1);
@@ -2315,7 +2315,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Servlet servlet = new AsyncRequestUriServlet();
         Wrapper wrapper1 = Tomcat.addServlet(ctx, "bug57559", servlet);
@@ -2354,7 +2354,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         NonAsyncServlet nonAsyncServlet = new NonAsyncServlet();
         Tomcat.addServlet(ctx, "nonAsyncServlet", nonAsyncServlet);
@@ -2456,7 +2456,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
     @Test
     public void testTimeoutDispatchCustomErrorPage() throws Exception {
         Tomcat tomcat = getTomcatInstance();
-        Context context = tomcat.addContext("", null);
+        Context context = getProgrammaticRootContext();
         tomcat.addServlet("", "timeout", Bug58751AsyncServlet.class.getName())
                 .setAsyncSupported(true);
         CustomErrorServlet customErrorServlet = new CustomErrorServlet();
@@ -2581,7 +2581,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
 
     private void doTestDispatchWithSpaces(boolean async) throws Exception {
         Tomcat tomcat = getTomcatInstance();
-        Context context = tomcat.addContext("", null);
+        Context context = getProgrammaticRootContext();
         if (async) {
             Servlet s = new AsyncDispatchUrlWithSpacesServlet();
             Wrapper w = Tomcat.addServlet(context, "space", s);
@@ -2681,7 +2681,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         
tomcat.getConnector().setEncodedSolidusHandling(EncodedSolidusHandling.DECODE.getValue());
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         EncodedDispatchServlet encodedDispatchServlet = new 
EncodedDispatchServlet();
         Wrapper wrapper = Tomcat.addServlet(ctx, "encodedDispatchServlet", 
encodedDispatchServlet);
@@ -2751,7 +2751,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
             Tomcat tomcat = getTomcatInstance();
 
             // No file system docBase required
-            Context ctx = tomcat.addContext("", null);
+            Context ctx = getProgrammaticRootContext();
 
             AsyncIoEndServlet asyncIoEndServlet = new 
AsyncIoEndServlet(useThread, useComplete);
             Wrapper wrapper = Tomcat.addServlet(ctx, "asyncIoEndServlet", 
asyncIoEndServlet);
@@ -2914,7 +2914,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Bug63816Servlet bug63816Servlet = new Bug63816Servlet(doGetLatch, 
clientCloseLatch, threadCompleteLatch, ise);
         Wrapper wrapper = Tomcat.addServlet(ctx, "bug63816Servlet", 
bug63816Servlet);
@@ -3083,7 +3083,7 @@ public class TestAsyncContextImpl extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         PostServlet postServlet = new PostServlet(partialReadLatch, 
clientCloseLatch, threadCompleteLatch, testFailed);
         Wrapper wrapper = Tomcat.addServlet(ctx, "postServlet", postServlet);
diff --git a/test/org/apache/catalina/core/TestAsyncContextImplDispatch.java 
b/test/org/apache/catalina/core/TestAsyncContextImplDispatch.java
index 94cb1f1e20..fc3eb93ce3 100644
--- a/test/org/apache/catalina/core/TestAsyncContextImplDispatch.java
+++ b/test/org/apache/catalina/core/TestAsyncContextImplDispatch.java
@@ -82,7 +82,7 @@ public class TestAsyncContextImplDispatch extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Wrapper w1 = Tomcat.addServlet(ctx, "target", new TesterServlet());
         w1.setAsyncSupported(targetAsyncSupported);
diff --git 
a/test/org/apache/catalina/core/TestAsyncContextImplListenerOnComplete.java 
b/test/org/apache/catalina/core/TestAsyncContextImplListenerOnComplete.java
index 2c2cd758a0..8fa9c0a0de 100644
--- a/test/org/apache/catalina/core/TestAsyncContextImplListenerOnComplete.java
+++ b/test/org/apache/catalina/core/TestAsyncContextImplListenerOnComplete.java
@@ -54,7 +54,7 @@ public class TestAsyncContextImplListenerOnComplete extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Latch to track that complete has been called
         CountDownLatch completeLatch = new CountDownLatch(1);
diff --git a/test/org/apache/catalina/core/TestAsyncContextStateChanges.java 
b/test/org/apache/catalina/core/TestAsyncContextStateChanges.java
index c535e63184..6c350344d3 100644
--- a/test/org/apache/catalina/core/TestAsyncContextStateChanges.java
+++ b/test/org/apache/catalina/core/TestAsyncContextStateChanges.java
@@ -99,7 +99,7 @@ public class TestAsyncContextStateChanges extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         AsyncServlet bug63816Servlet = new AsyncServlet();
         Wrapper wrapper = Tomcat.addServlet(ctx, "bug63816Servlet", 
bug63816Servlet);
diff --git a/test/org/apache/catalina/core/TestNamingContextListener.java 
b/test/org/apache/catalina/core/TestNamingContextListener.java
index e897928129..5fa0dd5315 100644
--- a/test/org/apache/catalina/core/TestNamingContextListener.java
+++ b/test/org/apache/catalina/core/TestNamingContextListener.java
@@ -48,7 +48,7 @@ public class TestNamingContextListener extends TomcatBaseTest 
{
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Enable JNDI - it is disabled by default
         tomcat.enableNaming();
@@ -95,7 +95,7 @@ public class TestNamingContextListener extends TomcatBaseTest 
{
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Enable JNDI - it is disabled by default
         tomcat.enableNaming();
diff --git 
a/test/org/apache/catalina/core/TestPropertiesRoleMappingListener.java 
b/test/org/apache/catalina/core/TestPropertiesRoleMappingListener.java
index 4a9c6f3d7d..23e9b79fb9 100644
--- a/test/org/apache/catalina/core/TestPropertiesRoleMappingListener.java
+++ b/test/org/apache/catalina/core/TestPropertiesRoleMappingListener.java
@@ -61,7 +61,7 @@ public class TestPropertiesRoleMappingListener extends 
TomcatBaseTest {
     public void testNotFoundRoleMappingFile() throws Exception {
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         PropertiesRoleMappingListener listener = new 
PropertiesRoleMappingListener();
         ctx.addLifecycleListener(listener);
diff --git a/test/org/apache/catalina/core/TestStandardContext.java 
b/test/org/apache/catalina/core/TestStandardContext.java
index fff8cf2fc2..889ccfda19 100644
--- a/test/org/apache/catalina/core/TestStandardContext.java
+++ b/test/org/apache/catalina/core/TestStandardContext.java
@@ -417,7 +417,7 @@ public class TestStandardContext extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Setup realm
         TesterMapRealm realm = new TesterMapRealm();
@@ -486,7 +486,7 @@ public class TestStandardContext extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         ctx.setDenyUncoveredHttpMethods(enableDeny);
 
@@ -567,7 +567,7 @@ public class TestStandardContext extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add ServletContainerInitializer
         Bug51376SCI sci = new Bug51376SCI(loadOnStartUp);
diff --git a/test/org/apache/catalina/core/TestStandardContextAliases.java 
b/test/org/apache/catalina/core/TestStandardContextAliases.java
index a7651fc41a..21f41a2a52 100644
--- a/test/org/apache/catalina/core/TestStandardContextAliases.java
+++ b/test/org/apache/catalina/core/TestStandardContextAliases.java
@@ -44,7 +44,7 @@ public class TestStandardContextAliases extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         File lib = new File("webapps/examples/WEB-INF/lib");
         ctx.setResources(new StandardRoot(ctx));
diff --git a/test/org/apache/catalina/core/TestStandardContextValve.java 
b/test/org/apache/catalina/core/TestStandardContextValve.java
index 47d226a20c..cd7374a602 100644
--- a/test/org/apache/catalina/core/TestStandardContextValve.java
+++ b/test/org/apache/catalina/core/TestStandardContextValve.java
@@ -47,7 +47,7 @@ public class TestStandardContextValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Traces order of events across multiple components
         StringBuilder trace = new StringBuilder();
@@ -94,7 +94,7 @@ public class TestStandardContextValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Traces order of events across multiple components
         StringBuilder trace = new StringBuilder();
@@ -234,7 +234,7 @@ public class TestStandardContextValve extends 
TomcatBaseTest {
         final Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        final Context ctx = tomcat.addContext("", null);
+        final Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "echo", new EchoBodyServlet());
         ctx.addServletMappingDecoded("/echo", "echo");
diff --git a/test/org/apache/catalina/core/TestStandardHostValve.java 
b/test/org/apache/catalina/core/TestStandardHostValve.java
index efd3a4a1d9..e4f7fe87ba 100644
--- a/test/org/apache/catalina/core/TestStandardHostValve.java
+++ b/test/org/apache/catalina/core/TestStandardHostValve.java
@@ -71,7 +71,7 @@ public class TestStandardHostValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add the error page
         Tomcat.addServlet(ctx, "error", new ErrorServlet());
@@ -116,7 +116,7 @@ public class TestStandardHostValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add a broken error page configuration
         ErrorPage errorPage500 = new ErrorPage();
@@ -132,7 +132,7 @@ public class TestStandardHostValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add the error page
         Tomcat.addServlet(ctx, "error", new ErrorServlet());
@@ -174,7 +174,7 @@ public class TestStandardHostValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add the error page
         Tomcat.addServlet(ctx, "error", new ExceptionServlet());
diff --git a/test/org/apache/catalina/core/TestStandardWrapper.java 
b/test/org/apache/catalina/core/TestStandardWrapper.java
index 5847090550..de27594fa8 100644
--- a/test/org/apache/catalina/core/TestStandardWrapper.java
+++ b/test/org/apache/catalina/core/TestStandardWrapper.java
@@ -258,7 +258,7 @@ public class TestStandardWrapper extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addRoleMapping("testRole", "very-complex-role-name");
 
         Wrapper wrapper = Tomcat.addServlet(ctx, "servlet", 
RoleAllowServlet.class.getName());
@@ -326,7 +326,7 @@ public class TestStandardWrapper extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Servlet s = new DenyAllServlet();
         ServletContainerInitializer sci = new SCI(s, useCreateServlet);
@@ -355,7 +355,7 @@ public class TestStandardWrapper extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         ctx.setDenyUncoveredHttpMethods(denyUncovered);
 
diff --git a/test/org/apache/catalina/filters/TestAddCharSetFilter.java 
b/test/org/apache/catalina/filters/TestAddCharSetFilter.java
index ea6f3f4278..cc8e9df8af 100644
--- a/test/org/apache/catalina/filters/TestAddCharSetFilter.java
+++ b/test/org/apache/catalina/filters/TestAddCharSetFilter.java
@@ -93,7 +93,7 @@ public class TestAddCharSetFilter extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add the Servlet
         CharsetServlet servlet = new CharsetServlet(mode, useSetContentType);
diff --git 
a/test/org/apache/catalina/loader/TestWebappClassLoaderExecutorMemoryLeak.java 
b/test/org/apache/catalina/loader/TestWebappClassLoaderExecutorMemoryLeak.java
index 8a34b6f756..7ec2d59b03 100644
--- 
a/test/org/apache/catalina/loader/TestWebappClassLoaderExecutorMemoryLeak.java
+++ 
b/test/org/apache/catalina/loader/TestWebappClassLoaderExecutorMemoryLeak.java
@@ -41,7 +41,7 @@ public class TestWebappClassLoaderExecutorMemoryLeak extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         if (ctx instanceof StandardContext) {
             ((StandardContext) ctx).setClearReferencesStopThreads(true);
diff --git 
a/test/org/apache/catalina/loader/TestWebappClassLoaderMemoryLeak.java 
b/test/org/apache/catalina/loader/TestWebappClassLoaderMemoryLeak.java
index f41db7bf25..b8fbfe0ff3 100644
--- a/test/org/apache/catalina/loader/TestWebappClassLoaderMemoryLeak.java
+++ b/test/org/apache/catalina/loader/TestWebappClassLoaderMemoryLeak.java
@@ -40,7 +40,7 @@ public class TestWebappClassLoaderMemoryLeak extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         if (ctx instanceof StandardContext) {
             ((StandardContext) ctx).setClearReferencesStopTimerThreads(true);
diff --git 
a/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java
 
b/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java
index a1c948b505..412f8f0f33 100644
--- 
a/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java
+++ 
b/test/org/apache/catalina/loader/TestWebappClassLoaderThreadLocalMemoryLeak.java
@@ -61,7 +61,7 @@ public class TestWebappClassLoaderThreadLocalMemoryLeak 
extends TomcatBaseTest {
                 new JreMemoryLeakPreventionListener());
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "leakServlet1",
                 "org.apache.tomcat.unittest.TesterLeakingServlet1");
@@ -116,7 +116,7 @@ public class TestWebappClassLoaderThreadLocalMemoryLeak 
extends TomcatBaseTest {
                 new JreMemoryLeakPreventionListener());
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "leakServlet2",
                 "org.apache.tomcat.unittest.TesterLeakingServlet2");
diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java 
b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
index 6ff1bf51da..cd04d06888 100644
--- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
+++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
@@ -128,7 +128,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         NBReadServlet servlet = new NBReadServlet(ignoreIsReady, async);
         String servletName = NBReadServlet.class.getName();
@@ -168,7 +168,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         NBWriteServlet servlet = new NBWriteServlet(asyncContextIsComplete);
         String servletName = NBWriteServlet.class.getName();
@@ -348,7 +348,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         TesterAccessLogValve alv = new TesterAccessLogValve();
         ctx.getPipeline().addValve(alv);
@@ -444,7 +444,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         NBReadWriteServlet servlet = new NBReadWriteServlet();
         String servletName = NBReadWriteServlet.class.getName();
@@ -950,7 +950,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
     public void testDelayedNBWrite() throws Exception {
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         CountDownLatch latch1 = new CountDownLatch(1);
         DelayedNBWriteServlet servlet = new DelayedNBWriteServlet(latch1);
         String servletName = DelayedNBWriteServlet.class.getName();
@@ -983,7 +983,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
     public void testDelayedNBReadWrite() throws Exception {
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         CountDownLatch latch1 = new CountDownLatch(2);
         DelayedNBReadWriteServlet servlet = new 
DelayedNBReadWriteServlet(latch1);
         String servletName = DelayedNBReadWriteServlet.class.getName();
@@ -1241,7 +1241,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         NBReadWithDispatchServlet servlet = new NBReadWithDispatchServlet();
         String servletName = NBReadWithDispatchServlet.class.getName();
@@ -1374,7 +1374,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         PostServlet postServlet = new PostServlet(partialReadLatch, 
completeLatch, testFailed);
         Wrapper wrapper = Tomcat.addServlet(ctx, "postServlet", postServlet);
@@ -1552,7 +1552,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         NBWriteServlet02 writeServlet =
                 new NBWriteServlet02(responseCommitLatch, clientCloseLatch, 
asyncCompleteLatch, swallowIoException);
diff --git 
a/test/org/apache/catalina/session/TestPersistentManagerIntegration.java 
b/test/org/apache/catalina/session/TestPersistentManagerIntegration.java
index 3efd7497d1..235639ce63 100644
--- a/test/org/apache/catalina/session/TestPersistentManagerIntegration.java
+++ b/test/org/apache/catalina/session/TestPersistentManagerIntegration.java
@@ -98,7 +98,7 @@ public class TestPersistentManagerIntegration extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        StandardContext ctx = (StandardContext) tomcat.addContext("", null);
+        StandardContext ctx = (StandardContext) getProgrammaticRootContext();
         ctx.setDistributable(true);
 
         Tomcat.addServlet(ctx, "DummyServlet", new DummyServlet());
@@ -130,7 +130,7 @@ public class TestPersistentManagerIntegration extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        StandardContext ctx = (StandardContext) tomcat.addContext("", null);
+        StandardContext ctx = (StandardContext) getProgrammaticRootContext();
         ctx.setDistributable(true);
 
         Tomcat.addServlet(ctx, "DummyServlet", new DummyServlet());
@@ -162,7 +162,7 @@ public class TestPersistentManagerIntegration extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.setDistributable(true);
 
         Tomcat.addServlet(ctx, "DummyServlet", new DummyServlet());
diff --git 
a/test/org/apache/catalina/session/TestStandardSessionIntegration.java 
b/test/org/apache/catalina/session/TestStandardSessionIntegration.java
index a69c993769..2606ff809a 100644
--- a/test/org/apache/catalina/session/TestStandardSessionIntegration.java
+++ b/test/org/apache/catalina/session/TestStandardSessionIntegration.java
@@ -56,7 +56,7 @@ public class TestStandardSessionIntegration extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "bug56578", new Bug56578Servlet());
         ctx.addServletMappingDecoded("/bug56578", "bug56578");
diff --git a/test/org/apache/catalina/startup/TestListener.java 
b/test/org/apache/catalina/startup/TestListener.java
index cfd62b7235..c4e420f372 100644
--- a/test/org/apache/catalina/startup/TestListener.java
+++ b/test/org/apache/catalina/startup/TestListener.java
@@ -41,7 +41,7 @@ public class TestListener extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context context = tomcat.addContext("", null);
+        Context context = getProgrammaticRootContext();
 
         context.addServletContainerInitializer(new SCI(), null);
         tomcat.start();
@@ -58,7 +58,7 @@ public class TestListener extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context context = tomcat.addContext("", null);
+        Context context = getProgrammaticRootContext();
 
         // SCL2 pretends to be in web.xml, and tries to install a
         // ServletContainerInitializer.
diff --git a/test/org/apache/catalina/startup/TestTomcat.java 
b/test/org/apache/catalina/startup/TestTomcat.java
index 1ed56c1efe..50c05ed755 100644
--- a/test/org/apache/catalina/startup/TestTomcat.java
+++ b/test/org/apache/catalina/startup/TestTomcat.java
@@ -189,7 +189,7 @@ public class TestTomcat extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "myServlet", new HelloWorld());
         ctx.addServletMappingDecoded("/", "myServlet");
@@ -240,7 +240,7 @@ public class TestTomcat extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "myServlet", new HelloWorldSession());
         ctx.addServletMappingDecoded("/", "myServlet");
@@ -270,7 +270,7 @@ public class TestTomcat extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Enable JNDI - it is disabled by default
         tomcat.enableNaming();
@@ -298,7 +298,7 @@ public class TestTomcat extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Enable JNDI - it is disabled by default
         tomcat.enableNaming();
@@ -377,7 +377,7 @@ public class TestTomcat extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         InitCount initCount = new InitCount();
         Tomcat.addServlet(ctx, "initCount", initCount);
diff --git a/test/org/apache/catalina/startup/TestTomcatClassLoader.java 
b/test/org/apache/catalina/startup/TestTomcatClassLoader.java
index d1df88c356..0586307865 100644
--- a/test/org/apache/catalina/startup/TestTomcatClassLoader.java
+++ b/test/org/apache/catalina/startup/TestTomcatClassLoader.java
@@ -40,7 +40,7 @@ public class TestTomcatClassLoader extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "ClassLoaderReport", new 
ClassLoaderReport(null));
         ctx.addServletMappingDecoded("/", "ClassLoaderReport");
@@ -62,7 +62,7 @@ public class TestTomcatClassLoader extends TomcatBaseTest {
         tomcat.getServer().setParentClassLoader(cl);
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "ClassLoaderReport", new ClassLoaderReport(cl));
         ctx.addServletMappingDecoded("/", "ClassLoaderReport");
diff --git a/test/org/apache/catalina/startup/TomcatBaseTest.java 
b/test/org/apache/catalina/startup/TomcatBaseTest.java
index d457f87543..2ff96924a6 100644
--- a/test/org/apache/catalina/startup/TomcatBaseTest.java
+++ b/test/org/apache/catalina/startup/TomcatBaseTest.java
@@ -138,6 +138,16 @@ public abstract class TomcatBaseTest extends 
LoggingBaseTest {
         return tomcat;
     }
 
+
+    public Context getProgrammaticRootContext() {
+        // No file system docBase required
+        Context ctx = tomcat.addContext("", null);
+        // Disable class path scanning - it slows the tests down by almost an 
order of magnitude
+        ((StandardJarScanner) ctx.getJarScanner()).setScanClassPath(false);
+        return ctx;
+    }
+
+
     /*
      * Sub-classes need to know port so they can connect
      */
diff --git a/test/org/apache/catalina/valves/TestAccessLogValve.java 
b/test/org/apache/catalina/valves/TestAccessLogValve.java
index c270544310..f69ee4b46a 100644
--- a/test/org/apache/catalina/valves/TestAccessLogValve.java
+++ b/test/org/apache/catalina/valves/TestAccessLogValve.java
@@ -272,7 +272,7 @@ public class TestAccessLogValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        StandardContext ctx = (StandardContext) tomcat.addContext("", null);
+        StandardContext ctx = (StandardContext) getProgrammaticRootContext();
 
         // Map the test Servlet
         TesterServlet servlet = new TesterServlet();
diff --git a/test/org/apache/catalina/valves/TestErrorReportValve.java 
b/test/org/apache/catalina/valves/TestErrorReportValve.java
index ae5e733c3d..bf182b81db 100644
--- a/test/org/apache/catalina/valves/TestErrorReportValve.java
+++ b/test/org/apache/catalina/valves/TestErrorReportValve.java
@@ -45,7 +45,7 @@ public class TestErrorReportValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "errorServlet", new ErrorServlet());
         ctx.addServletMappingDecoded("/", "errorServlet");
@@ -78,7 +78,7 @@ public class TestErrorReportValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "bug54220", new Bug54220Servlet(false));
         ctx.addServletMappingDecoded("/", "bug54220");
@@ -98,7 +98,7 @@ public class TestErrorReportValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "bug54220", new Bug54220Servlet(true));
         ctx.addServletMappingDecoded("/", "bug54220");
@@ -141,7 +141,7 @@ public class TestErrorReportValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "bug54536", new Bug54536Servlet());
         ctx.addServletMappingDecoded("/", "bug54536");
@@ -176,7 +176,7 @@ public class TestErrorReportValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Bug56042Servlet bug56042Servlet = new Bug56042Servlet();
         Wrapper wrapper = Tomcat.addServlet(ctx, "bug56042Servlet", 
bug56042Servlet);
diff --git a/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java 
b/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java
index 502c62c069..ddc99a750e 100644
--- a/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java
+++ b/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java
@@ -729,7 +729,7 @@ public class TestRewriteValve extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         RewriteValve rewriteValve = new RewriteValve();
         ctx.getPipeline().addValve(rewriteValve);
diff --git a/test/org/apache/coyote/TestResponse.java 
b/test/org/apache/coyote/TestResponse.java
index acb9f84eff..ac68aff0d9 100644
--- a/test/org/apache/coyote/TestResponse.java
+++ b/test/org/apache/coyote/TestResponse.java
@@ -44,7 +44,7 @@ public class TestResponse extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add  servlet
         Tomcat.addServlet(ctx, "CharsetServlet", new CharsetServlet());
@@ -95,7 +95,7 @@ public class TestResponse extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add  servlet
         Tomcat.addServlet(ctx, "ContentTypeServlet", new ContentTypeServlet());
diff --git a/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java 
b/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java
index c16d2ad978..78768db38b 100644
--- a/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java
+++ b/test/org/apache/coyote/ajp/TestAbstractAjpProcessor.java
@@ -92,7 +92,7 @@ public class TestAbstractAjpProcessor extends TomcatBaseTest {
         Assert.assertTrue(tomcat.getConnector().setProperty("packetSize", 
Integer.toString(ajpPacketSize)));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "snoop", new SnoopServlet());
         ctx.addServletMappingDecoded("/", "snoop");
@@ -509,7 +509,7 @@ public class TestAbstractAjpProcessor extends 
TomcatBaseTest {
         tomcat.start();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "helloWorld", new HelloWorldServlet());
         ctx.addServletMappingDecoded("/", "helloWorld");
@@ -573,7 +573,7 @@ public class TestAbstractAjpProcessor extends 
TomcatBaseTest {
         tomcat.start();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "helloWorld", new HelloWorldServlet());
         ctx.addServletMappingDecoded("/", "helloWorld");
@@ -680,7 +680,7 @@ public class TestAbstractAjpProcessor extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "bug55453", new Tester304WithBodyServlet());
         ctx.addServletMappingDecoded("/", "bug55453");
@@ -734,7 +734,7 @@ public class TestAbstractAjpProcessor extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         ReadBodyServlet servlet = new ReadBodyServlet(callAvailable);
         Tomcat.addServlet(ctx, "ReadBody", servlet);
@@ -789,7 +789,7 @@ public class TestAbstractAjpProcessor extends 
TomcatBaseTest {
         Assert.assertTrue(tomcat.getConnector().setProperty("packetSize", 
Integer.toString(ajpPacketSize)));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         FixedResponseSizeServlet servlet = new FixedResponseSizeServlet(15000, 
16000);
         Tomcat.addServlet(ctx, "FixedResponseSizeServlet", servlet);
@@ -831,7 +831,7 @@ public class TestAbstractAjpProcessor extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "bug66512", new InvalidHeaderServlet());
         ctx.addServletMappingDecoded("/", "bug66512");
@@ -894,7 +894,7 @@ public class TestAbstractAjpProcessor extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "bug66591", new NoHeadersServlet());
         ctx.addServletMappingDecoded("/", "bug66591");
diff --git a/test/org/apache/coyote/http11/TestHttp11InputBuffer.java 
b/test/org/apache/coyote/http11/TestHttp11InputBuffer.java
index 186bd0db0a..a4266b631d 100644
--- a/test/org/apache/coyote/http11/TestHttp11InputBuffer.java
+++ b/test/org/apache/coyote/http11/TestHttp11InputBuffer.java
@@ -757,7 +757,7 @@ public class TestHttp11InputBuffer extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
diff --git a/test/org/apache/coyote/http11/TestHttp11OutputBuffer.java 
b/test/org/apache/coyote/http11/TestHttp11OutputBuffer.java
index b8a3936e7b..feae71c740 100644
--- a/test/org/apache/coyote/http11/TestHttp11OutputBuffer.java
+++ b/test/org/apache/coyote/http11/TestHttp11OutputBuffer.java
@@ -42,7 +42,7 @@ public class TestHttp11OutputBuffer extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "echo", new EchoBodyServlet());
         ctx.addServletMappingDecoded("/echo", "echo");
@@ -90,7 +90,7 @@ public class TestHttp11OutputBuffer extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "header", new HeaderServlet(customHeaderValue));
         ctx.addServletMappingDecoded("/header", "header");
diff --git a/test/org/apache/coyote/http11/TestHttp11Processor.java 
b/test/org/apache/coyote/http11/TestHttp11Processor.java
index 8c53e84196..dc7efc18e4 100644
--- a/test/org/apache/coyote/http11/TestHttp11Processor.java
+++ b/test/org/apache/coyote/http11/TestHttp11Processor.java
@@ -76,7 +76,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add protected servlet
         Tomcat.addServlet(ctx, "ChunkedResponseWithErrorServlet", new 
ResponseWithErrorServlet(true));
@@ -272,7 +272,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add protected servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -327,7 +327,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add protected servlet
         Wrapper w = Tomcat.addServlet(ctx, "servlet", new Bug64974Servlet());
@@ -366,7 +366,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "NoContentLengthFlushingServlet", new 
NoContentLengthFlushingServlet());
         ctx.addServletMappingDecoded("/test", 
"NoContentLengthFlushingServlet");
@@ -389,7 +389,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "NoContentLengthConnectionCloseFlushingServlet",
                 new NoContentLengthConnectionCloseFlushingServlet());
@@ -425,7 +425,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "LargeHeaderServlet", new 
LargeHeaderServlet(flush));
         ctx.addServletMappingDecoded("/test", "LargeHeaderServlet");
@@ -458,7 +458,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Assert.assertTrue(tomcat.getConnector().setProperty("maxThreads", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "async", new Bug55772Servlet());
         ctx.addServletMappingDecoded("/*", "async");
@@ -522,7 +522,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "echo", new EchoBodyServlet());
         ctx.addServletMappingDecoded("/echo", "echo");
@@ -691,7 +691,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
 
     private void doTestBug57621(boolean delayAsyncThread) throws Exception {
         Tomcat tomcat = getTomcatInstance();
-        Context root = tomcat.addContext("", null);
+        Context root = getProgrammaticRootContext();
         Wrapper w = Tomcat.addServlet(root, "Bug57621", new 
Bug57621Servlet(delayAsyncThread));
         w.setAsyncSupported(true);
         root.addServletMappingDecoded("/test", "Bug57621");
@@ -797,7 +797,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "Bug59310", new Bug59310Servlet());
         ctx.addServletMappingDecoded("/test", "Bug59310");
@@ -838,7 +838,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         DispatchingServlet servlet = new DispatchingServlet();
         Wrapper w = Tomcat.addServlet(ctx, "Test", servlet);
@@ -927,7 +927,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Bug61086Servlet servlet = new Bug61086Servlet();
         Tomcat.addServlet(ctx, "Test", servlet);
@@ -967,7 +967,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -1000,7 +1000,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -1030,7 +1030,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -1061,7 +1061,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("allowHostHeaderMismatch", 
"false"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -1093,7 +1093,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("allowHostHeaderMismatch", 
"false"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -1125,7 +1125,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("allowHostHeaderMismatch", 
"false"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -1160,7 +1160,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("allowHostHeaderMismatch", 
"false"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -1195,7 +1195,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("allowHostHeaderMismatch", 
"false"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -1230,7 +1230,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("allowHostHeaderMismatch", 
"false"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -1264,7 +1264,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new ServerNameTesterServlet());
@@ -1299,7 +1299,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new ServerNameTesterServlet());
@@ -1335,7 +1335,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new ServerNameTesterServlet());
@@ -1371,7 +1371,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new ServerNameTesterServlet());
@@ -1407,7 +1407,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         
Assert.assertTrue(tomcat.getConnector().setProperty("maxKeepAliveRequests", 
"1"));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new ServerNameTesterServlet());
@@ -1499,7 +1499,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         tomcat.getConnector().setProperty("maxKeepAliveRequests", 
Integer.toString(maxKeepAliveRequests));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new 
TesterServlet(explicitClose));
@@ -1616,7 +1616,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         }
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new 
SwallowBodyTesterServlet());
@@ -1771,7 +1771,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet(false));
@@ -1826,7 +1826,7 @@ public class TestHttp11Processor extends TomcatBaseTest {
         connector.setProperty("continueResponseTiming", "onRead");
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Add servlet
         Tomcat.addServlet(ctx, "TestPostNoReadServlet", new 
TestPostNoReadServlet());
diff --git a/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java 
b/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java
index 44b8084bc0..7c26d1d8d6 100644
--- a/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java
+++ b/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java
@@ -97,7 +97,7 @@ public class TestChunkedInputFilter extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         // Configure allowed trailer headers
         
Assert.assertTrue(tomcat.getConnector().setProperty("allowedTrailerHeaders", 
"x-trailer1,x-trailer2"));
@@ -163,7 +163,7 @@ public class TestChunkedInputFilter extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "servlet", new EchoHeaderServlet(false));
         ctx.addServletMappingDecoded("/", "servlet");
@@ -226,7 +226,7 @@ public class TestChunkedInputFilter extends TomcatBaseTest {
                 "maxExtensionSize", Integer.toString(EXT_SIZE_LIMIT)));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "servlet", new EchoHeaderServlet(ok));
         ctx.addServletMappingDecoded("/", "servlet");
@@ -274,7 +274,7 @@ public class TestChunkedInputFilter extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "servlet", new EchoHeaderServlet(true));
         ctx.addServletMappingDecoded("/", "servlet");
@@ -373,7 +373,7 @@ public class TestChunkedInputFilter extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         BodyReadServlet servlet = new BodyReadServlet(expectPass, readLimit);
         Tomcat.addServlet(ctx, "servlet", servlet);
@@ -445,7 +445,7 @@ public class TestChunkedInputFilter extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         Tomcat.addServlet(ctx, "servlet", new 
SwallowBodyServlet(swallowException));
         ctx.addServletMappingDecoded("/", "servlet");
diff --git a/test/org/apache/coyote/http11/upgrade/TestUpgrade.java 
b/test/org/apache/coyote/http11/upgrade/TestUpgrade.java
index 637971fa4b..63d71528fd 100644
--- a/test/org/apache/coyote/http11/upgrade/TestUpgrade.java
+++ b/test/org/apache/coyote/http11/upgrade/TestUpgrade.java
@@ -165,7 +165,7 @@ public class TestUpgrade extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         UpgradeServlet servlet = new UpgradeServlet(upgradeHandlerClass);
         Tomcat.addServlet(ctx, "servlet", servlet);
diff --git 
a/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java 
b/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java
index bd219a5e55..e565e542b2 100644
--- a/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java
+++ b/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java
@@ -89,7 +89,7 @@ public class TestUpgradeInternalHandler extends 
TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
 
         UpgradeServlet servlet = new UpgradeServlet(upgradeHandlerClass);
         Tomcat.addServlet(ctx, "servlet", servlet);
diff --git a/test/org/apache/coyote/http2/Http2TestBase.java 
b/test/org/apache/coyote/http2/Http2TestBase.java
index 428089e12a..8daaa07294 100644
--- a/test/org/apache/coyote/http2/Http2TestBase.java
+++ b/test/org/apache/coyote/http2/Http2TestBase.java
@@ -596,7 +596,7 @@ public abstract class Http2TestBase extends TomcatBaseTest {
     protected void configureAndStartWebApplication() throws LifecycleException 
{
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "empty", new EmptyServlet());
         ctxt.addServletMappingDecoded("/empty", "empty");
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
diff --git a/test/org/apache/coyote/http2/TestAsync.java 
b/test/org/apache/coyote/http2/TestAsync.java
index 6d552775c7..1fa80aae6a 100644
--- a/test/org/apache/coyote/http2/TestAsync.java
+++ b/test/org/apache/coyote/http2/TestAsync.java
@@ -101,7 +101,7 @@ public class TestAsync extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
         Wrapper w = Tomcat.addServlet(ctxt, "async", new 
AsyncServlet(blockCount, useNonContainerThreadForWrite));
diff --git a/test/org/apache/coyote/http2/TestAsyncError.java 
b/test/org/apache/coyote/http2/TestAsyncError.java
index 6dabc87e79..7a282c0096 100644
--- a/test/org/apache/coyote/http2/TestAsyncError.java
+++ b/test/org/apache/coyote/http2/TestAsyncError.java
@@ -49,7 +49,7 @@ public class TestAsyncError extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
         Wrapper w = Tomcat.addServlet(ctxt, "async", new AsyncErrorServlet());
diff --git a/test/org/apache/coyote/http2/TestAsyncFlush.java 
b/test/org/apache/coyote/http2/TestAsyncFlush.java
index 20731390c9..9999e167b3 100755
--- a/test/org/apache/coyote/http2/TestAsyncFlush.java
+++ b/test/org/apache/coyote/http2/TestAsyncFlush.java
@@ -62,7 +62,7 @@ public class TestAsyncFlush extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
         Wrapper w = Tomcat.addServlet(ctxt, "async", new 
AsyncFlushServlet(blockCount));
diff --git a/test/org/apache/coyote/http2/TestAsyncTimeout.java 
b/test/org/apache/coyote/http2/TestAsyncTimeout.java
index ebf7e3766e..acd3f09549 100644
--- a/test/org/apache/coyote/http2/TestAsyncTimeout.java
+++ b/test/org/apache/coyote/http2/TestAsyncTimeout.java
@@ -45,7 +45,7 @@ public class TestAsyncTimeout extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         // This is the target of the HTTP/2 upgrade request
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
diff --git a/test/org/apache/coyote/http2/TestCancelledUpload.java 
b/test/org/apache/coyote/http2/TestCancelledUpload.java
index e5a1f34767..d759351e51 100644
--- a/test/org/apache/coyote/http2/TestCancelledUpload.java
+++ b/test/org/apache/coyote/http2/TestCancelledUpload.java
@@ -138,7 +138,7 @@ public class TestCancelledUpload extends Http2TestBase {
         Tomcat tomcat = getTomcatInstance();
 
         // Retain '/simple' url-pattern since it enables code re-use
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "cancel", new CancelServlet());
         ctxt.addServletMappingDecoded("/simple", "cancel");
 
diff --git a/test/org/apache/coyote/http2/TestHttp2UpgradeHandler.java 
b/test/org/apache/coyote/http2/TestHttp2UpgradeHandler.java
index 6f4e91a926..5fb1505965 100644
--- a/test/org/apache/coyote/http2/TestHttp2UpgradeHandler.java
+++ b/test/org/apache/coyote/http2/TestHttp2UpgradeHandler.java
@@ -34,7 +34,7 @@ public class TestHttp2UpgradeHandler extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
         Tomcat.addServlet(ctxt, "large", new LargeHeaderServlet());
@@ -118,7 +118,7 @@ public class TestHttp2UpgradeHandler extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "ReadRequestBodyServlet", new 
ReadRequestBodyServlet());
         ctxt.addServletMappingDecoded("/", "ReadRequestBodyServlet");
 
@@ -176,7 +176,7 @@ public class TestHttp2UpgradeHandler extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
 
diff --git a/test/org/apache/coyote/http2/TestLargeUpload.java 
b/test/org/apache/coyote/http2/TestLargeUpload.java
index 61768b4f9e..da828df54a 100644
--- a/test/org/apache/coyote/http2/TestLargeUpload.java
+++ b/test/org/apache/coyote/http2/TestLargeUpload.java
@@ -84,7 +84,7 @@ public class TestLargeUpload extends Http2TestBase {
         Tomcat tomcat = getTomcatInstance();
 
         // Retain '/simple' url-pattern since it enables code re-use
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "read", new DataReadServlet());
         ctxt.addServletMappingDecoded("/simple", "read");
 
diff --git a/test/org/apache/coyote/http2/TestStream.java 
b/test/org/apache/coyote/http2/TestStream.java
index 1b9903eb2e..5a63b5e37b 100644
--- a/test/org/apache/coyote/http2/TestStream.java
+++ b/test/org/apache/coyote/http2/TestStream.java
@@ -42,7 +42,7 @@ public class TestStream extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
         Tomcat.addServlet(ctxt, "pathparam", new PathParam());
diff --git a/test/org/apache/coyote/http2/TestStreamProcessor.java 
b/test/org/apache/coyote/http2/TestStreamProcessor.java
index 3bf463d839..60448f3401 100644
--- a/test/org/apache/coyote/http2/TestStreamProcessor.java
+++ b/test/org/apache/coyote/http2/TestStreamProcessor.java
@@ -51,7 +51,7 @@ public class TestStreamProcessor extends Http2TestBase {
 
         // Map the async servlet to /simple so we can re-use the HTTP/2 
handling
         // logic from the super class.
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
         Wrapper w = Tomcat.addServlet(ctxt, "async", new AsyncComplete());
@@ -90,7 +90,7 @@ public class TestStreamProcessor extends Http2TestBase {
 
         // Map the async servlet to /simple so we can re-use the HTTP/2 
handling
         // logic from the super class.
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
         Wrapper w = Tomcat.addServlet(ctxt, "async", new AsyncDispatch());
@@ -500,7 +500,7 @@ public class TestStreamProcessor extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "simple", new SimpleServlet());
         ctxt.addServletMappingDecoded("/simple", "simple");
         Tomcat.addServlet(ctxt, "compression", new CompressionServlet());
diff --git a/test/org/apache/coyote/http2/TestStreamQueryString.java 
b/test/org/apache/coyote/http2/TestStreamQueryString.java
index bf06b015c3..1c0340989f 100644
--- a/test/org/apache/coyote/http2/TestStreamQueryString.java
+++ b/test/org/apache/coyote/http2/TestStreamQueryString.java
@@ -73,7 +73,7 @@ public class TestStreamQueryString extends Http2TestBase {
 
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "query", new Query(queryValue));
         ctxt.addServletMappingDecoded("/query", "query");
 
diff --git a/test/org/apache/naming/TestNamingContext.java 
b/test/org/apache/naming/TestNamingContext.java
index 845d833f11..25ea465c1c 100644
--- a/test/org/apache/naming/TestNamingContext.java
+++ b/test/org/apache/naming/TestNamingContext.java
@@ -41,7 +41,7 @@ public class TestNamingContext extends TomcatBaseTest {
         Tomcat tomcat = getTomcatInstance();
         tomcat.enableNaming();
 
-        org.apache.catalina.Context ctx = tomcat.addContext("", null);
+        org.apache.catalina.Context ctx = getProgrammaticRootContext();
 
         tomcat.start();
 
diff --git a/test/org/apache/naming/resources/TestNamingContext.java 
b/test/org/apache/naming/resources/TestNamingContext.java
index 4ba69368b8..1bd78fc8ca 100644
--- a/test/org/apache/naming/resources/TestNamingContext.java
+++ b/test/org/apache/naming/resources/TestNamingContext.java
@@ -58,7 +58,7 @@ public class TestNamingContext extends TomcatBaseTest {
         tomcat.enableNaming();
 
         // No file system docBase required
-        org.apache.catalina.Context ctx = tomcat.addContext("", null);
+        org.apache.catalina.Context ctx = getProgrammaticRootContext();
 
         // Create the resource
         ContextResource cr = new ContextResource();
@@ -119,7 +119,7 @@ public class TestNamingContext extends TomcatBaseTest {
         tomcat.enableNaming();
 
         // No file system docBase required
-        org.apache.catalina.Context ctx = tomcat.addContext("", null);
+        org.apache.catalina.Context ctx = getProgrammaticRootContext();
 
         // Create the resource
         ContextResource cr = new ContextResource();
@@ -170,7 +170,7 @@ public class TestNamingContext extends TomcatBaseTest {
         tomcat.enableNaming();
 
         // No file system docBase required
-        org.apache.catalina.Context ctx = tomcat.addContext("", null);
+        org.apache.catalina.Context ctx = getProgrammaticRootContext();
 
         // Create the resource
         ContextResource cr = new ContextResource();
@@ -229,7 +229,7 @@ public class TestNamingContext extends TomcatBaseTest {
         tomcat.enableNaming();
 
         // No file system docBase required
-        StandardContext ctx = (StandardContext) tomcat.addContext("", null);
+        StandardContext ctx = (StandardContext) getProgrammaticRootContext();
 
         ctx.setJndiExceptionOnFailedWrite(exceptionOnFailedWrite);
 
@@ -287,7 +287,7 @@ public class TestNamingContext extends TomcatBaseTest {
         tomcat.enableNaming();
 
         // No file system docBase required
-        org.apache.catalina.Context ctx = tomcat.addContext("", null);
+        org.apache.catalina.Context ctx = getProgrammaticRootContext();
 
         // Create the resource
         ContextEnvironment env = new ContextEnvironment();
diff --git 
a/test/org/apache/tomcat/util/http/TestCookieProcessorGenerationHttp.java 
b/test/org/apache/tomcat/util/http/TestCookieProcessorGenerationHttp.java
index da5a4fe284..14f0f87da8 100644
--- a/test/org/apache/tomcat/util/http/TestCookieProcessorGenerationHttp.java
+++ b/test/org/apache/tomcat/util/http/TestCookieProcessorGenerationHttp.java
@@ -42,7 +42,7 @@ public class TestCookieProcessorGenerationHttp extends 
TomcatBaseTest {
     public void testUtf8CookieValue() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.setCookieProcessor(new Rfc6265CookieProcessor());
         Tomcat.addServlet(ctx, "test", new CookieServlet("\u0120"));
         ctx.addServletMappingDecoded("/test", "test");
diff --git a/test/org/apache/tomcat/util/net/TestSSLHostConfigCompat.java 
b/test/org/apache/tomcat/util/net/TestSSLHostConfigCompat.java
index 0705a54bf8..bcffe2d050 100644
--- a/test/org/apache/tomcat/util/net/TestSSLHostConfigCompat.java
+++ b/test/org/apache/tomcat/util/net/TestSSLHostConfigCompat.java
@@ -337,7 +337,7 @@ public class TestSSLHostConfigCompat extends TomcatBaseTest 
{
         server.addLifecycleListener(listener);
 
         // Simple webapp
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "TesterServlet", new TesterServlet());
         ctxt.addServletMappingDecoded("/*", "TesterServlet");
     }
diff --git a/test/org/apache/tomcat/util/net/TestSsl.java 
b/test/org/apache/tomcat/util/net/TestSsl.java
index 9fade38f48..16eebd05c8 100644
--- a/test/org/apache/tomcat/util/net/TestSsl.java
+++ b/test/org/apache/tomcat/util/net/TestSsl.java
@@ -94,7 +94,7 @@ public class TestSsl extends TomcatBaseTest {
         // Increase timeout as default (3s) can be too low for some CI systems
         
Assert.assertTrue(tomcat.getConnector().setProperty("connectionTimeout", 
"20000"));
 
-        Context ctxt = tomcat.addContext("", null);
+        Context ctxt = getProgrammaticRootContext();
         Tomcat.addServlet(ctxt, "post", new SimplePostServlet());
         ctxt.addServletMappingDecoded("/post", "post");
         tomcat.start();
diff --git a/test/org/apache/tomcat/websocket/TestConnectionLimit.java 
b/test/org/apache/tomcat/websocket/TestConnectionLimit.java
index f1ec95dcdb..3b5899dc4f 100644
--- a/test/org/apache/tomcat/websocket/TestConnectionLimit.java
+++ b/test/org/apache/tomcat/websocket/TestConnectionLimit.java
@@ -44,7 +44,7 @@ public class TestConnectionLimit extends TomcatBaseTest {
     public void testSingleMachine() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java 
b/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java
index f04478841f..6ea52504d2 100644
--- a/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java
+++ b/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java
@@ -54,7 +54,7 @@ public class TestWebSocketFrameClient extends 
WebSocketBaseTest {
     public void testConnectToServerEndpoint() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         
ctx.addApplicationListener(TesterFirehoseServer.ConfigInline.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -101,7 +101,7 @@ public class TestWebSocketFrameClient extends 
WebSocketBaseTest {
     public void testConnectToRootEndpoint() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java 
b/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java
index df1262b2c2..1c9ceb5937 100644
--- a/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java
+++ b/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java
@@ -50,7 +50,7 @@ public class TestWebSocketFrameClientSSL extends 
WebSocketBaseTest {
     public void testConnectToServerEndpoint() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         
ctx.addApplicationListener(TesterFirehoseServer.ConfigInline.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -89,7 +89,7 @@ public class TestWebSocketFrameClientSSL extends 
WebSocketBaseTest {
     public void testBug56032() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         
ctx.addApplicationListener(TesterFirehoseServer.ConfigInline.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/TestWsPingPongMessages.java 
b/test/org/apache/tomcat/websocket/TestWsPingPongMessages.java
index 5c85758fff..4a94b5b20e 100644
--- a/test/org/apache/tomcat/websocket/TestWsPingPongMessages.java
+++ b/test/org/apache/tomcat/websocket/TestWsPingPongMessages.java
@@ -45,7 +45,7 @@ public class TestWsPingPongMessages extends WebSocketBaseTest 
{
     public void testPingPongMessages() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
 
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
diff --git a/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java 
b/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java
index 88e5bd9908..21a3d8a1ef 100644
--- a/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java
+++ b/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java
@@ -92,7 +92,7 @@ public class TestWsRemoteEndpoint extends WebSocketBaseTest {
     private void doTestWriter(Class<?> clazz, boolean useWriter, String 
testMessage) throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -199,7 +199,7 @@ public class TestWsRemoteEndpoint extends WebSocketBaseTest 
{
     private void doTestWriterError(Class<?> clazz) throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/TestWsSessionSuspendResume.java 
b/test/org/apache/tomcat/websocket/TestWsSessionSuspendResume.java
index 4c91296fd1..0ad56bd7a6 100644
--- a/test/org/apache/tomcat/websocket/TestWsSessionSuspendResume.java
+++ b/test/org/apache/tomcat/websocket/TestWsSessionSuspendResume.java
@@ -48,7 +48,7 @@ public class TestWsSessionSuspendResume extends 
WebSocketBaseTest {
     public void test() throws Exception {
         Tomcat tomcat = getTomcatInstance();
 
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(Config.class.getName());
 
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
diff --git a/test/org/apache/tomcat/websocket/TestWsSubprotocols.java 
b/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
index 4584a0fc15..55e05a9b35 100644
--- a/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
+++ b/test/org/apache/tomcat/websocket/TestWsSubprotocols.java
@@ -45,7 +45,7 @@ public class TestWsSubprotocols extends WebSocketBaseTest {
     public void testWsSubprotocols() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(Config.class.getName());
 
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
diff --git a/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
index bfb63bf80b..91caf2b61d 100644
--- a/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
+++ b/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java
@@ -75,7 +75,7 @@ public class TestWsWebSocketContainer extends 
WsWebSocketContainerBaseTest {
     public void testConnectToServerEndpoint() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -110,7 +110,7 @@ public class TestWsWebSocketContainer extends 
WsWebSocketContainerBaseTest {
     public void testConnectToServerEndpointInvalidScheme() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
 
         tomcat.start();
@@ -125,7 +125,7 @@ public class TestWsWebSocketContainer extends 
WsWebSocketContainerBaseTest {
     public void testConnectToServerEndpointNoHost() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
 
         tomcat.start();
@@ -189,7 +189,7 @@ public class TestWsWebSocketContainer extends 
WsWebSocketContainerBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -363,7 +363,7 @@ public class TestWsWebSocketContainer extends 
WsWebSocketContainerBaseTest {
     public void testGetOpenSessions() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -413,7 +413,7 @@ public class TestWsWebSocketContainer extends 
WsWebSocketContainerBaseTest {
     public void testSessionExpiryOnUserPropertyReadIdleTimeout() throws 
Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -453,7 +453,7 @@ public class TestWsWebSocketContainer extends 
WsWebSocketContainerBaseTest {
     public void testSessionExpiryOnUserPropertyWriteIdleTimeout() throws 
Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -551,7 +551,7 @@ public class TestWsWebSocketContainer extends 
WsWebSocketContainerBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -633,7 +633,7 @@ public class TestWsWebSocketContainer extends 
WsWebSocketContainerBaseTest {
     private void doTestPerMessageDeflateClient(String msg, int count) throws 
Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerGetOpenSessions.java 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerGetOpenSessions.java
index 022c49d75f..c7adee6cc6 100644
--- 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerGetOpenSessions.java
+++ 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerGetOpenSessions.java
@@ -169,7 +169,7 @@ public class TestWsWebSocketContainerGetOpenSessions 
extends WebSocketBaseTest {
         Tracker.reset();
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSSL.java 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSSL.java
index 58bbacf4db..f6ddf766bd 100644
--- a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSSL.java
+++ b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSSL.java
@@ -45,7 +45,7 @@ public class TestWsWebSocketContainerSSL extends 
WebSocketBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSessionExpiryContainer.java
 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSessionExpiryContainer.java
index 5eed76adc1..ee5b232ee2 100644
--- 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSessionExpiryContainer.java
+++ 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSessionExpiryContainer.java
@@ -42,7 +42,7 @@ public class TestWsWebSocketContainerSessionExpiryContainer 
extends WsWebSocketC
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSessionExpirySession.java
 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSessionExpirySession.java
index 8ec230e02b..29c04943d8 100644
--- 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSessionExpirySession.java
+++ 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerSessionExpirySession.java
@@ -42,7 +42,7 @@ public class TestWsWebSocketContainerSessionExpirySession 
extends WsWebSocketCon
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerTimeoutClient.java 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerTimeoutClient.java
index 2a8f12d826..bc039e2423 100644
--- 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerTimeoutClient.java
+++ 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerTimeoutClient.java
@@ -59,7 +59,7 @@ public class TestWsWebSocketContainerTimeoutClient extends 
WsWebSocketContainerB
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(BlockingConfig.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerTimeoutServer.java 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerTimeoutServer.java
index c79a6f6bb9..ba41b82383 100644
--- 
a/test/org/apache/tomcat/websocket/TestWsWebSocketContainerTimeoutServer.java
+++ 
b/test/org/apache/tomcat/websocket/TestWsWebSocketContainerTimeoutServer.java
@@ -76,7 +76,7 @@ public class TestWsWebSocketContainerTimeoutServer extends 
WsWebSocketContainerB
         Tomcat tomcat = getTomcatInstance();
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(ConstantTxConfig.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/TesterWebSocketClientProxy.java 
b/test/org/apache/tomcat/websocket/TesterWebSocketClientProxy.java
index 9e20ed394c..08e6aca012 100644
--- a/test/org/apache/tomcat/websocket/TesterWebSocketClientProxy.java
+++ b/test/org/apache/tomcat/websocket/TesterWebSocketClientProxy.java
@@ -130,7 +130,7 @@ public class TesterWebSocketClientProxy extends 
WebSocketBaseTest {
         tomcat.getConnector().setProperty("address", "0.0.0.0");
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(TesterEchoServer.Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/WebSocketBaseTest.java 
b/test/org/apache/tomcat/websocket/WebSocketBaseTest.java
index 84b8414fcd..5e714ab1ec 100644
--- a/test/org/apache/tomcat/websocket/WebSocketBaseTest.java
+++ b/test/org/apache/tomcat/websocket/WebSocketBaseTest.java
@@ -32,7 +32,7 @@ public abstract class WebSocketBaseTest extends 
TomcatBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(configClass.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java 
b/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java
index 1aeb2b65f2..c714cf6265 100644
--- a/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java
+++ b/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java
@@ -77,7 +77,7 @@ public class TestEncodingDecoding extends TomcatBaseTest {
     public void testProgrammaticEndPoints() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         
ctx.addApplicationListener(ProgrammaticServerEndpointConfig.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -123,7 +123,7 @@ public class TestEncodingDecoding extends TomcatBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(ServerConfigListener.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -180,7 +180,7 @@ public class TestEncodingDecoding extends TomcatBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(ServerConfigListener.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -228,7 +228,7 @@ public class TestEncodingDecoding extends TomcatBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(ServerConfigListener.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -274,7 +274,7 @@ public class TestEncodingDecoding extends TomcatBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(ServerConfigListener.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -760,7 +760,7 @@ public class TestEncodingDecoding extends TomcatBaseTest {
     public void testUnsupportedObject() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         
ctx.addApplicationListener(ProgrammaticServerEndpointConfig.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/pojo/TestPojoEndpointBase.java 
b/test/org/apache/tomcat/websocket/pojo/TestPojoEndpointBase.java
index dfc47c84db..436cd1e529 100644
--- a/test/org/apache/tomcat/websocket/pojo/TestPojoEndpointBase.java
+++ b/test/org/apache/tomcat/websocket/pojo/TestPojoEndpointBase.java
@@ -53,7 +53,7 @@ public class TestPojoEndpointBase extends TomcatBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(ServerConfigListener.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -83,7 +83,7 @@ public class TestPojoEndpointBase extends TomcatBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(ServerConfigListener.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/pojo/TestPojoMethodMapping.java 
b/test/org/apache/tomcat/websocket/pojo/TestPojoMethodMapping.java
index 86a92482f9..6b8667d952 100644
--- a/test/org/apache/tomcat/websocket/pojo/TestPojoMethodMapping.java
+++ b/test/org/apache/tomcat/websocket/pojo/TestPojoMethodMapping.java
@@ -56,7 +56,7 @@ public class TestPojoMethodMapping extends TomcatBaseTest {
 
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(ServerConfigListener.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/server/TestClassLoader.java 
b/test/org/apache/tomcat/websocket/server/TestClassLoader.java
index ea5ed8d512..c99ebf9cb4 100644
--- a/test/org/apache/tomcat/websocket/server/TestClassLoader.java
+++ b/test/org/apache/tomcat/websocket/server/TestClassLoader.java
@@ -53,7 +53,7 @@ public class TestClassLoader extends WebSocketBaseTest {
     public void testSimple() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(Config.class.getName());
 
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
diff --git a/test/org/apache/tomcat/websocket/server/TestCloseBug58624.java 
b/test/org/apache/tomcat/websocket/server/TestCloseBug58624.java
index 2d128d58a2..d1e775feb3 100644
--- a/test/org/apache/tomcat/websocket/server/TestCloseBug58624.java
+++ b/test/org/apache/tomcat/websocket/server/TestCloseBug58624.java
@@ -47,7 +47,7 @@ public class TestCloseBug58624 extends WebSocketBaseTest {
     public void testOnErrorNotCalledWhenClosingConnection() throws Throwable {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(Bug58624ServerConfig.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/server/TestShutdown.java 
b/test/org/apache/tomcat/websocket/server/TestShutdown.java
index 4fb4593c75..fee640b46f 100644
--- a/test/org/apache/tomcat/websocket/server/TestShutdown.java
+++ b/test/org/apache/tomcat/websocket/server/TestShutdown.java
@@ -51,7 +51,7 @@ public class TestShutdown extends WebSocketBaseTest {
     public void testShutdownBufferedMessages() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(EchoBufferedConfig.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/server/TestSlowClient.java 
b/test/org/apache/tomcat/websocket/server/TestSlowClient.java
index eb118c314f..3a2afad1df 100644
--- a/test/org/apache/tomcat/websocket/server/TestSlowClient.java
+++ b/test/org/apache/tomcat/websocket/server/TestSlowClient.java
@@ -40,7 +40,7 @@ public class TestSlowClient extends WebSocketBaseTest {
     @Test
     public void testSendingFromAppThread() throws Exception {
         Tomcat tomcat = getTomcatInstance();
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         // Server side endpoint that sends a stream of messages on a new thread
         // in response to any message received.
         
ctx.addApplicationListener(TesterFirehoseServer.ConfigThread.class.getName());
diff --git 
a/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServer.java 
b/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServer.java
index 220b41aea2..8eef90ea16 100644
--- 
a/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServer.java
+++ 
b/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServer.java
@@ -65,7 +65,7 @@ public class TestWsRemoteEndpointImplServer extends 
WebSocketBaseTest {
     public void testClientDropsConnection() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(Bug58624Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git 
a/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServerDeadlock.java
 
b/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServerDeadlock.java
index 9a812d2498..68845e135a 100644
--- 
a/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServerDeadlock.java
+++ 
b/test/org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServerDeadlock.java
@@ -105,7 +105,7 @@ public class TestWsRemoteEndpointImplServerDeadlock extends 
WebSocketBaseTest {
         Assert.assertTrue(tomcat.getConnector().setProperty("useAsyncIO", 
useAsyncIO.toString()));
 
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(Bug66508Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
diff --git a/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java 
b/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java
index 410ff924a6..67f0c3b5f2 100644
--- a/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java
+++ b/test/org/apache/tomcat/websocket/server/TestWsServerContainer.java
@@ -48,7 +48,7 @@ public class TestWsServerContainer extends WebSocketBaseTest {
     public void testBug54807() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(Bug54807Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");
@@ -63,7 +63,7 @@ public class TestWsServerContainer extends WebSocketBaseTest {
     public void testBug58232() throws Exception {
         Tomcat tomcat = getTomcatInstance();
         // No file system docBase required
-        Context ctx = tomcat.addContext("", null);
+        Context ctx = getProgrammaticRootContext();
         ctx.addApplicationListener(Bug54807Config.class.getName());
         Tomcat.addServlet(ctx, "default", new DefaultServlet());
         ctx.addServletMappingDecoded("/", "default");


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to