diff options
author | 2016-09-13 16:46:10 +0000 | |
---|---|---|
committer | 2016-09-14 09:35:04 +0000 | |
commit | 6f33a1c54e517d7343c36d0479713655a19f3224 (patch) | |
tree | 3e4920aa44a9ad54a06d2b6a574127fee8829e7b /src/test/java/com/google/devtools/build/lib/skyframe | |
parent | 4d94984c61892749315a6c98a3b1facf84762653 (diff) |
Track client environment in Skyframe
...to determine which actions have to be recomputed based on changes
to the client environment. Note that this change does it the simple way
and reconsideres all actions on a changed client environment, while still
only reexecuting those, where the part that was inherited from the environment
actually did change.
--
Change-Id: Ie1116d094642165e5e959447a6fcf49d19b37d6e
Reviewed-on: https://bazel-review.googlesource.com/#/c/5431
MOS_MIGRATED_REVID=133010705
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skyframe')
5 files changed, 34 insertions, 20 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java index 2aec5947e9..f6ee2ee57a 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java @@ -71,10 +71,16 @@ public class PackageFunctionTest extends BuildViewTestCase { private CustomInMemoryFs fs = new CustomInMemoryFs(new ManualClock()); private void preparePackageLoading(Path... roots) { - getSkyframeExecutor().preparePackageLoading( - new PathPackageLocator(outputBase, ImmutableList.copyOf(roots)), - ConstantRuleVisibility.PUBLIC, true, - 7, "", UUID.randomUUID(), new TimestampGranularityMonitor(BlazeClock.instance())); + getSkyframeExecutor() + .preparePackageLoading( + new PathPackageLocator(outputBase, ImmutableList.copyOf(roots)), + ConstantRuleVisibility.PUBLIC, + true, + 7, + "", + UUID.randomUUID(), + ImmutableMap.<String, String>of(), + new TimestampGranularityMonitor(BlazeClock.instance())); } @Override @@ -435,10 +441,16 @@ public class PackageFunctionTest extends BuildViewTestCase { Label.parseAbsoluteUnchecked("//foo:b.txt")) .inOrder(); getSkyframeExecutor().resetEvaluator(); - getSkyframeExecutor().preparePackageLoading( - new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)), - ConstantRuleVisibility.PUBLIC, true, 7, "", - UUID.randomUUID(), tsgm); + getSkyframeExecutor() + .preparePackageLoading( + new PathPackageLocator(outputBase, ImmutableList.<Path>of(rootDirectory)), + ConstantRuleVisibility.PUBLIC, + true, + 7, + "", + UUID.randomUUID(), + ImmutableMap.of(), + tsgm); value = validPackage(skyKey); assertThat( (Iterable<Label>) diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java index b5a9494758..902c62f5a1 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java @@ -18,6 +18,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.events.Event; @@ -33,14 +34,12 @@ import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.ModifiedFileSet; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; - import java.io.IOException; import java.util.Collection; import java.util.UUID; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; @RunWith(JUnit4.class) public class SkyframeLabelVisitorTest extends SkyframeLabelVisitorTestCase { @@ -410,6 +409,7 @@ public class SkyframeLabelVisitorTest extends SkyframeLabelVisitorTestCase { 7, loadingMock.getDefaultsPackageContent(), UUID.randomUUID(), + ImmutableMap.of(), new TimestampGranularityMonitor(BlazeClock.instance())); this.visitor = getSkyframeExecutor().pkgLoader(); scratch.file("pkg/BUILD", "sh_library(name = 'x', deps = ['z'])", "sh_library(name = 'z')"); @@ -454,6 +454,7 @@ public class SkyframeLabelVisitorTest extends SkyframeLabelVisitorTestCase { 7, loadingMock.getDefaultsPackageContent(), UUID.randomUUID(), + ImmutableMap.of(), new TimestampGranularityMonitor(BlazeClock.instance())); this.visitor = getSkyframeExecutor().pkgLoader(); scratch.file("a/BUILD", "subinclude('//b:c/d/foo')"); diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java index 089d6a4834..23f7171bf7 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java @@ -17,6 +17,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.packages.ConstantRuleVisibility; @@ -28,15 +29,13 @@ import com.google.devtools.build.lib.util.BlazeClock; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; import com.google.devtools.build.skyframe.EvaluationResult; import com.google.devtools.build.skyframe.SkyKey; - +import java.util.Collection; +import java.util.UUID; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; -import java.util.Collection; -import java.util.UUID; - /** * Tests for the hash code calculated for Skylark RuleClasses based on the transitive closure * of the imports of their respective definition SkylarkEnvironments. @@ -164,6 +163,7 @@ public class SkylarkFileContentHashTests extends BuildViewTestCase { 7, "", UUID.randomUUID(), + ImmutableMap.of(), new TimestampGranularityMonitor(BlazeClock.instance())); SkyKey pkgLookupKey = PackageValue.key(PackageIdentifier.parse("@//" + pkg)); EvaluationResult<PackageValue> result = diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java index 838302ff57..78100f728e 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.packages.ConstantRuleVisibility; @@ -30,14 +31,12 @@ import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.skyframe.ErrorInfo; import com.google.devtools.build.skyframe.EvaluationResult; import com.google.devtools.build.skyframe.SkyKey; - +import java.util.UUID; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; -import java.util.UUID; - /** * Tests for SkylarkImportLookupFunction. */ @@ -55,6 +54,7 @@ public class SkylarkImportLookupFunctionTest extends BuildViewTestCase { 7, "", UUID.randomUUID(), + ImmutableMap.of(), new TimestampGranularityMonitor(BlazeClock.instance())); } diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java index 0a2c7ddf06..a8ffdfea20 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java @@ -195,6 +195,7 @@ public abstract class TimestampBuilderTestCase extends FoundationTestCase { evaluationProgressReceiver); final SequentialBuildDriver driver = new SequentialBuildDriver(evaluator); PrecomputedValue.BUILD_ID.set(differencer, UUID.randomUUID()); + PrecomputedValue.CLIENT_ENV.set(differencer, ImmutableMap.<String, String>of()); PrecomputedValue.PATH_PACKAGE_LOCATOR.set(differencer, pkgLocator.get()); return new Builder() { |