diff options
author | 2017-03-30 20:45:52 +0000 | |
---|---|---|
committer | 2017-03-31 17:11:22 +0200 | |
commit | 060a448e92136a5b5174918b2d985f686b1a7fa6 (patch) | |
tree | 0e013be38bf6815abd532433372c455203203dcf /src/test/java/com/google | |
parent | 1520edbba81f3c61723be0ac792601d0299fa5f8 (diff) |
Add ctx.experimental_new_directory (undocumented) to create tree artifacts in Skylark.
RELNOTES: None.
PiperOrigin-RevId: 151744710
Diffstat (limited to 'src/test/java/com/google')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java index 720cb12654..961eee63d5 100644 --- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java +++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleContextTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import com.google.common.collect.ImmutableList; @@ -753,6 +754,31 @@ public class SkylarkRuleContextTest extends SkylarkTestCase { } @Test + public void testDeriveTreeArtifact() throws Exception { + SkylarkRuleContext ruleContext = createRuleContext("//foo:foo"); + Object result = + evalRuleContextCode(ruleContext, "ruleContext.experimental_new_directory('a/b')"); + Artifact artifact = (Artifact) result; + PathFragment fragment = artifact.getRootRelativePath(); + assertEquals("foo/a/b", fragment.getPathString()); + assertTrue(artifact.isTreeArtifact()); + } + + @Test + public void testDeriveTreeArtifactNextToSibling() throws Exception { + SkylarkRuleContext ruleContext = createRuleContext("//foo:foo"); + Object result = + evalRuleContextCode( + ruleContext, + "b = ruleContext.experimental_new_directory('a/b')\n" + + "ruleContext.experimental_new_directory('c', sibling=b)"); + Artifact artifact = (Artifact) result; + PathFragment fragment = artifact.getRootRelativePath(); + assertEquals("foo/a/c", fragment.getPathString()); + assertTrue(artifact.isTreeArtifact()); + } + + @Test public void testParamFileLegacy() throws Exception { SkylarkRuleContext ruleContext = createRuleContext("//foo:foo"); Object result = |