diff options
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skyframe')
7 files changed, 51 insertions, 4 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java index aae32548db..4870806cc5 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java @@ -117,6 +117,8 @@ public class ArtifactFunctionTest { .put(SkyFunctions.PACKAGE, new PackageFunction(null, null, null, null, null, null, null)) .put(SkyFunctions.PACKAGE_LOOKUP, new PackageLookupFunction(null)) + .put(SkyFunctions.WORKSPACE_AST, + new WorkspaceASTFunction(TestRuleClassProvider.getRuleClassProvider())) .put(SkyFunctions.WORKSPACE_FILE, new WorkspaceFileFunction(TestRuleClassProvider.getRuleClassProvider(), new PackageFactory(TestRuleClassProvider.getRuleClassProvider()), diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java index e3f1c9e478..7780f7fc24 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java @@ -140,6 +140,8 @@ public class FileFunctionTest { .put(SkyFunctions.PACKAGE_LOOKUP, new PackageLookupFunction(new AtomicReference<>( ImmutableSet.<PackageIdentifier>of()))) + .put(SkyFunctions.WORKSPACE_AST, + new WorkspaceASTFunction(TestRuleClassProvider.getRuleClassProvider())) .put(SkyFunctions.WORKSPACE_FILE, new WorkspaceFileFunction(TestRuleClassProvider.getRuleClassProvider(), new PackageFactory(TestRuleClassProvider.getRuleClassProvider()), diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java index 01111afb26..3b0380e15f 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java @@ -113,6 +113,8 @@ public class FilesystemValueCheckerTest { new PackageFunction(null, null, null, null, null, null, null)); skyFunctions.put(SkyFunctions.PACKAGE_LOOKUP, new PackageLookupFunction(new AtomicReference<>(ImmutableSet.<PackageIdentifier>of()))); + skyFunctions.put(SkyFunctions.WORKSPACE_AST, + new WorkspaceASTFunction(TestRuleClassProvider.getRuleClassProvider())); skyFunctions.put(SkyFunctions.WORKSPACE_FILE, new WorkspaceFileFunction(TestRuleClassProvider.getRuleClassProvider(), new PackageFactory(TestRuleClassProvider.getRuleClassProvider()), diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java index a27cb61bb3..4195a3db15 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/PackageLookupFunctionTest.java @@ -88,6 +88,8 @@ public class PackageLookupFunctionTest extends FoundationTestCase { skyFunctions.put(SkyFunctions.BLACKLISTED_PACKAGE_PREFIXES, new BlacklistedPackagePrefixesFunction()); RuleClassProvider ruleClassProvider = TestRuleClassProvider.getRuleClassProvider(); + skyFunctions.put(SkyFunctions.WORKSPACE_AST, + new WorkspaceASTFunction(TestRuleClassProvider.getRuleClassProvider())); skyFunctions.put( SkyFunctions.WORKSPACE_FILE, new WorkspaceFileFunction( diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java index 5c32da996f..62a375f460 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java @@ -108,6 +108,8 @@ public final class RecursiveFilesystemTraversalFunctionTest extends FoundationTe new PackageFunction(null, null, null, null, null, null, null)); skyFunctions.put(SkyFunctions.PACKAGE_LOOKUP, new PackageLookupFunction(deletedPackages)); + skyFunctions.put(SkyFunctions.WORKSPACE_AST, + new WorkspaceASTFunction(TestRuleClassProvider.getRuleClassProvider())); skyFunctions.put(SkyFunctions.WORKSPACE_FILE, new WorkspaceFileFunction(TestRuleClassProvider.getRuleClassProvider(), new PackageFactory(TestRuleClassProvider.getRuleClassProvider()), 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 7f24a34cb0..995ece51db 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 @@ -162,6 +162,8 @@ public abstract class TimestampBuilderTestCase extends FoundationTestCase { .put(SkyFunctions.PACKAGE, new PackageFunction(null, null, null, null, null, null, null)) .put(SkyFunctions.PACKAGE_LOOKUP, new PackageLookupFunction(null)) + .put(SkyFunctions.WORKSPACE_AST, + new WorkspaceASTFunction(TestRuleClassProvider.getRuleClassProvider())) .put(SkyFunctions.WORKSPACE_FILE, new WorkspaceFileFunction(TestRuleClassProvider.getRuleClassProvider(), new PackageFactory(TestRuleClassProvider.getRuleClassProvider()), diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunctionTest.java index 91afbfaae7..71c3cf296f 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunctionTest.java @@ -32,14 +32,20 @@ import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.lib.vfs.RootedPath; import com.google.devtools.build.skyframe.SkyFunction; +import com.google.devtools.build.skyframe.SkyFunctionName; import com.google.devtools.build.skyframe.SkyKey; +import com.google.devtools.build.skyframe.SkyValue; +import org.hamcrest.BaseMatcher; +import org.hamcrest.Description; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import org.mockito.Matchers; import org.mockito.Mockito; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; import java.io.IOException; @@ -50,6 +56,7 @@ import java.io.IOException; public class WorkspaceFileFunctionTest extends BuildViewTestCase { private WorkspaceFileFunction skyFunc; + private WorkspaceASTFunction astSkyFunc; private FakeFileValue fakeWorkspaceFileValue; private static class FakeFileValue extends FileValue { @@ -94,13 +101,13 @@ public class WorkspaceFileFunctionTest extends BuildViewTestCase { @Before public final void setUp() throws Exception { ConfiguredRuleClassProvider ruleClassProvider = TestRuleClassProvider.getRuleClassProvider(); - skyFunc = + skyFunc = new WorkspaceFileFunction( ruleClassProvider, - new PackageFactory( - TestRuleClassProvider.getRuleClassProvider(), + new PackageFactory(ruleClassProvider, new BazelRulesModule().getPackageEnvironmentExtension()), directories); + astSkyFunc = new WorkspaceASTFunction(ruleClassProvider); fakeWorkspaceFileValue = new FakeFileValue(); } @@ -115,9 +122,37 @@ public class WorkspaceFileFunctionTest extends BuildViewTestCase { workspacePath.getParentDirectory(), new PathFragment(workspacePath.getBaseName())); } + // Dummy harmcrest matcher that match the function name of a skykey + private static class SkyKeyMatchers extends BaseMatcher<SkyKey> { + private final SkyFunctionName functionName; + + public SkyKeyMatchers(SkyFunctionName functionName) { + this.functionName = functionName; + } + @Override + public boolean matches(Object item) { + if (item instanceof SkyKey) { + return ((SkyKey) item).functionName().equals(functionName); + } + return false; + } + + @Override + public void describeTo(Description description) {} + } + private SkyFunction.Environment getEnv() { SkyFunction.Environment env = Mockito.mock(SkyFunction.Environment.class); - Mockito.when(env.getValue(Matchers.<SkyKey>any())).thenReturn(fakeWorkspaceFileValue); + Mockito.when(env.getValue(Matchers.argThat(new SkyKeyMatchers(SkyFunctions.FILE)))) + .thenReturn(fakeWorkspaceFileValue); + Mockito.when(env.getValue(Matchers.argThat(new SkyKeyMatchers(SkyFunctions.WORKSPACE_AST)))) + .then(new Answer<SkyValue>() { + @Override + public SkyValue answer(InvocationOnMock invocation) throws Throwable { + SkyKey key = (SkyKey) invocation.getArguments()[0]; + return astSkyFunc.compute(key, getEnv()); + } + }); return env; } |