aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
diff options
context:
space:
mode:
authorGravatar Chris Parsons <cparsons@google.com>2016-01-20 20:06:28 +0000
committerGravatar Lukacs Berki <lberki@google.com>2016-01-21 10:34:49 +0000
commitbd9f25c593a140acb15d3fd3fc7f66d091e1a898 (patch)
tree8a91d7d3aeb44f0e226138f73aa34fb4c49f1505 /src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
parente87849b8d391af8f5d98e3a91e680e88a1264b64 (diff)
Add a DEVELOPER_DIR make variable to genrules to propagate the apple xcode environment variable DEVELOPER_DIR to commands.
If $(DEVELOPER_DIR) is included in the genrule command, we bootstrap the XCODE_VERSION_OVERRIDE environment variable to the command. The contract with the actual action executor is, if XCODE_VERSION_OVERRIDE is present in the environment, to additionally bootstrap the DEVELOPER_DIR absolute path to the command. -- MOS_MIGRATED_REVID=112605616
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index 32f8027723..e763627037 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -219,12 +219,26 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)),
ConstantRuleVisibility.PUBLIC, true, 7, "",
UUID.randomUUID());
+ // The below call evaluates and caches the build graph. If any modifications are made to
+ // packages which have already been set up, they will not be in the current cached build graph
+ // view. Call {@link #invalidateAllFiles} to clear this cache.
useConfiguration();
setUpSkyframe();
// Also initializes ResourceManager.
ResourceManager.instance().setAvailableResources(getStartingResources());
}
+ /**
+ * Clears the current build graph cache by invalidating all files.
+ */
+ protected void invalidateAllFiles() throws InterruptedException {
+ // This is necessary as the build graph may have already been evaluated and cached. If so,
+ // the previous setup steps in this method would not be taken into account in any of the
+ // build graphs for this class's tests.
+ getSkyframeExecutor().invalidateFilesUnderPathForTesting(reporter,
+ ModifiedFileSet.EVERYTHING_MODIFIED, rootDirectory);
+ }
+
protected AnalysisMock getAnalysisMock() {
try {
Class<?> providerClass = Class.forName(TestConstants.TEST_ANALYSIS_MOCK);