@Test public void testTestDependencies() throws Exception { BuildRuleResolver ruleResolver = new BuildRuleResolver(TargetGraph.EMPTY, new DefaultTargetNodeToBuildRuleTransformer()); BuildRule shTest = new ShTestBuilder(BuildTargetFactory.newInstance("//:test")) .setTest(new FakeSourcePath("test.sh")) .build(ruleResolver); Genrule genrule = (Genrule) GenruleBuilder.newGenruleBuilder(BuildTargetFactory.newInstance("//:rule")) .setOut("out") .setCmd("build.sh") .setTests(ImmutableSortedSet.of(shTest.getBuildTarget())) .build(ruleResolver); assertThat(genrule.getTests(), Matchers.containsInAnyOrder(shTest.getBuildTarget())); }
@Test public void testClasspathTransitiveDepsBecomeFirstOrderDeps() { BuildRuleResolver ruleResolver = new BuildRuleResolver(); BuildRule transitiveDep = JavaLibraryBuilder.createBuilder(BuildTargetFactory.newInstance("//exciting:dep")) .addSrc(Paths.get("Dep.java")) .build(ruleResolver); BuildRule dep = JavaLibraryBuilder.createBuilder(BuildTargetFactory.newInstance("//exciting:target")) .addSrc(Paths.get("Other.java")) .addDep(transitiveDep.getBuildTarget()) .build(ruleResolver); Genrule genrule = (Genrule) GenruleBuilder.newGenruleBuilder(BuildTargetFactory.newInstance("//:rule")) .setOut("out") .setCmd("$(classpath //exciting:target)") .build(ruleResolver); assertThat(genrule.getDeps(), Matchers.containsInAnyOrder(dep, transitiveDep)); }