diff options
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java | 127 |
1 files changed, 65 insertions, 62 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java index 138215fb28..0dc5e6b4ea 100644 --- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java +++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkRuleImplementationFunctionsTest.java @@ -15,14 +15,11 @@ package com.google.devtools.build.lib.skylark; import static com.google.common.truth.Truth.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static com.google.common.truth.Truth.assertWithMessage; import static org.junit.Assert.fail; import com.google.common.base.Function; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.ActionAnalysisMetadata; import com.google.devtools.build.lib.actions.Artifact; @@ -157,7 +154,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { optionalKey); } }; - assertFalse(mockFunc.isConfigured()); + assertThat(mockFunc.isConfigured()).isFalse(); mockFunc.configure( SkylarkRuleImplementationFunctionsTest.class .getDeclaredField("mockFunc") @@ -187,20 +184,20 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { public void testSkylarkFunctionPosArgs() throws Exception { setupSkylarkFunction("a = mock('a', 'b', mandatory_key='c')"); Map<?, ?> params = (Map<?, ?>) lookup("a"); - assertEquals("a", params.get("mandatory")); - assertEquals("b", params.get("optional")); - assertEquals("c", params.get("mandatory_key")); - assertEquals("x", params.get("optional_key")); + assertThat(params.get("mandatory")).isEqualTo("a"); + assertThat(params.get("optional")).isEqualTo("b"); + assertThat(params.get("mandatory_key")).isEqualTo("c"); + assertThat(params.get("optional_key")).isEqualTo("x"); } @Test public void testSkylarkFunctionKwArgs() throws Exception { setupSkylarkFunction("a = mock(optional='b', mandatory='a', mandatory_key='c')"); Map<?, ?> params = (Map<?, ?>) lookup("a"); - assertEquals("a", params.get("mandatory")); - assertEquals("b", params.get("optional")); - assertEquals("c", params.get("mandatory_key")); - assertEquals("x", params.get("optional_key")); + assertThat(params.get("mandatory")).isEqualTo("a"); + assertThat(params.get("optional")).isEqualTo("b"); + assertThat(params.get("mandatory_key")).isEqualTo("c"); + assertThat(params.get("optional_key")).isEqualTo("x"); } @Test @@ -257,9 +254,9 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { assertArtifactFilenames(action.getOutputs(), "a.txt", "b.img"); MoreAsserts.assertContainsSublist( action.getArguments(), "-c", "dummy_command", "", "--a", "--b"); - assertEquals("DummyMnemonic", action.getMnemonic()); - assertEquals("dummy_message", action.getProgressMessage()); - assertEquals(targetConfig.getLocalShellEnvironment(), action.getEnvironment()); + assertThat(action.getMnemonic()).isEqualTo("DummyMnemonic"); + assertThat(action.getProgressMessage()).isEqualTo("dummy_message"); + assertThat(action.getEnvironment()).isEqualTo(targetConfig.getLocalShellEnvironment()); } @Test @@ -331,8 +328,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { (SpawnAction) Iterables.getOnlyElement( ruleContext.getRuleContext().getAnalysisEnvironment().getRegisteredActions()); - assertEquals(ImmutableMap.of("a", "b"), action.getEnvironment()); - assertEquals(ImmutableMap.of("a", "b"), action.getExecutionInfo()); + assertThat(action.getEnvironment()).containsExactly("a", "b"); + assertThat(action.getExecutionInfo()).containsExactly("a", "b"); } @Test @@ -400,9 +397,10 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { (FileWriteAction) Iterables.getOnlyElement( ruleContext.getRuleContext().getAnalysisEnvironment().getRegisteredActions()); - assertEquals("foo/a.txt", Iterables.getOnlyElement(action.getOutputs()).getExecPathString()); - assertEquals("hello world", action.getFileContents()); - assertFalse(action.makeExecutable()); + assertThat(Iterables.getOnlyElement(action.getOutputs()).getExecPathString()) + .isEqualTo("foo/a.txt"); + assertThat(action.getFileContents()).isEqualTo("hello world"); + assertThat(action.makeExecutable()).isFalse(); } @Test @@ -509,10 +507,11 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { private void assertMatches(String description, String expectedPattern, String computedValue) throws Exception { - assertTrue( - Printer.format( - "%s %r did not match pattern '%s'", description, computedValue, expectedPattern), - Pattern.matches(expectedPattern, computedValue)); + assertWithMessage( + Printer.format( + "%s %r did not match pattern '%s'", description, computedValue, expectedPattern)) + .that(Pattern.matches(expectedPattern, computedValue)) + .isTrue(); } @Test @@ -621,11 +620,13 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { " output = ruleContext.files.srcs[1],", " substitutions = {'a': 'b'},", " executable = False)"); - assertEquals("foo/a.txt", Iterables.getOnlyElement(action.getInputs()).getExecPathString()); - assertEquals("foo/b.img", Iterables.getOnlyElement(action.getOutputs()).getExecPathString()); - assertEquals("a", Iterables.getOnlyElement(action.getSubstitutions()).getKey()); - assertEquals("b", Iterables.getOnlyElement(action.getSubstitutions()).getValue()); - assertFalse(action.makeExecutable()); + assertThat(Iterables.getOnlyElement(action.getInputs()).getExecPathString()) + .isEqualTo("foo/a.txt"); + assertThat(Iterables.getOnlyElement(action.getOutputs()).getExecPathString()) + .isEqualTo("foo/b.img"); + assertThat(Iterables.getOnlyElement(action.getSubstitutions()).getKey()).isEqualTo("a"); + assertThat(Iterables.getOnlyElement(action.getSubstitutions()).getValue()).isEqualTo("b"); + assertThat(action.makeExecutable()).isFalse(); } /** @@ -719,9 +720,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { ruleContext, "artifacts = ruleContext.files.srcs", "ruleContext.runfiles(files = artifacts)"); - assertEquals( - ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result)), - ImmutableList.of("a.txt", "b.img")); + assertThat(ImmutableList.of("a.txt", "b.img")) + .isEqualTo(ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result))); } @Test @@ -732,9 +732,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { ruleContext, "ftb = depset() + ruleContext.files.srcs", "ruleContext.runfiles(transitive_files = ftb)"); - assertEquals( - ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result)), - ImmutableList.of("a.txt", "b.img")); + assertThat(ImmutableList.of("a.txt", "b.img")) + .isEqualTo(ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result))); } @Test @@ -748,9 +747,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { // is an ImmutableList and Skylark interprets it as a tuple. "ruleContext.runfiles(collect_default = True, files = artifacts)"); // From DEFAULT only libjl.jar comes, see testRunfilesAddFromDependencies(). - assertEquals( - ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result)), - ImmutableList.of("libjl.jar", "gl.a", "gl.gcgox")); + assertThat(ImmutableList.of("libjl.jar", "gl.a", "gl.gcgox")) + .isEqualTo(ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result))); } @Test @@ -759,8 +757,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { evalRuleContextCode( "artifacts = ruleContext.files.srcs", "ruleContext.runfiles(symlinks = {'sym1': artifacts[0]})"); - assertEquals( - ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result)), ImmutableList.of("a.txt")); + assertThat(ImmutableList.of("a.txt")) + .isEqualTo(ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result))); } @Test @@ -769,8 +767,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { evalRuleContextCode( "artifacts = ruleContext.files.srcs", "ruleContext.runfiles(root_symlinks = {'sym1': artifacts[0]})"); - assertEquals( - ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result)), ImmutableList.of("a.txt")); + assertThat(ImmutableList.of("a.txt")) + .isEqualTo(ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result))); } @Test @@ -814,7 +812,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { Object result = evalRuleContextCode( ruleContext, "f = depset(ruleContext.files.srcs)", "cmd_helper.join_paths(':', f)"); - assertEquals("foo/a.txt:foo/b.img", result); + assertThat(result).isEqualTo("foo/a.txt:foo/b.img"); } @Test @@ -838,8 +836,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { public void testFilesForRuleConfiguredTarget() throws Exception { Object result = evalRuleContextCode(createRuleContext("//foo:foo"), "ruleContext.attr.srcs[0].files"); - assertEquals( - "a.txt", ActionsTestUtil.baseNamesOf(((SkylarkNestedSet) result).getSet(Artifact.class))); + assertThat(ActionsTestUtil.baseNamesOf(((SkylarkNestedSet) result).getSet(Artifact.class))) + .isEqualTo("a.txt"); } @Test @@ -1042,7 +1040,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { getConfiguredTarget("//test:my_rule"); fail(); } catch (AssertionError expected) { - assertThat(expected.getMessage()).contains("Invalid key for default provider: foo"); + assertThat(expected).hasMessageThat().contains("Invalid key for default provider: foo"); } } @@ -1178,8 +1176,9 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { getConfiguredTarget("//test:my_rule"); fail(); } catch (AssertionError expected) { - assertThat(expected.getMessage()).contains("Object of type Target doesn't " - + "contain declared provider unused_provider"); + assertThat(expected) + .hasMessageThat() + .contains("Object of type Target doesn't " + "contain declared provider unused_provider"); } } @@ -1222,8 +1221,10 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { getConfiguredTarget("//test:my_rule"); fail(); } catch (AssertionError expected) { - assertThat(expected.getMessage()).contains("Type Target only supports indexing " - + "by object constructors, got string instead"); + assertThat(expected) + .hasMessageThat() + .contains( + "Type Target only supports indexing " + "by object constructors, got string instead"); } } @@ -1251,8 +1252,9 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { getConfiguredTarget("//test:my_rule"); fail(); } catch (AssertionError expected) { - assertThat(expected.getMessage()).contains("Object of type Target doesn't " - + "contain declared provider unused_provider"); + assertThat(expected) + .hasMessageThat() + .contains("Object of type Target doesn't " + "contain declared provider unused_provider"); } } @@ -1332,8 +1334,10 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { getConfiguredTarget("//test:my_rule"); fail(); } catch (AssertionError expected) { - assertThat(expected.getMessage()).contains("Type Target only supports querying by object " - + "constructors, got string instead"); + assertThat(expected) + .hasMessageThat() + .contains( + "Type Target only supports querying by object " + "constructors, got string instead"); } } @@ -1341,9 +1345,8 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { public void testFilesForFileConfiguredTarget() throws Exception { Object result = evalRuleContextCode(createRuleContext("//foo:bar"), "ruleContext.attr.srcs[0].files"); - assertEquals( - "libjl.jar", - ActionsTestUtil.baseNamesOf(((SkylarkNestedSet) result).getSet(Artifact.class))); + assertThat(ActionsTestUtil.baseNamesOf(((SkylarkNestedSet) result).getSet(Artifact.class))) + .isEqualTo("libjl.jar"); } @Test @@ -1359,14 +1362,14 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { public void testBinDirPath() throws Exception { SkylarkRuleContext ctx = createRuleContext("//foo:bar"); Object result = evalRuleContextCode(ctx, "ruleContext.bin_dir.path"); - assertEquals(ctx.getConfiguration().getBinFragment().getPathString(), result); + assertThat(result).isEqualTo(ctx.getConfiguration().getBinFragment().getPathString()); } @Test public void testEmptyLabelListTypeAttrInCtx() throws Exception { SkylarkRuleContext ctx = createRuleContext("//foo:baz"); Object result = evalRuleContextCode(ctx, "ruleContext.attr.srcs"); - assertEquals(MutableList.EMPTY, result); + assertThat(result).isEqualTo(MutableList.EMPTY); } @Test @@ -1375,7 +1378,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { String java = (String) evalRuleContextCode(ctx, "ruleContext.var['JAVA']"); // Get the last path segment java = java.substring(java.lastIndexOf('/')); - assertEquals("/java" + OsUtils.executableExtension(), java); + assertThat(java).isEqualTo("/java" + OsUtils.executableExtension()); } @Test @@ -1383,7 +1386,7 @@ public class SkylarkRuleImplementationFunctionsTest extends SkylarkTestCase { SkylarkRuleContext ctx = createRuleContext("//foo:baz"); boolean coverage = (Boolean) evalRuleContextCode(ctx, "ruleContext.configuration.coverage_enabled"); - assertEquals(coverage, ctx.getRuleContext().getConfiguration().isCodeCoverageEnabled()); + assertThat(ctx.getRuleContext().getConfiguration().isCodeCoverageEnabled()).isEqualTo(coverage); } @Override |