From af62411649fbfeab269b480ed9ce65d04dd571b3 Mon Sep 17 00:00:00 2001 From: vladmos Date: Fri, 25 Aug 2017 16:41:47 +0200 Subject: Make tests independent of the current state of the incompatible_descriptive_string_representations flag PiperOrigin-RevId: 166475260 --- .../devtools/build/lib/syntax/SkylarkSemanticsOptions.java | 2 +- .../devtools/build/lib/skylark/SkylarkRuleContextTest.java | 10 ++-------- .../google/devtools/build/lib/syntax/MethodLibraryTest.java | 4 ++-- .../devtools/build/lib/syntax/util/EvaluationTestCase.java | 10 +++++++--- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemanticsOptions.java b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemanticsOptions.java index 99d1278da9..4b34825634 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemanticsOptions.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/SkylarkSemanticsOptions.java @@ -226,7 +226,7 @@ public class SkylarkSemanticsOptions extends OptionsBase implements Serializable name = "incompatible_descriptive_string_representations", defaultValue = "false", category = "incompatible changes", - documentationCategory = OptionDocumentationCategory.UNDOCUMENTED, + documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, effectTags = {OptionEffectTag.UNKNOWN}, metadataTags = {OptionMetadataTag.INCOMPATIBLE_CHANGE}, help = 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 7ab868ba66..b5bf2b8698 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 @@ -498,6 +498,7 @@ public class SkylarkRuleContextTest extends SkylarkTestCase { @Test public void existingRuleWithSelect() throws Exception { + setSkylarkSemanticsOptions("--incompatible_descriptive_string_representations=true"); scratch.file( "test/existing_rule.bzl", "def macro():", @@ -510,7 +511,7 @@ public class SkylarkRuleContextTest extends SkylarkTestCase { "macro()", "cc_library(name = 'a', srcs = [])"); getConfiguredTarget("//test:a"); - assertContainsEvent("selector({\"//foo:foo\": [\"//bar:bar\"]})"); + assertContainsEvent("select({Label(\"//foo:foo\"): [Label(\"//bar:bar\")]})"); } @Test @@ -669,13 +670,6 @@ public class SkylarkRuleContextTest extends SkylarkTestCase { assertThat(((Artifact) Iterables.getOnlyElement(result)).getFilename()).isEqualTo("d.txt"); } - @Test - public void testSkylarkRuleContextStr() throws Exception { - SkylarkRuleContext ruleContext = createRuleContext("//foo:foo"); - Object result = evalRuleContextCode(ruleContext, "'%s' % ruleContext"); - assertThat(result).isEqualTo("//foo:foo"); - } - @Test public void testSkylarkRuleContextGetDefaultShellEnv() throws Exception { SkylarkRuleContext ruleContext = createRuleContext("//foo:foo"); diff --git a/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java b/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java index dd6a46af76..a373ba7ade 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/MethodLibraryTest.java @@ -1602,14 +1602,14 @@ public class MethodLibraryTest extends EvaluationTestCase { @Test public void testStr() throws Exception { - new BothModesTest() + new BothModesTest("--incompatible_descriptive_string_representations=true") .testStatement("str(1)", "1") .testStatement("str(-2)", "-2") .testStatement("str([1, 2])", "[1, 2]") .testStatement("str(True)", "True") .testStatement("str(False)", "False") .testStatement("str(None)", "None") - .testStatement("str(str)", ""); + .testStatement("str(str)", ""); } @Test diff --git a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java index 4d52f6f51c..e903cfbef3 100644 --- a/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/syntax/util/EvaluationTestCase.java @@ -550,21 +550,25 @@ public class EvaluationTestCase { * A class that executes each separate test in both modes (Build and Skylark) */ protected class BothModesTest extends ModalTestCase { - public BothModesTest() {} + private final String[] skylarkOptions; + + public BothModesTest(String... skylarkOptions) { + this.skylarkOptions = skylarkOptions; + } /** * Executes the given Testable in both Build and Skylark mode */ @Override protected void run(Testable testable) throws Exception { - enableSkylarkMode(); + enableSkylarkMode(skylarkOptions); try { testable.run(); } catch (Exception e) { throw new Exception("While in Skylark mode", e); } - enableBuildMode(); + enableBuildMode(skylarkOptions); try { testable.run(); } catch (Exception e) { -- cgit v1.2.3