Do not trim test configuration when --nodistinct_host_configuration is on.

Background is in b/117932061. The infrastructure avoids trimming the host configuration and thus the untrimmed target configuration is used in various places when --nodistinct_host_configuration is on. This leads to potential issues.

This may fixable more principally by allowing and ensuring the effective host configuration is trimmed when --nodistinct_host_configuration is in use; however, this requires far more intricate adjustments to configuration resolution.

PiperOrigin-RevId: 364898085
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BUILD b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
index a85fba4..6bcce1e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
@@ -2348,6 +2348,7 @@
     deps = [
         ":config/build_options",
         ":config/build_options_cache",
+        ":config/core_options",
         ":config/fragment_options",
         ":config/transitions/no_transition",
         ":config/transitions/patch_transition",
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/TestTrimmingTransitionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/test/TestTrimmingTransitionFactory.java
index 01cc600..48a317c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/test/TestTrimmingTransitionFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/test/TestTrimmingTransitionFactory.java
@@ -17,6 +17,7 @@
 import com.google.devtools.build.lib.analysis.config.BuildOptions;
 import com.google.devtools.build.lib.analysis.config.BuildOptionsCache;
 import com.google.devtools.build.lib.analysis.config.BuildOptionsView;
+import com.google.devtools.build.lib.analysis.config.CoreOptions;
 import com.google.devtools.build.lib.analysis.config.FragmentOptions;
 import com.google.devtools.build.lib.analysis.config.transitions.NoTransition;
 import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
@@ -52,7 +53,7 @@
 
     @Override
     public ImmutableSet<Class<? extends FragmentOptions>> requiresOptionFragments() {
-      return ImmutableSet.of(TestOptions.class);
+      return ImmutableSet.of(TestOptions.class, CoreOptions.class);
     }
 
     @Override
@@ -61,9 +62,14 @@
         // nothing to do, already trimmed this fragment
         return originalOptions.underlying();
       }
+      CoreOptions originalCoreOptions = originalOptions.get(CoreOptions.class);
       TestOptions originalTestOptions = originalOptions.get(TestOptions.class);
-      if (!originalTestOptions.trimTestConfiguration) {
+      if (!originalTestOptions.trimTestConfiguration
+          || !originalCoreOptions.useDistinctHostConfiguration) {
         // nothing to do, trimming is disabled
+        // Due to repercussions of b/117932061, do not trim when `--nodistinct_host_configuration`
+        // TODO(twigg): See if can remove distinct_host_configuration read here and thus
+        // dependency on CoreOptions above.
         return originalOptions.underlying();
       }
       return cache.applyTransition(