Add a test for `java_binary` runtime_deps with native deps

(ignore-relnotes)

PiperOrigin-RevId: 985173670
Change-Id: Iaba271f8d8fbf2b79a5ca674fa0caf8c950a00fc
diff --git a/test/java/common/rules/common_launcher_java_binary_tests.bzl b/test/java/common/rules/common_launcher_java_binary_tests.bzl
index 449e483..c1e0128 100644
--- a/test/java/common/rules/common_launcher_java_binary_tests.bzl
+++ b/test/java/common/rules/common_launcher_java_binary_tests.bzl
@@ -545,6 +545,43 @@
         "{workspace}/{package}/{test_name}/langtools.jar",
     )
 
+def _test_java_binary_runtime_deps_with_native_libraries(name):
+    util.helper_target(
+        java_binary,
+        name = name + "/bin",
+        srcs = ["Bin.java"],
+        runtime_deps = [name + "/lib"],
+    )
+    util.helper_target(
+        java_library,
+        name = name + "/lib",
+        srcs = ["Foo.java"],
+        deps = [name + "/jni.so"],
+    )
+    util.helper_target(
+        cc_binary,
+        name = name + "/jni.so",
+        srcs = ["lib1.so"],
+        deps = [name + "/helper_library"],
+    )
+    util.helper_target(
+        cc_library,
+        name = name + "/helper_library",
+        srcs = ["lib2.so"],
+    )
+
+    analysis_test(
+        name = name,
+        impl = _test_java_binary_runtime_deps_with_native_libraries_impl,
+        target = name + "/bin",
+    )
+
+def _test_java_binary_runtime_deps_with_native_libraries_impl(env, target):
+    env.expect.that_target(target).runfiles().paths().transform(
+        desc = "basenames",
+        map_each = lambda f: reversed(f.rsplit("/"))[0],
+    ).contains_at_least(["lib1.so", "lib2.so"])
+
 def java_binary_launcher_tests(name):
     test_suite(
         name = name,
@@ -565,5 +602,6 @@
             _test_java_binary_runtime_deps_transitivity,
             _test_java_binary_runtime_deps_with_transitive_data,
             _test_java_binary_runtime_deps_with_genrule,
+            _test_java_binary_runtime_deps_with_native_libraries,
         ],
     )