| load("@rules_java//java:defs.bzl", "java_library", "java_test") |
| |
| package( |
| default_testonly = 1, |
| default_visibility = ["//src:__subpackages__"], |
| ) |
| |
| filegroup( |
| name = "srcs", |
| testonly = 0, |
| srcs = glob(["**"]), |
| visibility = ["//src/test/java/com/google/devtools/build/android:__pkg__"], |
| ) |
| |
| # Description: |
| # Tests for the blaze dx bridge code. |
| java_library( |
| name = "tests", |
| srcs = [ |
| "AllTests.java", |
| ] + select({ |
| "//external:has_androidsdk": glob( |
| ["*Test.java"], |
| exclude = [ |
| "NoAndroidSdkStubTest.java", |
| "AllTests.java", |
| ], |
| ), |
| "//conditions:default": ["NoAndroidSdkStubTest.java"], |
| }), |
| javacopts = ["-source 7 -target 7"], # we run this through dx for testing, so no lambdas! |
| resources = ["testresource.txt"], |
| deps = [ |
| "//src/test/java/com/google/devtools/build/lib/testutil", |
| "//src/test/java/com/google/devtools/build/lib/testutil:TestSuite", |
| "//src/tools/android/java/com/google/devtools/build/android/dexer", |
| "//third_party:guava", |
| "//third_party:junit4", |
| "//third_party:mockito", |
| "//third_party:truth", |
| "@bazel_tools//tools/java/runfiles", |
| ] + select({ |
| "//external:has_androidsdk": ["//external:android/dx_jar_import"], |
| "//conditions:default": [], |
| }), |
| ) |
| |
| java_library( |
| name = "testdata", |
| srcs = glob(["testdata/**/*.java"]), |
| ) |
| |
| java_test( |
| name = "AllTests", |
| size = "small", |
| data = [ |
| "test_main_dex_list.txt", |
| ":mixed_testinput", |
| ":testdata", |
| ":tests", |
| ], |
| jvm_flags = [ |
| "-Dtestmaindexlist=io_bazel/$(location :test_main_dex_list.txt)", |
| "-Dtestinputjar=io_bazel/$(location :tests)", |
| "-Dtestinputjar2=io_bazel/$(location :testdata)", |
| "-Dmixedinputjar=io_bazel/$(location :mixed_testinput)", |
| ], |
| runtime_deps = [ |
| ":tests", |
| ], |
| ) |
| |
| genrule( |
| name = "mixed_srcjar_gen", |
| outs = ["mixed.srcjar"], |
| cmd = """set -eu |
| readonly tmpdir="$$(mktemp -d)" |
| echo "package j$$.test; public class Foo {}" > "$${tmpdir}/Foo.java" |
| echo "package zzz; public class Bar {}" > "$${tmpdir}/Bar.java" |
| echo "package aaa; public class Baz {}" > "$${tmpdir}/Baz.java" |
| $(location //tools/zip:zipper) c $@ \\ |
| "j$$/test/Foo.java=$${tmpdir}/Foo.java" \\ |
| "zzz/Bar.java=$${tmpdir}/Bar.java" \\ |
| "aaa/Baz.java=$${tmpdir}/Baz.java" |
| rm -rf "$${tmpdir}" """, |
| tools = ["//tools/zip:zipper"], |
| ) |
| |
| java_library( |
| name = "mixed_testinput", |
| srcs = [":mixed_srcjar_gen"], |
| ) |
| |
| test_suite( |
| name = "windows_tests", |
| tags = [ |
| "-no_windows", |
| "-slow", |
| ], |
| visibility = ["//visibility:private"], |
| ) |
| |
| test_suite( |
| name = "all_windows_tests", |
| tests = [ |
| ":windows_tests", |
| ], |
| visibility = ["//src/test/java/com/google/devtools/build/android:__pkg__"], |
| ) |