Desugar-singlejar integration tests for double-checking default methods.

PiperOrigin-RevId: 171980809
GitOrigin-RevId: 9cf05abe06ee687d21e8a5bb12399a33f3fe0498
Change-Id: I4995c684a6d1d7440a125e1f56daa47209c60cdc
diff --git a/test/java/com/google/devtools/build/android/desugar/desugar_deps_consistency_test.sh b/test/java/com/google/devtools/build/android/desugar/desugar_deps_consistency_test.sh
new file mode 100755
index 0000000..99682da
--- /dev/null
+++ b/test/java/com/google/devtools/build/android/desugar/desugar_deps_consistency_test.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# Copyright 2016 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+set -eu
+
+out="$(mktemp)"
+if ! "third_party/bazel/src/tools/singlejar/singlejar" --output "${out}" --check_desugar_deps --sources "$@"; then
+  rm "${out}"
+  case "$0" in
+    *_fail_test) echo "Singlejar failed as expected!"; exit 0;;
+  esac
+  echo "Singlejar unexpectedly succeeded :("
+  exit 1
+fi
+
+if third_party/java/jdk/jar/jar tf "${out}" | grep 'desugar_deps'; then
+  rm "${out}"
+  echo "Singlejar output unexpectedly contains desugaring metadata"
+  exit 2
+fi  # else grep didn't find anything -> pass
+rm "${out}"
+exit 0
diff --git a/test/java/com/google/devtools/build/android/desugar/testdata/InterfaceWithLambda.java b/test/java/com/google/devtools/build/android/desugar/testdata/InterfaceWithLambda.java
index 47d8ab6..420ac15 100644
--- a/test/java/com/google/devtools/build/android/desugar/testdata/InterfaceWithLambda.java
+++ b/test/java/com/google/devtools/build/android/desugar/testdata/InterfaceWithLambda.java
@@ -14,12 +14,14 @@
 package com.google.devtools.build.android.desugar.testdata;
 
 import com.google.common.collect.ImmutableList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 public interface InterfaceWithLambda {
   String ZERO = String.valueOf(0);
-  ImmutableList<String> DIGITS =
+  List<String> DIGITS =
       ImmutableList.of(0, 1)
           .stream()
           .map(i -> i == 0 ? ZERO : String.valueOf(i))
-          .collect(ImmutableList.toImmutableList());
+          .collect(Collectors.toList());
 }
diff --git a/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteDefaultInterfaceWithLambda.java b/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteDefaultInterfaceWithLambda.java
index 0d9f70a..30a5200 100644
--- a/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteDefaultInterfaceWithLambda.java
+++ b/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteDefaultInterfaceWithLambda.java
@@ -14,15 +14,17 @@
 package com.google.devtools.build.android.desugar.testdata.java8;
 
 import com.google.common.collect.ImmutableList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 public class ConcreteDefaultInterfaceWithLambda implements DefaultInterfaceWithLambda {
   static final String ONE = String.valueOf(1);
 
   @Override
-  public ImmutableList<String> digits() {
+  public List<String> digits() {
     return ImmutableList.of(0, 2)
         .stream()
         .map(i -> i == 0 ? ONE : String.valueOf(i))
-        .collect(ImmutableList.toImmutableList());
+        .collect(Collectors.toList());
   }
 }
diff --git a/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteOverridesDefaultWithLambda.java b/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteOverridesDefaultWithLambda.java
index cdcc5e9..5998f41 100644
--- a/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteOverridesDefaultWithLambda.java
+++ b/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteOverridesDefaultWithLambda.java
@@ -14,24 +14,26 @@
 package com.google.devtools.build.android.desugar.testdata.java8;
 
 import com.google.common.collect.ImmutableList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 public class ConcreteOverridesDefaultWithLambda implements DefaultInterfaceWithLambda {
   static final String TWO = String.valueOf(2);
   static final String THREE = String.valueOf(3);
 
   @Override
-  public ImmutableList<String> defaultWithLambda() {
+  public List<String> defaultWithLambda() {
     return ImmutableList.of(0, 3)
         .stream()
         .map(i -> i == 0 ? TWO : String.valueOf(i))
-        .collect(ImmutableList.toImmutableList());
+        .collect(Collectors.toList());
   }
 
   @Override
-  public ImmutableList<String> digits() {
+  public List<String> digits() {
     return ImmutableList.of(0, 4)
         .stream()
         .map(i -> i == 0 ? THREE : String.valueOf(i))
-        .collect(ImmutableList.toImmutableList());
+        .collect(Collectors.toList());
   }
 }
diff --git a/test/java/com/google/devtools/build/android/desugar/testdata/java8/DefaultInterfaceWithLambda.java b/test/java/com/google/devtools/build/android/desugar/testdata/java8/DefaultInterfaceWithLambda.java
index e97cae9..ce5fca7 100644
--- a/test/java/com/google/devtools/build/android/desugar/testdata/java8/DefaultInterfaceWithLambda.java
+++ b/test/java/com/google/devtools/build/android/desugar/testdata/java8/DefaultInterfaceWithLambda.java
@@ -14,20 +14,22 @@
 package com.google.devtools.build.android.desugar.testdata.java8;
 
 import com.google.common.collect.ImmutableList;
+import java.util.List;
+import java.util.stream.Collectors;
 
 public interface DefaultInterfaceWithLambda {
   String ZERO = String.valueOf(0);
 
-  public default ImmutableList<String> defaultWithLambda() {
+  public default List<String> defaultWithLambda() {
     return ImmutableList.of(0, 1)
         .stream()
         .map(i -> i == 0 ? ZERO : String.valueOf(i))
-        .collect(ImmutableList.toImmutableList());
+        .collect(Collectors.toList());
   }
 
-  public default ImmutableList<String> defaultCallsInterfaceMethod() {
+  public default List<String> defaultCallsInterfaceMethod() {
     return digits();
   }
 
-  public ImmutableList<String> digits();
+  public List<String> digits();
 }