aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar kmb <kmb@google.com>2017-10-12 19:53:43 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-10-13 13:53:05 +0200
commit9cf05abe06ee687d21e8a5bb12399a33f3fe0498 (patch)
tree7ebcf060e80506a943e1cc5cf500065bad98929d
parentea140923af949fa0f55f2a980cbd2518fbd0bbec (diff)
Desugar-singlejar integration tests for double-checking default methods.
PiperOrigin-RevId: 171980809
-rwxr-xr-xsrc/test/java/com/google/devtools/build/android/desugar/desugar_deps_consistency_test.sh34
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata/InterfaceWithLambda.java6
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteDefaultInterfaceWithLambda.java6
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteOverridesDefaultWithLambda.java10
-rw-r--r--src/test/java/com/google/devtools/build/android/desugar/testdata/java8/DefaultInterfaceWithLambda.java10
5 files changed, 54 insertions, 12 deletions
diff --git a/src/test/java/com/google/devtools/build/android/desugar/desugar_deps_consistency_test.sh b/src/test/java/com/google/devtools/build/android/desugar/desugar_deps_consistency_test.sh
new file mode 100755
index 0000000000..99682da02b
--- /dev/null
+++ b/src/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/src/test/java/com/google/devtools/build/android/desugar/testdata/InterfaceWithLambda.java b/src/test/java/com/google/devtools/build/android/desugar/testdata/InterfaceWithLambda.java
index 47d8ab6ecd..420ac15171 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata/InterfaceWithLambda.java
+++ b/src/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/src/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteDefaultInterfaceWithLambda.java b/src/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteDefaultInterfaceWithLambda.java
index 0d9f70a76b..30a52003d8 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteDefaultInterfaceWithLambda.java
+++ b/src/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/src/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteOverridesDefaultWithLambda.java b/src/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteOverridesDefaultWithLambda.java
index cdcc5e9ce3..5998f41bda 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata/java8/ConcreteOverridesDefaultWithLambda.java
+++ b/src/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/src/test/java/com/google/devtools/build/android/desugar/testdata/java8/DefaultInterfaceWithLambda.java b/src/test/java/com/google/devtools/build/android/desugar/testdata/java8/DefaultInterfaceWithLambda.java
index e97cae9561..ce5fca75fb 100644
--- a/src/test/java/com/google/devtools/build/android/desugar/testdata/java8/DefaultInterfaceWithLambda.java
+++ b/src/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();
}