Skip to content

Commit 0b51d43

Browse files
twiggcopybara-github
authored andcommitted
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
1 parent c792ed3 commit 0b51d43

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/main/java/com/google/devtools/build/lib/analysis/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2348,6 +2348,7 @@ java_library(
23482348
deps = [
23492349
":config/build_options",
23502350
":config/build_options_cache",
2351+
":config/core_options",
23512352
":config/fragment_options",
23522353
":config/transitions/no_transition",
23532354
":config/transitions/patch_transition",

src/main/java/com/google/devtools/build/lib/analysis/test/TestTrimmingTransitionFactory.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.google.devtools.build.lib.analysis.config.BuildOptions;
1818
import com.google.devtools.build.lib.analysis.config.BuildOptionsCache;
1919
import com.google.devtools.build.lib.analysis.config.BuildOptionsView;
20+
import com.google.devtools.build.lib.analysis.config.CoreOptions;
2021
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
2122
import com.google.devtools.build.lib.analysis.config.transitions.NoTransition;
2223
import com.google.devtools.build.lib.analysis.config.transitions.PatchTransition;
@@ -52,7 +53,7 @@ public enum TestTrimmingTransition implements PatchTransition {
5253

5354
@Override
5455
public ImmutableSet<Class<? extends FragmentOptions>> requiresOptionFragments() {
55-
return ImmutableSet.of(TestOptions.class);
56+
return ImmutableSet.of(TestOptions.class, CoreOptions.class);
5657
}
5758

5859
@Override
@@ -61,9 +62,14 @@ public BuildOptions patch(BuildOptionsView originalOptions, EventHandler eventHa
6162
// nothing to do, already trimmed this fragment
6263
return originalOptions.underlying();
6364
}
65+
CoreOptions originalCoreOptions = originalOptions.get(CoreOptions.class);
6466
TestOptions originalTestOptions = originalOptions.get(TestOptions.class);
65-
if (!originalTestOptions.trimTestConfiguration) {
67+
if (!originalTestOptions.trimTestConfiguration
68+
|| !originalCoreOptions.useDistinctHostConfiguration) {
6669
// nothing to do, trimming is disabled
70+
// Due to repercussions of b/117932061, do not trim when `--nodistinct_host_configuration`
71+
// TODO(twigg): See if can remove distinct_host_configuration read here and thus
72+
// dependency on CoreOptions above.
6773
return originalOptions.underlying();
6874
}
6975
return cache.applyTransition(

0 commit comments

Comments
 (0)