blob: d8f0e11b67f053b5ae76688bafa69516e909d8ab [file] [log] [blame]
Jiyong Parka7266ac2021-05-17 21:57:24 +09001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Jiyong Parke33e02b2021-10-27 21:12:20 +09005android_test {
Jiyong Parka7266ac2021-05-17 21:57:24 +09006 name: "MicrodroidTestApp",
Jiyong Park29de5172022-02-08 00:37:05 +09007 test_suites: [
8 "cts",
9 "general-tests",
10 ],
Jiyong Parka7266ac2021-05-17 21:57:24 +090011 srcs: ["src/java/**/*.java"],
Jiyong Parkbda1e212021-10-29 20:13:37 +090012 static_libs: [
Alice Wang7e0843d2022-09-01 11:30:21 +000013 "MicrodroidDeviceTestHelper",
Jiyong Parkbda1e212021-10-29 20:13:37 +090014 "androidx.test.runner",
15 "androidx.test.ext.junit",
Andrew Scull6ad64402022-07-04 13:12:53 +000016 "authfs_test_apk_assets",
Andrew Scull61892082022-02-21 00:07:25 +000017 "cbor-java",
Inseob Kim287e3de2022-01-20 13:10:19 +090018 "com.android.microdroid.testservice-java",
Andrew Scull2e6ab792022-01-30 16:04:08 +000019 "truth-prebuilt",
Jiyong Park5517b102022-07-11 16:09:19 +090020 "compatibility-common-util-devicesidelib",
Jiyong Parkbda1e212021-10-29 20:13:37 +090021 ],
Alan Stokesca0d27e2022-10-03 11:26:13 +010022 sdk_version: "test_current",
Alan Stokes38d00f82022-10-03 17:43:45 +010023 jni_libs: [
24 "MicrodroidTestNativeLib",
David Brazdilf88c3152022-11-08 15:36:16 +000025 "MicrodroidIdleNativeLib",
Inseob Kim24358c62022-12-09 15:49:22 +090026 "MicrodroidEmptyNativeLib",
Alan Stokes4a66deb2023-01-27 12:12:00 +000027 "MicrodroidExitNativeLib",
Inseob Kim24358c62022-12-09 15:49:22 +090028 "MicrodroidPrivateLinkingNativeLib",
Inseob Kimab1037d2023-02-08 17:03:31 +090029 "MicrodroidCrashNativeLib",
Alan Stokes38d00f82022-10-03 17:43:45 +010030 ],
Alan Stokesca0d27e2022-10-03 11:26:13 +010031 jni_uses_platform_apis: true,
Jiyong Parkef746ea2021-06-14 18:19:31 +090032 use_embedded_native_libs: true,
Jiyong Park29de5172022-02-08 00:37:05 +090033 // We only support 64-bit ABI, but CTS demands all APKs to be multi-ABI.
34 compile_multilib: "both",
Jiyong Park968635d2022-08-22 10:18:17 +090035 min_sdk_version: "33",
Jiyong Parka7266ac2021-05-17 21:57:24 +090036}
37
Jiyong Parka7266ac2021-05-17 21:57:24 +090038cc_library_shared {
39 name: "MicrodroidTestNativeLib",
Jiyong Parkfe5b28e2021-06-24 00:19:02 +090040 srcs: ["src/native/testbinary.cpp"],
Alan Stokes4bff0d62022-10-28 14:29:59 +010041 stl: "libc++_static",
Alan Stokesd4ea5a82022-11-10 12:17:42 +000042 header_libs: ["vm_payload_restricted_headers"],
Andrew Scull66616612021-06-17 16:41:03 +000043 shared_libs: [
Andrew Scull66616612021-06-17 16:41:03 +000044 "libbinder_ndk",
Nikita Ioffe3452ee22022-12-15 00:31:56 +000045 "libcap",
Jiyong Parkfe5b28e2021-06-24 00:19:02 +090046 "MicrodroidTestNativeLibSub",
Alan Stokesbcc2ec22022-10-31 17:02:50 +000047 "libvm_payload#current",
Andrew Scull66616612021-06-17 16:41:03 +000048 ],
Inseob Kimdb319702022-01-20 13:12:43 +090049 static_libs: [
Alan Stokes18986452022-10-28 11:11:11 +010050 "com.android.microdroid.testservice-ndk",
Alan Stokes4bff0d62022-10-28 14:29:59 +010051 "libbase",
Inseob Kimdb319702022-01-20 13:12:43 +090052 "libfsverity_digests_proto_cc",
53 "liblog",
54 "libprotobuf-cpp-lite-ndk",
55 ],
Jiyong Parka7266ac2021-05-17 21:57:24 +090056}
Jiyong Park6de08572021-06-14 21:13:32 +090057
Jiyong Parkfe5b28e2021-06-24 00:19:02 +090058cc_library_shared {
59 name: "MicrodroidTestNativeLibSub",
60 srcs: ["src/native/testlib.cpp"],
Alan Stokes4bff0d62022-10-28 14:29:59 +010061 stl: "libc++_static",
Jiyong Parkfe5b28e2021-06-24 00:19:02 +090062}
Alan Stokes08c421a2022-11-15 16:06:26 +000063
64cc_library_shared {
65 name: "MicrodroidIdleNativeLib",
66 srcs: ["src/native/idlebinary.cpp"],
67 header_libs: ["vm_payload_headers"],
68 stl: "libc++_static",
69}
Inseob Kim24358c62022-12-09 15:49:22 +090070
71// An empty payload missing AVmPayload_main
72cc_library_shared {
73 name: "MicrodroidEmptyNativeLib",
74 srcs: ["src/native/emptybinary.cpp"],
75 stl: "none",
76}
77
Alan Stokes4a66deb2023-01-27 12:12:00 +000078// A payload that exits immediately on start
79cc_library_shared {
80 name: "MicrodroidExitNativeLib",
81 srcs: ["src/native/exitbinary.cpp"],
82 header_libs: ["vm_payload_headers"],
83 stl: "libc++_static",
84}
85
Inseob Kim24358c62022-12-09 15:49:22 +090086// A payload which tries to link against libselinux, one of private libraries
87cc_library_shared {
88 name: "MicrodroidPrivateLinkingNativeLib",
89 srcs: ["src/native/idlebinary.cpp"],
90 header_libs: ["vm_payload_headers"],
91 // HACK: linking against "libselinux" will embed libselinux.so into the apk
92 // link against a stub to prevent libselinux.so from being embedded
93 shared_libs: ["libselinux#latest"],
94 stl: "libc++_static",
95}
Inseob Kimab1037d2023-02-08 17:03:31 +090096
97// A payload that crashes immediately on start
98cc_library_shared {
99 name: "MicrodroidCrashNativeLib",
100 srcs: ["src/native/crashbinary.cpp"],
101 header_libs: ["vm_payload_headers"],
102 stl: "libc++_static",
103}