Update tests to avoid depset union.

Progress towards https://github.com/bazelbuild/bazel/issues/5817

RELNOTES: None.
PiperOrigin-RevId: 245242309
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java
index 0390def..a79bd29 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkDefinedAspectsTest.java
@@ -266,11 +266,8 @@
     scratch.file(
         "test/aspect.bzl",
         "def _impl(target, ctx):",
-        "   s = depset([target.label])",
-        "   c = depset([ctx.rule.kind])",
-        "   for i in ctx.rule.attr.deps:",
-        "       s += i.target_labels",
-        "       c += i.rule_kinds",
+        "   s = depset([target.label], transitive = [i.target_labels for i in ctx.rule.attr.deps])",
+        "   c = depset([ctx.rule.kind], transitive = [i.rule_kinds for i in ctx.rule.attr.deps])",
         "   return struct(target_labels = s, rule_kinds = c)",
         "",
         "MyAspect = aspect(",
@@ -314,16 +311,18 @@
     scratch.file(
         "test/aspect.bzl",
         "def _impl(target, ctx):",
-        "   s = depset([target.label])",
-        "   c = depset([ctx.rule.kind])",
+        "   s = []",
+        "   c = []",
         "   a = ctx.rule.attr",
-        "   if hasattr(a, '_defaultattr') and a._defaultattr:",
-        "       s += a._defaultattr.target_labels",
-        "       c += a._defaultattr.rule_kinds",
-        "   if hasattr(a, '_cc_toolchain') and a._cc_toolchain:",
-        "       s += a._cc_toolchain.target_labels",
-        "       c += a._cc_toolchain.rule_kinds",
-        "   return struct(target_labels = s, rule_kinds = c)",
+        "   if getattr(a, '_defaultattr', None):",
+        "       s += [a._defaultattr.target_labels]",
+        "       c += [a._defaultattr.rule_kinds]",
+        "   if getattr(a, '_cc_toolchain', None):",
+        "       s += [a._cc_toolchain.target_labels]",
+        "       c += [a._cc_toolchain.rule_kinds]",
+        "   return struct(",
+        "       target_labels = depset([target.label], transitive = s),",
+        "       rule_kinds = depset([ctx.rule.kind], transitive = c))",
         "",
         "def _rule_impl(ctx):",
         "   pass",
@@ -558,15 +557,11 @@
     scratch.file(
         "test/aspect.bzl",
         "def _aspect_impl(target, ctx):",
-        "   s = depset([target.label])",
-        "   for i in ctx.rule.attr.deps:",
-        "       s += i.target_labels",
+        "   s = depset([target.label], transitive = [i.target_labels for i in ctx.rule.attr.deps])",
         "   return struct(target_labels = s)",
         "",
         "def _rule_impl(ctx):",
-        "   s = depset([])",
-        "   for i in ctx.attr.attr:",
-        "       s += i.target_labels",
+        "   s = depset(transitive = [i.target_labels for i in ctx.attr.attr])",
         "   return struct(rule_deps = s)",
         "",
         "MyAspect = aspect(",
@@ -1652,10 +1647,8 @@
   private String[] aspectBzlFile(String attrAspects) {
     return new String[] {
       "def _repro_aspect_impl(target, ctx):",
-      "    s = depset([str(target.label)])",
-      "    for d in ctx.rule.attr.deps:",
-      "       if hasattr(d, 'aspect_info'):",
-      "         s = s | d.aspect_info",
+      "    s = depset([str(target.label)], transitive =",
+      "      [d.aspect_info for d in ctx.rule.attr.deps if hasattr(d, 'aspect_info')])",
       "    return struct(aspect_info = s)",
       "",
       "_repro_aspect = aspect(",
@@ -1664,10 +1657,8 @@
       ")",
       "",
       "def repro_impl(ctx):",
-      "    s = depset()",
-      "    for d in ctx.attr.deps:",
-      "       if hasattr(d, 'aspect_info'):",
-      "         s = s | d.aspect_info",
+      "    s = depset(transitive = ",
+      "      [d.aspect_info for d in ctx.attr.deps if hasattr(d, 'aspect_info')])",
       "    return struct(rule_info = s)",
       "",
       "def repro_no_aspect_impl(ctx):",
@@ -1706,9 +1697,7 @@
         "rule_bin_out = rule(_rule_impl, output_to_genfiles=False)",
         "rule_gen_out = rule(_rule_impl, output_to_genfiles=True)",
         "def _main_rule_impl(ctx):",
-        "   s = depset()",
-        "   for d in ctx.attr.deps:",
-        "       s = s | depset([d.aspect_file])",
+        "   s = depset([d.aspect_file for d in ctx.attr.deps])",
         "   return struct(aspect_files = s)",
         "main_rule = rule(_main_rule_impl,",
         "   attrs = { 'deps' : attr.label_list(aspects = [my_aspect]) },",
@@ -1839,10 +1828,9 @@
     scratch.file(
         "test/aspect.bzl",
         "def _impl(target, ctx):",
-        "   s = depset([target.label])",
-        "   if hasattr(ctx.rule.attr, 'runtime_deps'):",
-        "     for i in ctx.rule.attr.runtime_deps:",
-        "       s += i.target_labels",
+        "   s = depset([target.label], transitive =",
+        "     [i.target_labels for i in ctx.rule.attr.runtime_deps]",
+        "     if hasattr(ctx.rule.attr, 'runtime_deps') else [])",
         "   return struct(target_labels = s)",
         "",
         "MyAspect = aspect(",
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
index cb7f3d8..175c38b 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkIntegrationTest.java
@@ -304,8 +304,7 @@
         "test/skylark/extension.bzl",
         "load('//myinfo:myinfo.bzl', 'MyInfo')",
         "def _impl(ctx):",
-        "  f = ctx.attr.dep.output_groups['_hidden_top_level" + INTERNAL_SUFFIX + "']",
-        "  g = ctx.attr.dep.output_groups['_hidden_top_level" + INTERNAL_SUFFIX + "'] | depset([])",
+        "  g = depset(ctx.attr.dep.output_groups['_hidden_top_level" + INTERNAL_SUFFIX + "'])",
         "  return [MyInfo(result = g),",
         "      OutputGroupInfo(my_group = g)]",
         "my_rule = rule(implementation = _impl,",
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 3f37168..b780ef2 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
@@ -923,7 +923,7 @@
     Object result =
         evalRuleContextCode(
             ruleContext,
-            "ftb = depset() + ruleContext.files.srcs",
+            "ftb = depset(ruleContext.files.srcs)",
             "ruleContext.runfiles(transitive_files = ftb)");
     assertThat(ImmutableList.of("a.txt", "b.img"))
         .isEqualTo(ActionsTestUtil.baseArtifactNames(getRunfileArtifacts(result)));
@@ -996,7 +996,7 @@
   @Test
   public void testNsetContainsList() throws Exception {
     checkErrorContains(
-        "depsets cannot contain items of type 'list'", "depset() + [ruleContext.files.srcs]");
+        "depsets cannot contain items of type 'list'", "depset([[ruleContext.files.srcs]])");
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
index 1cd50c0..12a789a 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
@@ -1496,7 +1496,7 @@
 
   @Test
   public void testUnionSet() throws Exception {
-    new SkylarkTest()
+    new SkylarkTest("--incompatible_depset_union=false")
         .testStatement("str(depset([1, 3]) | depset([1, 2]))", "depset([1, 2, 3])")
         .testStatement("str(depset([1, 2]) | [1, 3])", "depset([1, 2, 3])")
         .testIfExactError("unsupported operand type(s) for |: 'int' and 'int'", "2 | 4");
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java
index ed522f7..3a106da 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkNestedSetTest.java
@@ -366,6 +366,7 @@
 
   @Test
   public void testUnionIncompatibleOrder() throws Exception {
+    env = newEnvironmentWithSkylarkOptions("--incompatible_depset_union=false");
     checkEvalError(
         "Order mismatch: topological != postorder",
         "depset(['a', 'b'], order='postorder') + depset(['c', 'd'], order='topological')");
@@ -373,13 +374,9 @@
 
   @Test
   public void testUnionWithNonsequence() throws Exception {
-    new BothModesTest()
-        .testIfExactError(
-            "cannot union value of type 'int' to a depset",
-            "depset([]).union(5)")
-        .testIfExactError(
-            "cannot union value of type 'string' to a depset",
-            "depset(['a']).union('b')");
+    env = newEnvironmentWithSkylarkOptions("--incompatible_depset_union=false");
+    checkEvalError("cannot union value of type 'int' to a depset", "depset([]).union(5)");
+    checkEvalError("cannot union value of type 'string' to a depset", "depset(['a']).union('b')");
   }
 
   @Test
@@ -393,6 +390,7 @@
 
   @Test
   public void testUnionNoSideEffects() throws Exception {
+    env = newEnvironmentWithSkylarkOptions("--incompatible_depset_union=false");
     eval(
         "def func():",
         "  s1 = depset(['a'])",
@@ -404,6 +402,7 @@
 
   @Test
   public void testFunctionReturnsDepset() throws Exception {
+    env = newEnvironmentWithSkylarkOptions("--incompatible_depset_union=false");
     eval(
         "def func():",
         "  t = depset()",
@@ -416,6 +415,7 @@
 
   @Test
   public void testPlusEqualsWithList() throws Exception {
+    env = newEnvironmentWithSkylarkOptions("--incompatible_depset_union=false");
     eval(
         "def func():",
         "  t = depset()",
@@ -427,6 +427,7 @@
 
   @Test
   public void testPlusEqualsNoSideEffects() throws Exception {
+    env = newEnvironmentWithSkylarkOptions("--incompatible_depset_union=false");
     eval(
         "def func():",
         "  s1 = depset()",
@@ -440,6 +441,7 @@
 
   @Test
   public void testFuncParamNoSideEffects() throws Exception {
+    env = newEnvironmentWithSkylarkOptions("--incompatible_depset_union=false");
     eval(
         "def func1(t):",
         "  t += ['b']",
@@ -454,6 +456,7 @@
 
   @Test
   public void testTransitiveOrdering() throws Exception {
+    env = newEnvironmentWithSkylarkOptions("--incompatible_depset_union=false");
     eval(
         "def func():",
         "  sa = depset(['a'], order='postorder')",
@@ -467,6 +470,7 @@
 
   @Test
   public void testLeftRightDirectOrdering() throws Exception {
+    env = newEnvironmentWithSkylarkOptions("--incompatible_depset_union=false");
     eval(
         "def func():",
         "  t = depset()",