Add a TestType utility enum that can be used to detect if Bazel is running in a test, and use it throughout our codebase.
PiperOrigin-RevId: 310249628
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BUILD b/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
index 4300a3c..9e97667 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
@@ -101,7 +101,6 @@
":action_sketch_function",
":action_template_expansion_function",
":action_utils",
- ":actiongraph/base_cache",
":actiongraph/known_artifacts",
":actiongraph/known_aspect_descriptors",
":actiongraph/known_configurations",
@@ -109,16 +108,12 @@
":actiongraph/known_rule_class_strings",
":actiongraph/known_targets",
":actiongraph/v2/aquery_output_handler",
- ":actiongraph/v2/base_cache",
":actiongraph/v2/known_artifacts",
":actiongraph/v2/known_aspect_descriptors",
":actiongraph/v2/known_configurations",
":actiongraph/v2/known_nested_sets",
- ":actiongraph/v2/known_path_fragments",
":actiongraph/v2/known_rule_class_strings",
":actiongraph/v2/known_targets",
- ":actiongraph/v2/monolithic_output_handler",
- ":actiongraph/v2/streamed_output_handler",
":artifact_conflict_finder",
":artifact_function",
":artifact_nested_set_function",
@@ -194,7 +189,6 @@
":recursive_pkg_value",
":repository_mapping_function",
":repository_mapping_value",
- ":repository_value",
":sane_analysis_exception",
":sky_functions",
":sky_value_dirtiness_checker",
@@ -259,7 +253,6 @@
"//src/main/java/com/google/devtools/build/lib/analysis:duplicate_exception",
"//src/main/java/com/google/devtools/build/lib/analysis:inconsistent_aspect_order_exception",
"//src/main/java/com/google/devtools/build/lib/analysis:platform_options",
- "//src/main/java/com/google/devtools/build/lib/analysis:provider_collection",
"//src/main/java/com/google/devtools/build/lib/analysis:toolchain_collection",
"//src/main/java/com/google/devtools/build/lib/analysis:toolchain_context",
"//src/main/java/com/google/devtools/build/lib/analysis:top_level_artifact_context",
@@ -272,7 +265,6 @@
"//src/main/java/com/google/devtools/build/lib/causes",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/cmdline:LabelValidator",
"//src/main/java/com/google/devtools/build/lib/collect/compacthashset",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/concurrent",
@@ -299,6 +291,7 @@
"//src/main/java/com/google/devtools/build/lib/syntax:evaluator",
"//src/main/java/com/google/devtools/build/lib/syntax:frontend",
"//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/util:TestType",
"//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
"//src/main/java/com/google/devtools/build/lib/util:detailed_exit_code",
"//src/main/java/com/google/devtools/build/lib/util:exit_code",
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java
index 6fad4fc..c4e85d1 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalFilesHelper.java
@@ -24,6 +24,7 @@
import com.google.devtools.build.lib.repository.ExternalPackageHelper;
import com.google.devtools.build.lib.rules.repository.RepositoryFunction;
import com.google.devtools.build.lib.util.Pair;
+import com.google.devtools.build.lib.util.TestType;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.RootedPath;
import com.google.devtools.build.skyframe.SkyFunction;
@@ -33,8 +34,6 @@
/** Common utilities for dealing with paths outside the package roots. */
public class ExternalFilesHelper {
- private static final boolean IN_TEST = System.getenv("TEST_TMPDIR") != null;
-
private static final GoogleLogger logger = GoogleLogger.forEnclosingClass();
private final AtomicReference<PathPackageLocator> pkgLocator;
@@ -72,7 +71,7 @@
BlazeDirectories directories,
ManagedDirectoriesKnowledge managedDirectoriesKnowledge,
ExternalPackageHelper externalPackageHelper) {
- return IN_TEST
+ return TestType.isInTest()
? createForTesting(
pkgLocator,
externalFileAction,
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/BUILD b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/BUILD
index 294c303..0de6183 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/BUILD
@@ -42,6 +42,7 @@
name = "constants",
srcs = ["SerializationConstants.java"],
deps = [
+ "//src/main/java/com/google/devtools/build/lib/util:TestType",
"//src/main/java/com/google/devtools/build/lib/util:resource_usage",
],
)
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/SerializationConstants.java b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/SerializationConstants.java
index 11f68a0..f518129 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/serialization/SerializationConstants.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/serialization/SerializationConstants.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.skyframe.serialization;
import com.google.devtools.build.lib.util.ResourceUsage;
+import com.google.devtools.build.lib.util.TestType;
/**
* Some static constants for deciding serialization behavior.
@@ -24,7 +25,6 @@
/** Number of threads in deserialization pools. */
public static final int DESERIALIZATION_POOL_SIZE = 2 * ResourceUsage.getAvailableProcessors();
- private static final boolean IN_TEST = System.getenv("TEST_TMPDIR") != null;
private static final boolean CHECK_SERIALIZATION =
System.getenv("DONT_SANITY_CHECK_SERIALIZATION") == null;
@@ -32,6 +32,6 @@
* Returns true if serialization should be validated on all Skyframe writes.
*/
public static boolean shouldCheckSerializationBecauseInTest() {
- return IN_TEST && CHECK_SERIALIZATION;
+ return TestType.isInTest() && CHECK_SERIALIZATION;
}
}