Make tests independent of the current state of the incompatible_descriptive_string_representations flag

PiperOrigin-RevId: 166475260
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 99d1278..4b34825 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 @@
     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 7ab868b..b5bf2b8 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 @@
 
   @Test
   public void existingRuleWithSelect() throws Exception {
+    setSkylarkSemanticsOptions("--incompatible_descriptive_string_representations=true");
     scratch.file(
         "test/existing_rule.bzl",
         "def macro():",
@@ -510,7 +511,7 @@
         "macro()",
         "cc_library(name = 'a', srcs = [])");
     getConfiguredTarget("//test:a");
-    assertContainsEvent("selector({\"//foo:foo\": [\"//bar:bar\"]})");
+    assertContainsEvent("select({Label(\"//foo:foo\"): [Label(\"//bar:bar\")]})");
   }
 
   @Test
@@ -670,13 +671,6 @@
   }
 
   @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");
     Object result = evalRuleContextCode(ruleContext, "ruleContext.configuration.default_shell_env");
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 dd6a46a..a373ba7 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 @@
 
   @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)", "<function str>");
+        .testStatement("str(str)", "<built-in function 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 4d52f6f..e903cfb 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 @@
    * 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) {