diff options
author | kmb <kmb@google.com> | 2017-10-12 19:53:43 +0200 |
---|---|---|
committer | Marcel Hlopko <hlopko@google.com> | 2017-10-13 13:53:05 +0200 |
commit | 9cf05abe06ee687d21e8a5bb12399a33f3fe0498 (patch) | |
tree | 7ebcf060e80506a943e1cc5cf500065bad98929d /src/test/java | |
parent | ea140923af949fa0f55f2a980cbd2518fbd0bbec (diff) |
Desugar-singlejar integration tests for double-checking default methods.
PiperOrigin-RevId: 171980809
Diffstat (limited to 'src/test/java')
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(); } |