aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java_tools
diff options
context:
space:
mode:
authorGravatar cushon <cushon@google.com>2018-04-06 19:07:41 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-06 19:09:24 -0700
commit7f63bec55ef34fbaaab5f61987e77512543eece3 (patch)
treedfe05b272b5b0340431c4b84f434be9e2cc8676b /src/java_tools
parent71ee3b23e3a3a7ef11ba400eaface395881d57c8 (diff)
Improve golden tests
PiperOrigin-RevId: 191970818
Diffstat (limited to 'src/java_tools')
-rw-r--r--src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/ImportDepsChecker.java3
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/BUILD29
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt20
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_annotation_missing.txt5
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_exception_missing.txt2
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt2
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_members_missing.txt2
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt2
-rwxr-xr-xsrc/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_test.sh16
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/string_annotation_value_test.txt9
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD11
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/OneAnnotationValue.java20
-rw-r--r--src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/StringAnnotation.java23
13 files changed, 129 insertions, 15 deletions
diff --git a/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/ImportDepsChecker.java b/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/ImportDepsChecker.java
index a6045ce49c..22e7a5b48d 100644
--- a/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/ImportDepsChecker.java
+++ b/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps/ImportDepsChecker.java
@@ -145,7 +145,8 @@ public final class ImportDepsChecker implements Closeable {
.append(incompleteClasses.size())
.append('\n')
.append("missing_members=")
- .append(missingMembers.size());
+ .append(missingMembers.size())
+ .append('\n');
}
return builder.toString();
}
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/BUILD b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/BUILD
index 19a70eb328..b5aed26104 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/BUILD
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/BUILD
@@ -216,3 +216,32 @@ java_test(
"//third_party/bazel/src/test/java/com/google/devtools/build/lib/testutil",
],
)
+
+java_library(
+ name = "empty",
+ srcs = [],
+)
+
+sh_test(
+ name = "string_annotation_value_test",
+ srcs = ["golden_test.sh"],
+ args = [
+ "$(location string_annotation_value_test.txt)",
+ "199",
+ "$(location //third_party/bazel/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker)",
+ "--fail_on_errors",
+ "--bootclasspath_entry",
+ "$(location :libempty.jar)",
+ "--classpath_entry",
+ "$(location //third_party/bazel/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:libStringAnnotation.jar)",
+ "--input",
+ "$(location //third_party/bazel/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:libOneAnnotationValue.jar)",
+ ],
+ data = [
+ ":libempty.jar",
+ "//third_party/bazel/src/java_tools/import_deps_checker/java/com/google/devtools/build/importdeps:ImportDepsChecker",
+ "//third_party/bazel/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps:string_annotation_value_test.txt",
+ "//third_party/bazel/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:libOneAnnotationValue.jar",
+ "//third_party/bazel/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata:libStringAnnotation.jar",
+ ],
+)
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt
index 5a4e67edfe..b98187cf15 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_bootclasspath_missing.txt
@@ -1,6 +1,12 @@
+Missing java.io.PrintStream
+Missing java.lang.Byte
+Missing java.lang.Class
+Missing java.lang.Enum
Missing java.lang.Exception
Missing java.lang.Object
Missing java.lang.String
+Missing java.lang.SuppressWarnings
+Missing java.lang.System
Missing java.lang.annotation.Annotation
Missing java.lang.annotation.ElementType
Missing java.lang.annotation.Retention
@@ -15,6 +21,9 @@ Missing java.util.Objects
Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client
missing ancestor: java.lang.Object
resolution failure path: com.google.devtools.build.importdeps.testdata.Library -> java.lang.Object
+Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Client$EnumTest
+ missing ancestor: java.lang.Enum
+ resolution failure path: java.lang.Enum
Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.Library
missing ancestor: java.lang.Object
resolution failure path: java.lang.Object
@@ -54,6 +63,9 @@ Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.
Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
missing ancestor: java.lang.Object
resolution failure path: java.lang.Object
+Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationFlag
+ missing ancestor: java.lang.Enum
+ resolution failure path: java.lang.Enum
Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
missing ancestor: java.lang.Object
resolution failure path: java.lang.Object
@@ -81,7 +93,9 @@ Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.
Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.LibraryInterface$Func
missing ancestor: java.lang.Object
resolution failure path: java.lang.Object
+Missing member 'name' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=name, descriptor=()Ljava/lang/String;
+Missing member 'ordinal' in class com.google.devtools.build.importdeps.testdata.Client$EnumTest : name=ordinal, descriptor=()I
===Total===
-missing=14
-incomplete=23
-missing_members=0 \ No newline at end of file
+missing=20
+incomplete=25
+missing_members=2
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_annotation_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_annotation_missing.txt
index 60af5de912..4ea1d8db01 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_annotation_missing.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_annotation_missing.txt
@@ -1,5 +1,6 @@
Missing com.google.devtools.build.importdeps.testdata.LibraryAnnotations
Missing com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationAnnotation
+Missing com.google.devtools.build.importdeps.testdata.LibraryAnnotations$AnnotationFlag
Missing com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ClassAnnotation
Missing com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ConstructorAnnotation
Missing com.google.devtools.build.importdeps.testdata.LibraryAnnotations$FieldAnnotation
@@ -7,6 +8,6 @@ Missing com.google.devtools.build.importdeps.testdata.LibraryAnnotations$MethodA
Missing com.google.devtools.build.importdeps.testdata.LibraryAnnotations$ParameterAnnotation
Missing com.google.devtools.build.importdeps.testdata.LibraryAnnotations$TypeAnnotation
===Total===
-missing=8
+missing=9
incomplete=0
-missing_members=0 \ No newline at end of file
+missing_members=0
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_exception_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_exception_missing.txt
index 767f4eb0b9..17760b2cb9 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_exception_missing.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_exception_missing.txt
@@ -2,4 +2,4 @@ Missing com.google.devtools.build.importdeps.testdata.LibraryException
===Total===
missing=1
incomplete=0
-missing_members=0 \ No newline at end of file
+missing_members=0
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt
index 3c3568eb59..6cf5dc8b79 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_interface_missing.txt
@@ -6,4 +6,4 @@ Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.
===Total===
missing=2
incomplete=1
-missing_members=0 \ No newline at end of file
+missing_members=0
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_members_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_members_missing.txt
index 73831162b3..714276cd70 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_members_missing.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_members_missing.txt
@@ -5,4 +5,4 @@ Missing member 'create' in class com.google.devtools.build.importdeps.testdata.L
===Total===
missing=0
incomplete=0
-missing_members=4 \ No newline at end of file
+missing_members=4
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt
index 12447fc23a..79399786a1 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_library_missing.txt
@@ -15,4 +15,4 @@ Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.
===Total===
missing=11
incomplete=1
-missing_members=0 \ No newline at end of file
+missing_members=0
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_test.sh b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_test.sh
index d9f967c28e..a2634f5c7d 100755
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_test.sh
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/golden_test.sh
@@ -14,6 +14,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+set -u
+
gold_file=$1
shift
@@ -52,19 +54,23 @@ fi
diff "${gold_file}" "${actual_file}"
gold_actual_ret=$?
-# The actual file and the stderr of the checker should be the same.
-diff "${actual_file}" "${checker_stderr}"
-checker_stderr_actual_ret=$?
+# TODO(b/77721804): re-enable test coverage for stderr
-if [[ "${gold_actual_ret}" != 0 ]] || [[ "${checker_stderr_actual_ret}" != 0 ]]; then
+if [[ "${gold_actual_ret}" != 0 ]]; then
echo "============== Actual Output =============="
cat "${actual_file}"
echo "" # New line.
echo "===========================================\n"
+ echo "============== Expected Output =============="
+ cat "${gold_file}"
+ echo "" # New line.
+ echo "==========================================="
+
echo "============== Checker Stderr =============="
cat "${checker_stderr}"
echo "" # New line.
echo "==========================================="
+
+ exit 1
fi
-exit ${ret}
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/string_annotation_value_test.txt b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/string_annotation_value_test.txt
new file mode 100644
index 0000000000..8cbc6210d5
--- /dev/null
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/string_annotation_value_test.txt
@@ -0,0 +1,9 @@
+Missing java.lang.Object
+Missing java.lang.String
+Incomplete ancestor classpath for com.google.devtools.build.importdeps.testdata.StringAnnotation
+ missing ancestor: java.lang.Object
+ resolution failure path: java.lang.Object
+===Total===
+missing=2
+incomplete=1
+missing_members=0
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD
index a54fed8168..805bb7d6c4 100644
--- a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/BUILD
@@ -49,3 +49,14 @@ java_library(
name = "testdata_lib_LibraryInterface",
srcs = ["LibraryInterface.java"],
)
+
+java_library(
+ name = "OneAnnotationValue",
+ srcs = ["OneAnnotationValue.java"],
+ deps = [":StringAnnotation"],
+)
+
+java_library(
+ name = "StringAnnotation",
+ srcs = ["StringAnnotation.java"],
+)
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/OneAnnotationValue.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/OneAnnotationValue.java
new file mode 100644
index 0000000000..4b8d7fd7aa
--- /dev/null
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/OneAnnotationValue.java
@@ -0,0 +1,20 @@
+// Copyright 2018 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.
+
+package com.google.devtools.build.importdeps.testdata;
+
+public class OneAnnotationValue {
+ @StringAnnotation("hello")
+ void f() {}
+}
diff --git a/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/StringAnnotation.java b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/StringAnnotation.java
new file mode 100644
index 0000000000..fd5fd69faf
--- /dev/null
+++ b/src/java_tools/import_deps_checker/javatests/com/google/devtools/build/importdeps/testdata/StringAnnotation.java
@@ -0,0 +1,23 @@
+// Copyright 2018 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.
+
+package com.google.devtools.build.importdeps.testdata;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+@Retention(RetentionPolicy.RUNTIME)
+public @interface StringAnnotation {
+ String value();
+}