This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new 93016a0473 Enable process-level test parallelism on integration-tests
core; add @ResourceLock guards (TODO-231 Ph1-2)
93016a0473 is described below
commit 93016a04730b90edb4226f68705da733401f3089
Author: James Bognar <[email protected]>
AuthorDate: Mon Jul 13 17:46:16 2026 -0400
Enable process-level test parallelism on integration-tests core; add
@ResourceLock guards (TODO-231 Ph1-2)
- Phase 1: added @ResourceLock(SYSTEM_PROPERTIES) to the 47
system-property-mutating
test classes. Behavior-preserving prerequisite for future in-JVM
concurrency.
- Phase 2: enabled Surefire forkCount=4/reuseForks on the integration-tests
core
execution (~20% suite wall-clock reduction, verified green over 3
repeated full runs).
Co-authored-by: Cursor <[email protected]>
---
.../apache/juneau/commons/inject/Value_StableFolding_Test.java | 2 ++
.../org/apache/juneau/commons/settings/PropertySources_Test.java | 2 ++
.../java/org/apache/juneau/commons/settings/Settings_Test.java | 2 ++
.../org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java | 2 ++
.../org/apache/juneau/commons/svl/StableValueFolding_Test.java | 2 ++
.../test/java/org/apache/juneau/commons/svl/VarFunction_Test.java | 2 ++
.../org/apache/juneau/commons/svl/vars/PropertyVars_Test.java | 2 ++
.../apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java | 2 ++
.../java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java | 2 ++
.../test/java/org/apache/juneau/utils/StringVarResolver_Test.java | 2 ++
.../src/test/java/org/apache/juneau/config/Config_Test.java | 2 ++
.../juneau/test/bct/BctConfiguration_ValueAdoption_Test.java | 2 ++
juneau-integration-tests/pom.xml | 8 ++++++++
.../juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java | 2 ++
.../juneau/rest/observability/RestObservabilitySvl_Test.java | 2 ++
.../rest/observability/TraceContextResponseProcessor_Test.java | 2 ++
.../apache/juneau/rest/server/RestContext_ValueAdoption_Test.java | 2 ++
.../rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java | 2 ++
.../apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java | 2 ++
.../juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java | 2 ++
.../server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java | 2 ++
.../rest/server/convention/VersionMixin_SvlPathOverride_Test.java | 2 ++
.../rest/server/convention/VersionMixin_ValueAdoption_Test.java | 2 ++
.../rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java | 2 ++
.../juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java | 2 ++
.../rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java | 2 ++
.../rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java | 2 ++
.../juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java | 2 ++
.../juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java | 2 ++
.../juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java | 2 ++
.../rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java | 2 ++
.../server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java | 2 ++
.../view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java | 2 ++
.../rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java | 2 ++
.../server/view/mustache/MustacheMixin_SvlPathOverride_Test.java | 2 ++
.../view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java | 2 ++
.../apache/juneau/microservice/jetty/JettyMicroservice_Test.java | 2 ++
.../apache/juneau/microservice/Microservice_Lifecycle_Test.java | 2 ++
.../juneau/microservice/Microservice_ValueAdoption_Test.java | 2 ++
.../org/apache/juneau/http/classic/header/HeaderList_Test.java | 2 ++
.../java/org/apache/juneau/http/classic/part/PartList_Test.java | 2 ++
.../test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java | 2 ++
.../server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java | 2 ++
.../rest/server/tracing/TraceContextResponseProcessor_Test.java | 2 ++
.../view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java | 2 ++
.../rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java | 2 ++
.../server/view/mustache/MustacheMixin_SvlPathOverride_Test.java | 2 ++
.../view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java | 2 ++
48 files changed, 102 insertions(+)
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/inject/Value_StableFolding_Test.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/inject/Value_StableFolding_Test.java
index 851b878a79..1ac6e10472 100644
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/inject/Value_StableFolding_Test.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/inject/Value_StableFolding_Test.java
@@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
import org.apache.juneau.commons.*;
import org.apache.juneau.commons.svl.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Phase G regression: verifies that stable-folded {@link Var}s (per RD #10)
inside
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.*;
* (via {@code $S{...}}) because it's the easiest to control deterministically
in a test —
* env vars and manifest files are environment-dependent.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class Value_StableFolding_Test extends TestBase {
public static class SysPropBean {
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/PropertySources_Test.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/PropertySources_Test.java
index ad564b32d0..46cad10a7a 100644
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/PropertySources_Test.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/PropertySources_Test.java
@@ -27,10 +27,12 @@ import java.util.jar.*;
import org.apache.juneau.commons.*;
import org.apache.juneau.commons.runtime.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
@SuppressWarnings({
"java:S5976" // Explicit per-case tests are clearer than a single
parameterized test for these distinct property-source scenarios.
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class PropertySources_Test extends TestBase {
//====================================================================================================
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_Test.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_Test.java
index ce89631f84..0d0e989a2f 100644
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_Test.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/settings/Settings_Test.java
@@ -28,11 +28,13 @@ import java.util.concurrent.atomic.*;
import org.apache.juneau.commons.*;
import org.apache.juneau.commons.function.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
@SuppressWarnings({
"java:S4144",
"unused" // Test beans with intentionally unused fields (e.g.
UnsupportedType)
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class Settings_Test extends TestBase {
private static final String TEST_PROP = "juneau.test.property";
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java
index 5951cbf2ee..fb02677c06 100644
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/DollarBraceShortcut_Test.java
@@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
import org.apache.juneau.commons.*;
import org.apache.juneau.commons.settings.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Tests for the {@code ${xxx}} shortcut in {@link VarResolverSession}'s
tokenizer.
@@ -30,6 +31,7 @@ import org.junit.jupiter.api.*;
* reads from {@link Settings}). The first top-level {@code ':'} in the body
is rewritten to
* {@code ','} so Spring-idiom defaults {@code ${key:default}} resolve via
{@code DefaultingVar}.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class DollarBraceShortcut_Test extends TestBase {
private static final String K1 = "DollarBraceShortcut_Test.k1";
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/StableValueFolding_Test.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/StableValueFolding_Test.java
index 881f16a795..97e8a8e749 100644
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/StableValueFolding_Test.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/StableValueFolding_Test.java
@@ -23,6 +23,7 @@ import java.util.concurrent.atomic.*;
import org.apache.juneau.commons.*;
import org.apache.juneau.commons.svl.vars.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Tests compile-time stable-value folding for opt-in source {@link Var}s.
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
* <li>Folded templates flip {@link VarTemplate#isLiteral()} to {@code
true}.
* </ul>
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class StableValueFolding_Test extends TestBase {
/** Counter-backed Var so we can detect dispatch vs fold. */
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/VarFunction_Test.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/VarFunction_Test.java
index 26a3259eed..696673527f 100644
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/VarFunction_Test.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/VarFunction_Test.java
@@ -22,6 +22,7 @@ import java.util.*;
import org.apache.juneau.commons.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Tests the {@link VarFunction} SPI + {@link TypedFunction} reflection-based
dispatch +
@@ -30,6 +31,7 @@ import org.junit.jupiter.api.*;
@SuppressWarnings({
"java:S5778" // assertThrows lambdas with chained calls; intermediate
invocations do not throw in practice
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class VarFunction_Test extends TestBase {
/** Simple typed-function: upper-case its single string arg. */
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/PropertyVars_Test.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/PropertyVars_Test.java
index c3837dde28..8d50bad1fe 100644
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/PropertyVars_Test.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/PropertyVars_Test.java
@@ -27,7 +27,9 @@ import org.apache.juneau.commons.runtime.*;
import org.apache.juneau.commons.settings.*;
import org.apache.juneau.commons.svl.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class PropertyVars_Test extends TestBase {
//====================================================================================================
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java
index 22d597711f..b8a4a87df5 100644
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/svl/vars/SystemPropertiesVarTest.java
@@ -21,7 +21,9 @@ import static org.junit.jupiter.api.Assertions.*;
import org.apache.juneau.commons.*;
import org.apache.juneau.commons.svl.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class SystemPropertiesVarTest extends TestBase {
//====================================================================================================
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java
index ec6404c513..638b588bb4 100644
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/commons/utils/ThrowableUtils_Test.java
@@ -27,7 +27,9 @@ import java.util.*;
import org.apache.juneau.commons.*;
import org.apache.juneau.commons.reflect.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class ThrowableUtils_Test extends TestBase {
//====================================================================================================
diff --git
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/utils/StringVarResolver_Test.java
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/utils/StringVarResolver_Test.java
index 5474765447..76c3df02f1 100755
---
a/juneau-core/juneau-commons/src/test/java/org/apache/juneau/utils/StringVarResolver_Test.java
+++
b/juneau-core/juneau-commons/src/test/java/org/apache/juneau/utils/StringVarResolver_Test.java
@@ -24,7 +24,9 @@ import org.apache.juneau.commons.*;
import org.apache.juneau.commons.svl.*;
import org.apache.juneau.commons.utils.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class StringVarResolver_Test extends TestBase {
//====================================================================================================
diff --git
a/juneau-core/juneau-config/src/test/java/org/apache/juneau/config/Config_Test.java
b/juneau-core/juneau-config/src/test/java/org/apache/juneau/config/Config_Test.java
index a44bc6e5b2..53488d25bb 100644
---
a/juneau-core/juneau-config/src/test/java/org/apache/juneau/config/Config_Test.java
+++
b/juneau-core/juneau-config/src/test/java/org/apache/juneau/config/Config_Test.java
@@ -39,6 +39,7 @@ import org.apache.juneau.marshall.json5.*;
import org.apache.juneau.marshall.parser.*;
import org.apache.juneau.marshall.uon.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
@SuppressWarnings({
"rawtypes", // Raw types used for generic testing scenarios
@@ -49,6 +50,7 @@ import org.junit.jupiter.api.*;
"java:S5976", // Explicit per-case tests are clearer and
self-documenting than a parameterized table; intentional.
"resource" // Closeable resources in tests are intentionally
unassigned; closing is handled by test infrastructure.
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class Config_Test extends TestBase {
private Config.Builder cb =
Config.create().store(MemoryStore.DEFAULT).name("Test.cfg");
diff --git
a/juneau-core/juneau-test/src/test/java/org/apache/juneau/test/bct/BctConfiguration_ValueAdoption_Test.java
b/juneau-core/juneau-test/src/test/java/org/apache/juneau/test/bct/BctConfiguration_ValueAdoption_Test.java
index ce2eaea8b5..d8a7b35578 100644
---
a/juneau-core/juneau-test/src/test/java/org/apache/juneau/test/bct/BctConfiguration_ValueAdoption_Test.java
+++
b/juneau-core/juneau-test/src/test/java/org/apache/juneau/test/bct/BctConfiguration_ValueAdoption_Test.java
@@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
import org.apache.juneau.commons.settings.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Acceptance tests for {@code @Value}-driven defaults on {@link
BctConfiguration.Defaults}.
@@ -28,6 +29,7 @@ import org.junit.jupiter.api.*;
* <p>
* 3-test triad per migrated field per OQA #4 — system property set, unset
(default), and {@code Settings.setGlobal}.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class BctConfiguration_ValueAdoption_Test {
@AfterEach
diff --git a/juneau-integration-tests/pom.xml b/juneau-integration-tests/pom.xml
index 46cc3dcb8c..ac6a7ced6e 100644
--- a/juneau-integration-tests/pom.xml
+++ b/juneau-integration-tests/pom.xml
@@ -683,6 +683,14 @@
<configuration>
<excludedGroups>container,benchmark</excludedGroups>
<reportsDirectory>${project.build.directory}/surefire-reports/core</reportsDirectory>
+ <!--
+ Process-level
parallelism for the in-memory core bucket: each fork is a
+ separate JVM,
so per-JVM statics/system-properties/MockRestClient caches stay
+ isolated
(classes run sequentially within a fork). Container tests keep the
+ default single
fork.
+ -->
+ <forkCount>4</forkCount>
+
<reuseForks>true</reuseForks>
</configuration>
</execution>
<execution>
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java
index 2fa180d48d..665ab1742b 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/client/RemoteProxy_NextGenParityGaps_Test.java
@@ -40,6 +40,7 @@ import org.apache.juneau.marshall.xml.*;
import org.apache.juneau.rest.mock.*;
import org.apache.juneau.rest.server.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
import org.junit.jupiter.api.io.*;
/**
@@ -78,6 +79,7 @@ import org.junit.jupiter.api.io.*;
@SuppressWarnings({
"java:S114" // Snake_case fixture interface/resource names are
intentional test-local naming (matches RemoteProxy_FeatureParity_Test).
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class RemoteProxy_NextGenParityGaps_Test {
//
=================================================================================================================
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/RestObservabilitySvl_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/RestObservabilitySvl_Test.java
index 1012767282..f25df8528e 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/RestObservabilitySvl_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/RestObservabilitySvl_Test.java
@@ -28,6 +28,7 @@ import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.metrics.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Tests SVL variable support in observability annotation attributes.
@@ -41,6 +42,7 @@ import org.junit.jupiter.api.*;
* Note: {@code MockRestClient} caches the {@link
org.apache.juneau.rest.server.server.RestContext} per resource class.
* Each scenario uses a distinct static inner class so the SVL state at build
time is deterministic.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class RestObservabilitySvl_Test extends TestBase {
public static final class RecordingMetricsRecorder implements
MetricsRecorder {
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/TraceContextResponseProcessor_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/TraceContextResponseProcessor_Test.java
index 041fa08f6e..99f048960f 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/TraceContextResponseProcessor_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/observability/TraceContextResponseProcessor_Test.java
@@ -34,6 +34,7 @@ import org.apache.juneau.rest.server.servlet.*;
import org.apache.juneau.rest.server.tracing.*;
import org.apache.juneau.rest.server.tracing.otel.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
import io.opentelemetry.api.trace.propagation.*;
import io.opentelemetry.context.propagation.*;
@@ -52,6 +53,7 @@ import io.opentelemetry.sdk.trace.export.*;
* {@link MockRestClient}s so the {@link OtelTracerHook} bridge captures the
server-started span's
* context and stashes the rendered headers for the response processor to
write.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class TraceContextResponseProcessor_Test extends TestBase {
/** W3C {@code traceparent} value format: {@code
version-traceId-spanId-flags}. */
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestContext_ValueAdoption_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestContext_ValueAdoption_Test.java
index 5e6a30eac2..3839baabd6 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestContext_ValueAdoption_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestContext_ValueAdoption_Test.java
@@ -25,6 +25,7 @@ import java.util.*;
import org.apache.juneau.*;
import org.apache.juneau.commons.settings.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Acceptance tests for the {@code @Value}-driven env-default fields on {@link
RestContext}.
@@ -36,6 +37,7 @@ import org.junit.jupiter.api.*;
* its own DefaultConfig-driven precedence on top of these fields and is
exercised by the existing
* {@code RestContext}-level tests; this class scopes coverage to the {@code
@Value} seam itself.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class RestContext_ValueAdoption_Test extends TestBase {
@Rest
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java
index be83f3d29f..d0bfa839f1 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_PathMatcher_CompiledForm_Test.java
@@ -19,6 +19,7 @@ package org.apache.juneau.rest.server;
import org.apache.juneau.*;
import org.apache.juneau.rest.mock.classic.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Phase G regression: verifies that the {@link RestOpContext#pathMatchers}
Memoizer
@@ -32,6 +33,7 @@ import org.junit.jupiter.api.*;
* SVL-bearing op paths still resolve correctly under the compiled-form path,
with
* no extra request-time cost (resolution still happens once at context-build
time).
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class RestOpContext_PathMatcher_CompiledForm_Test extends TestBase {
@Rest
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java
index 240b653dd4..27b2cb5e90 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestOpContext_SvlInOpPath_Test.java
@@ -19,6 +19,7 @@ package org.apache.juneau.rest.server;
import org.apache.juneau.*;
import org.apache.juneau.rest.mock.classic.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates SVL substitution applied to op-level path declarations.
@@ -45,6 +46,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class RestOpContext_SvlInOpPath_Test extends TestBase {
//-----------------------------------------------------------------------------------------------------------------
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java
index 5a62a976b1..278323f16e 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/RestPathsRuntimeOverride_SVL_Test.java
@@ -23,6 +23,7 @@ import org.apache.juneau.config.*;
import org.apache.juneau.config.store.*;
import org.apache.juneau.test.junit.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates SVL substitution applied per-element to {@code @Rest(paths=...)}
annotation literals.
@@ -40,6 +41,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class RestPathsRuntimeOverride_SVL_Test extends TestBase {
private static Config inMemoryConfig(String name, String...kvLines) {
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
index 4a5e4c7b10..6dc5108ca6 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
@@ -22,6 +22,7 @@ import java.time.*;
import org.apache.juneau.commons.settings.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Acceptance tests for {@code @Value}-driven defaults on {@link
JwtTokenValidator.Builder}.
@@ -29,6 +30,7 @@ import org.junit.jupiter.api.*;
* <p>
* 3-test triad per migrated field per OQA #4 — system property set, unset
(default), and {@code Settings.setGlobal}.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class JwtTokenValidator_ValueAdoption_Test {
private static final String TTL_KEY = "juneau.jwt.jwksCacheTtl";
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_SvlPathOverride_Test.java
index 50a8c8b89d..403ec954ac 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.version.path:version}} SVL override on
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class VersionMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=VersionMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_ValueAdoption_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_ValueAdoption_Test.java
index 992d89aab4..49361815e6 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_ValueAdoption_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/convention/VersionMixin_ValueAdoption_Test.java
@@ -20,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.*;
import org.apache.juneau.commons.settings.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Acceptance tests for the {@code @Value}-driven {@code java.version} default
on
@@ -34,6 +35,7 @@ import org.junit.jupiter.api.*;
* is set by the JVM itself; the assertion simply verifies that the
JVM-supplied value is what flows
* through {@code @Value} resolution.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class VersionMixin_ValueAdoption_Test {
private static final String SP = "java.version";
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java
index 66cafa9928..e31a86de55 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/OpenApiMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.openapi.path:openapi}} SVL override on
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class OpenApiMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=OpenApiMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java
index 9eb66a5d1e..cd6afdedd1 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/RedocMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.redoc.path:redoc}} SVL override on {@link
RedocMixin}.
@@ -31,6 +32,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class RedocMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=RedocMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java
index b7879b0ddc..5d1b044c16 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.swagger.path:api}} SVL override on {@link
SwaggerMixin}.
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class SwaggerMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=SwaggerMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java
index 72356af4ba..17463cc341 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/docs/SwaggerUiMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.swaggerui.path:swagger}} SVL override on
@@ -32,6 +33,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class SwaggerUiMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=SwaggerUiMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java
index 193ebec1c6..2e2d3a3eb8 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/logger/CallLogger_ValueAdoption_Test.java
@@ -26,6 +26,7 @@ import org.apache.juneau.commons.inject.*;
import org.apache.juneau.commons.settings.*;
import org.apache.juneau.marshall.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Acceptance tests for {@code @Value}-driven defaults on {@link
CallLogger.Builder}.
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.*;
* <p>
* 3-test triad per migrated field per OQA #4 — system property set, unset
(default), and {@code Settings.setGlobal}.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class CallLogger_ValueAdoption_Test extends TestBase {
private static final String SP_LOGGER = "juneau.restLogger.logger";
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java
index 982e57e1d1..33fe174468 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/AdminMixin_SvlPathOverride_Test.java
@@ -23,6 +23,7 @@ import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.guard.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.admin.path:admin}} SVL prefix override on
@@ -43,6 +44,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class AdminMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=AdminMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java
index 6bada9af5c..5a44f06560 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/EchoMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.echo.path:echo}} SVL override on {@link
EchoMixin}.
@@ -42,6 +43,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class EchoMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=EchoMixin.class, debug=@Debug("always"))
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java
index 081198cdb2..05eb4bcb8d 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/ops/RouteIndexMixin_SvlPathOverride_Test.java
@@ -22,6 +22,7 @@ import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.config.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.routeindex.path:options}} SVL override on
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class RouteIndexMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=RouteIndexMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java
index 0c67efa8f6..7aa5a6dc04 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/staticfile/StaticFilesMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.staticfiles.path:static}} SVL override on
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class StaticFilesMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=StaticFilesMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
index 999eb76aac..e141cc986e 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.freemarker.path:freemarker}} SVL override on
@@ -38,6 +39,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class FreemarkerMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=FreemarkerMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
index 0e5c7e83e1..00323f47d6 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.jsp.path:jsp}} SVL override on {@link
JspMixin}.
@@ -36,6 +37,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class JspMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=JspMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
index 0c78ceea76..c2d74ac749 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.mustache.path:mustache}} SVL override on
@@ -38,6 +39,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class MustacheMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=MustacheMixin.class)
diff --git
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
index 8450fccd97..cbc6b5554f 100644
---
a/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
+++
b/juneau-integration-tests/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.thymeleaf.path:thymeleaf}} SVL override on
@@ -38,6 +39,7 @@ import org.junit.jupiter.api.*;
*
* @since 10.0.0
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class ThymeleafMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=ThymeleafMixin.class)
diff --git
a/juneau-microservice/juneau-microservice-jetty/src/test/java/org/apache/juneau/microservice/jetty/JettyMicroservice_Test.java
b/juneau-microservice/juneau-microservice-jetty/src/test/java/org/apache/juneau/microservice/jetty/JettyMicroservice_Test.java
index ae1aa0b671..5bd04e6f99 100644
---
a/juneau-microservice/juneau-microservice-jetty/src/test/java/org/apache/juneau/microservice/jetty/JettyMicroservice_Test.java
+++
b/juneau-microservice/juneau-microservice-jetty/src/test/java/org/apache/juneau/microservice/jetty/JettyMicroservice_Test.java
@@ -29,6 +29,7 @@ import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.eclipse.jetty.server.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Boot-and-shutdown smoke test for {@link JettyMicroservice}.
@@ -51,6 +52,7 @@ import org.junit.jupiter.api.*;
@SuppressWarnings({
"serial" // serialVersionUID not required for test classes.
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class JettyMicroservice_Test {
@Rest(paths="/*")
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_Lifecycle_Test.java
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_Lifecycle_Test.java
index aa7a3a13ba..102238dd95 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_Lifecycle_Test.java
+++
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_Lifecycle_Test.java
@@ -34,6 +34,7 @@ import org.apache.juneau.config.store.*;
import org.apache.juneau.marshall.cp.*;
import org.apache.juneau.microservice.console.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
import org.junit.jupiter.api.io.*;
/**
@@ -65,6 +66,7 @@ import org.junit.jupiter.api.io.*;
* are not safely reachable from a unit test without bringing down the JVM.
*/
@org.apache.juneau.testing.JettyMicroserviceTest
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class Microservice_Lifecycle_Test extends TestBase {
//
=================================================================================================================
diff --git
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_ValueAdoption_Test.java
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_ValueAdoption_Test.java
index 78c828a2d4..8795459911 100644
---
a/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_ValueAdoption_Test.java
+++
b/juneau-microservice/juneau-microservice/src/test/java/org/apache/juneau/microservice/Microservice_ValueAdoption_Test.java
@@ -23,6 +23,7 @@ import java.io.*;
import org.apache.juneau.commons.settings.*;
import org.apache.juneau.testing.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Acceptance tests for the {@code @Value}-driven {@code juneau.workingDir}
default on
@@ -33,6 +34,7 @@ import org.junit.jupiter.api.*;
* {@code Settings.setGlobal} override.
*/
@JettyMicroserviceTest
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class Microservice_ValueAdoption_Test {
private static final String SP = "juneau.workingDir";
diff --git
a/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/header/HeaderList_Test.java
b/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/header/HeaderList_Test.java
index 71f0705a62..95ea45af6f 100644
---
a/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/header/HeaderList_Test.java
+++
b/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/header/HeaderList_Test.java
@@ -29,10 +29,12 @@ import org.apache.juneau.*;
import org.apache.juneau.marshall.httppart.*;
import org.apache.juneau.marshall.oapi.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Tests: {@link HeaderList}, {@link HeaderListBuilder}, {@link
BasicHeaderIterator}
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class HeaderList_Test extends TestBase {
private static final Header
diff --git
a/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/part/PartList_Test.java
b/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/part/PartList_Test.java
index e3f923e246..9a328a8df5 100644
---
a/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/part/PartList_Test.java
+++
b/juneau-rest/juneau-rest-common-classic/src/test/java/org/apache/juneau/http/classic/part/PartList_Test.java
@@ -31,10 +31,12 @@ import org.apache.juneau.http.*;
import org.apache.juneau.marshall.httppart.*;
import org.apache.juneau.marshall.oapi.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Tests: {@link PartList}, {@link PartList.Builder}, {@link BasicPartIterator}
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class PartList_Test extends TestBase {
private static final NameValuePair
diff --git
a/juneau-rest/juneau-rest-mock/src/test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java
b/juneau-rest/juneau-rest-mock/src/test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java
index 31f0c0ee61..5b06c197fd 100644
---
a/juneau-rest/juneau-rest-mock/src/test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java
+++
b/juneau-rest/juneau-rest-mock/src/test/java/org/apache/juneau/rest/mock2/MockLogger_Test.java
@@ -23,7 +23,9 @@ import java.util.logging.*;
import org.apache.juneau.*;
import org.apache.juneau.rest.mock.classic.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class MockLogger_Test extends TestBase {
@Test void a01_create() {
diff --git
a/juneau-rest/juneau-rest-server-auth-jwt/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
b/juneau-rest/juneau-rest-server-auth-jwt/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
index 4a5e4c7b10..6dc5108ca6 100644
---
a/juneau-rest/juneau-rest-server-auth-jwt/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
+++
b/juneau-rest/juneau-rest-server-auth-jwt/src/test/java/org/apache/juneau/rest/server/auth/jwt/JwtTokenValidator_ValueAdoption_Test.java
@@ -22,6 +22,7 @@ import java.time.*;
import org.apache.juneau.commons.settings.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Acceptance tests for {@code @Value}-driven defaults on {@link
JwtTokenValidator.Builder}.
@@ -29,6 +30,7 @@ import org.junit.jupiter.api.*;
* <p>
* 3-test triad per migrated field per OQA #4 — system property set, unset
(default), and {@code Settings.setGlobal}.
*/
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class JwtTokenValidator_ValueAdoption_Test {
private static final String TTL_KEY = "juneau.jwt.jwksCacheTtl";
diff --git
a/juneau-rest/juneau-rest-server-tracing-otel/src/test/java/org/apache/juneau/rest/server/tracing/TraceContextResponseProcessor_Test.java
b/juneau-rest/juneau-rest-server-tracing-otel/src/test/java/org/apache/juneau/rest/server/tracing/TraceContextResponseProcessor_Test.java
index 403b351bf5..a4bd504e41 100644
---
a/juneau-rest/juneau-rest-server-tracing-otel/src/test/java/org/apache/juneau/rest/server/tracing/TraceContextResponseProcessor_Test.java
+++
b/juneau-rest/juneau-rest-server-tracing-otel/src/test/java/org/apache/juneau/rest/server/tracing/TraceContextResponseProcessor_Test.java
@@ -33,6 +33,7 @@ import org.apache.juneau.rest.server.processor.*;
import org.apache.juneau.rest.server.servlet.*;
import org.apache.juneau.rest.server.tracing.otel.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
import io.opentelemetry.api.trace.propagation.*;
import io.opentelemetry.context.propagation.*;
@@ -54,6 +55,7 @@ import io.opentelemetry.sdk.trace.export.*;
@SuppressWarnings({
"resource" // Closeable test fixtures held in static fields; lifecycle
managed by the test/framework, not a real leak.
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class TraceContextResponseProcessor_Test extends TestBase {
/** W3C {@code traceparent} value format: {@code
version-traceId-spanId-flags}. */
diff --git
a/juneau-rest/juneau-rest-server-view-freemarker/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
b/juneau-rest/juneau-rest-server-view-freemarker/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
index e1d8604993..b74ed03a5d 100644
---
a/juneau-rest/juneau-rest-server-view-freemarker/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
+++
b/juneau-rest/juneau-rest-server-view-freemarker/src/test/java/org/apache/juneau/rest/server/view/freemarker/FreemarkerMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.freemarker.path:freemarker}} SVL override on
@@ -41,6 +42,7 @@ import org.junit.jupiter.api.*;
@SuppressWarnings({
"resource" // Closeable test fixtures held in static fields; lifecycle
managed by the test/framework, not a real leak.
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class FreemarkerMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=FreemarkerMixin.class)
diff --git
a/juneau-rest/juneau-rest-server-view-jsp/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
b/juneau-rest/juneau-rest-server-view-jsp/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
index 8bd43214c5..0d5bec3a9c 100644
---
a/juneau-rest/juneau-rest-server-view-jsp/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
+++
b/juneau-rest/juneau-rest-server-view-jsp/src/test/java/org/apache/juneau/rest/server/view/jsp/JspMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.jsp.path:jsp}} SVL override on {@link
JspMixin}.
@@ -39,6 +40,7 @@ import org.junit.jupiter.api.*;
@SuppressWarnings({
"resource" // Closeable test fixtures held in static fields; lifecycle
managed by the test/framework, not a real leak.
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class JspMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=JspMixin.class)
diff --git
a/juneau-rest/juneau-rest-server-view-mustache/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
b/juneau-rest/juneau-rest-server-view-mustache/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
index 81ac60623b..d7ee240ade 100644
---
a/juneau-rest/juneau-rest-server-view-mustache/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
+++
b/juneau-rest/juneau-rest-server-view-mustache/src/test/java/org/apache/juneau/rest/server/view/mustache/MustacheMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.mustache.path:mustache}} SVL override on
@@ -41,6 +42,7 @@ import org.junit.jupiter.api.*;
@SuppressWarnings({
"resource" // Closeable test fixtures held in static fields; lifecycle
managed by the test/framework, not a real leak.
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class MustacheMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=MustacheMixin.class)
diff --git
a/juneau-rest/juneau-rest-server-view-thymeleaf/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
b/juneau-rest/juneau-rest-server-view-thymeleaf/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
index 37de490cbd..d6788892ac 100644
---
a/juneau-rest/juneau-rest-server-view-thymeleaf/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
+++
b/juneau-rest/juneau-rest-server-view-thymeleaf/src/test/java/org/apache/juneau/rest/server/view/thymeleaf/ThymeleafMixin_SvlPathOverride_Test.java
@@ -21,6 +21,7 @@ import org.apache.juneau.rest.mock.classic.*;
import org.apache.juneau.rest.server.*;
import org.apache.juneau.rest.server.servlet.*;
import org.junit.jupiter.api.*;
+import org.junit.jupiter.api.parallel.*;
/**
* Validates the {@code ${juneau.thymeleaf.path:thymeleaf}} SVL override on
@@ -41,6 +42,7 @@ import org.junit.jupiter.api.*;
@SuppressWarnings({
"resource" // Closeable test fixtures held in static fields; lifecycle
managed by the test/framework, not a real leak.
})
+@ResourceLock(Resources.SYSTEM_PROPERTIES)
class ThymeleafMixin_SvlPathOverride_Test extends TestBase {
@Rest(mixins=ThymeleafMixin.class)