diff options
author | 2015-07-28 21:39:22 +0000 | |
---|---|---|
committer | 2015-07-29 16:01:26 +0000 | |
commit | 6ddbb6e48bf1fb389634934dcce1e251a77e50e5 (patch) | |
tree | 70fc6245d85def4f54842f8ee33112373fb8e4e8 /src/test/java/com/google/devtools/build/lib/analysis/util | |
parent | 6c2303c461478c6082a29b969e49ad5adb0029aa (diff) |
Allow modules to specify additional nodes in the graph to be invalidated and use this functionality to properly invalidate http download nodes if the downloaded zip file doesn't match the specified hash.
This still means that the actual files downloaded may not match, but checking all such files may be too expensive.
This helps with #336 but before that issue can be closed all remote repositories (git, etc.), should have similar functionality added.
--
MOS_MIGRATED_REVID=99317085
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/util')
3 files changed, 48 insertions, 32 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java index 94975bb5fe..7c2351aa2b 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java @@ -50,6 +50,7 @@ import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey; import com.google.devtools.build.lib.skyframe.DiffAwareness; import com.google.devtools.build.lib.skyframe.PrecomputedValue; import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor; +import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker; import com.google.devtools.build.lib.skyframe.SkyframeExecutor; import com.google.devtools.build.lib.skyframe.util.SkyframeExecutorTestUtils; import com.google.devtools.build.lib.syntax.Label; @@ -161,16 +162,21 @@ public abstract class AnalysisTestCase extends FoundationTestCase { throws Exception { this.ruleClassProvider = ruleClassProvider; PackageFactory pkgFactory = new PackageFactory(ruleClassProvider); - skyframeExecutor = SequencedSkyframeExecutor.create(reporter, pkgFactory, - new TimestampGranularityMonitor(BlazeClock.instance()), directories, - workspaceStatusActionFactory, - ruleClassProvider.getBuildInfoFactories(), ImmutableSet.<Path>of(), - ImmutableList.<DiffAwareness.Factory>of(), - Predicates.<PathFragment>alwaysFalse(), - Preprocessor.Factory.Supplier.NullSupplier.INSTANCE, - ImmutableMap.<SkyFunctionName, SkyFunction>of(), - getPrecomputedValues() - ); + skyframeExecutor = + SequencedSkyframeExecutor.create( + reporter, + pkgFactory, + new TimestampGranularityMonitor(BlazeClock.instance()), + directories, + workspaceStatusActionFactory, + ruleClassProvider.getBuildInfoFactories(), + ImmutableSet.<Path>of(), + ImmutableList.<DiffAwareness.Factory>of(), + Predicates.<PathFragment>alwaysFalse(), + Preprocessor.Factory.Supplier.NullSupplier.INSTANCE, + ImmutableMap.<SkyFunctionName, SkyFunction>of(), + getPrecomputedValues(), + ImmutableList.<SkyValueDirtinessChecker>of()); skyframeExecutor.preparePackageLoading(pkgLocator, Options.getDefaults(PackageCacheOptions.class).defaultVisibility, true, 3, ruleClassProvider.getDefaultsPackageContent(), UUID.randomUUID()); 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 453815fd63..ab6f345d1d 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 @@ -107,6 +107,7 @@ import com.google.devtools.build.lib.skyframe.ConfiguredTargetKey; import com.google.devtools.build.lib.skyframe.DiffAwareness; import com.google.devtools.build.lib.skyframe.PrecomputedValue; import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor; +import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker; import com.google.devtools.build.lib.syntax.Label; import com.google.devtools.build.lib.syntax.Label.SyntaxException; import com.google.devtools.build.lib.testutil.FoundationTestCase; @@ -186,18 +187,21 @@ public abstract class BuildViewTestCase extends FoundationTestCase { new AnalysisTestUtil.DummyWorkspaceStatusActionFactory(directories); mutableActionGraph = new MapBasedActionGraph(); ruleClassProvider = getRuleClassProvider(); - skyframeExecutor = SequencedSkyframeExecutor.create(reporter, - new PackageFactory(ruleClassProvider, getEnvironmentExtensions()), - new TimestampGranularityMonitor(BlazeClock.instance()), directories, - workspaceStatusActionFactory, - ruleClassProvider.getBuildInfoFactories(), - ImmutableSet.<Path>of(), - ImmutableList.<DiffAwareness.Factory>of(), - Predicates.<PathFragment>alwaysFalse(), - getPreprocessorFactorySupplier(), - ImmutableMap.<SkyFunctionName, SkyFunction>of(), - getPrecomputedValues() - ); + skyframeExecutor = + SequencedSkyframeExecutor.create( + reporter, + new PackageFactory(ruleClassProvider, getEnvironmentExtensions()), + new TimestampGranularityMonitor(BlazeClock.instance()), + directories, + workspaceStatusActionFactory, + ruleClassProvider.getBuildInfoFactories(), + ImmutableSet.<Path>of(), + ImmutableList.<DiffAwareness.Factory>of(), + Predicates.<PathFragment>alwaysFalse(), + getPreprocessorFactorySupplier(), + ImmutableMap.<SkyFunctionName, SkyFunction>of(), + getPrecomputedValues(), + ImmutableList.<SkyValueDirtinessChecker>of()); skyframeExecutor.preparePackageLoading( new PathPackageLocator(rootDirectory), ConstantRuleVisibility.PUBLIC, true, 7, "", UUID.randomUUID()); diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java index 4222a911f3..34b967ef86 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java @@ -37,6 +37,7 @@ import com.google.devtools.build.lib.pkgcache.PathPackageLocator; import com.google.devtools.build.lib.skyframe.DiffAwareness; import com.google.devtools.build.lib.skyframe.PrecomputedValue; import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor; +import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker; import com.google.devtools.build.lib.skyframe.SkyframeExecutor; import com.google.devtools.build.lib.testutil.FoundationTestCase; import com.google.devtools.build.lib.testutil.TestConstants; @@ -92,16 +93,21 @@ public abstract class ConfigurationTestCase extends FoundationTestCase { pkgFactory = new PackageFactory(ruleClassProvider); AnalysisTestUtil.DummyWorkspaceStatusActionFactory workspaceStatusActionFactory = new AnalysisTestUtil.DummyWorkspaceStatusActionFactory(directories); - skyframeExecutor = SequencedSkyframeExecutor.create(reporter, pkgFactory, - new TimestampGranularityMonitor(BlazeClock.instance()), directories, - workspaceStatusActionFactory, - ruleClassProvider.getBuildInfoFactories(), ImmutableSet.<Path>of(), - ImmutableList.<DiffAwareness.Factory>of(), - Predicates.<PathFragment>alwaysFalse(), - Preprocessor.Factory.Supplier.NullSupplier.INSTANCE, - ImmutableMap.<SkyFunctionName, SkyFunction>of(), - ImmutableList.<PrecomputedValue.Injected>of() - ); + skyframeExecutor = + SequencedSkyframeExecutor.create( + reporter, + pkgFactory, + new TimestampGranularityMonitor(BlazeClock.instance()), + directories, + workspaceStatusActionFactory, + ruleClassProvider.getBuildInfoFactories(), + ImmutableSet.<Path>of(), + ImmutableList.<DiffAwareness.Factory>of(), + Predicates.<PathFragment>alwaysFalse(), + Preprocessor.Factory.Supplier.NullSupplier.INSTANCE, + ImmutableMap.<SkyFunctionName, SkyFunction>of(), + ImmutableList.<PrecomputedValue.Injected>of(), + ImmutableList.<SkyValueDirtinessChecker>of()); skyframeExecutor.preparePackageLoading(pkgLocator, Options.getDefaults(PackageCacheOptions.class).defaultVisibility, true, |