blob: 9f804337150e63587b9e11eeffffdb3a70a5b653 [file] [log] [blame]
Jiyong Parka7266ac2021-05-17 21:57:24 +09001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Nikita Ioffe7ffb0142023-02-01 22:22:23 +00005java_defaults {
6 name: "MicrodroidTestAppsDefaults",
Jiyong Park29de5172022-02-08 00:37:05 +09007 test_suites: [
8 "cts",
9 "general-tests",
10 ],
Nikita Ioffebac2bcf2023-02-10 00:09:20 +000011 static_libs: [
12 "com.android.microdroid.testservice-java",
13 "com.android.microdroid.test.vmshare_service-java",
14 ],
Nikita Ioffe7ffb0142023-02-01 22:22:23 +000015 sdk_version: "test_current",
16 jni_uses_platform_apis: true,
17 use_embedded_native_libs: true,
18 // We only support 64-bit ABI, but CTS demands all APKs to be multi-ABI.
19 compile_multilib: "both",
20}
21
22android_test {
23 name: "MicrodroidTestApp",
24 defaults: ["MicrodroidTestAppsDefaults"],
Jiyong Parka7266ac2021-05-17 21:57:24 +090025 srcs: ["src/java/**/*.java"],
Jiyong Parkbda1e212021-10-29 20:13:37 +090026 static_libs: [
Alice Wang7e0843d2022-09-01 11:30:21 +000027 "MicrodroidDeviceTestHelper",
Jiyong Parkbda1e212021-10-29 20:13:37 +090028 "androidx.test.runner",
29 "androidx.test.ext.junit",
Andrew Scull6ad64402022-07-04 13:12:53 +000030 "authfs_test_apk_assets",
Andrew Scull61892082022-02-21 00:07:25 +000031 "cbor-java",
Andrew Scull2e6ab792022-01-30 16:04:08 +000032 "truth-prebuilt",
Jiyong Park5517b102022-07-11 16:09:19 +090033 "compatibility-common-util-devicesidelib",
Nikita Ioffea7cb3672023-02-24 23:10:34 +000034 "measure_io_as_jar",
Jiyong Parkbda1e212021-10-29 20:13:37 +090035 ],
Alan Stokes38d00f82022-10-03 17:43:45 +010036 jni_libs: [
37 "MicrodroidTestNativeLib",
David Brazdilf88c3152022-11-08 15:36:16 +000038 "MicrodroidIdleNativeLib",
Inseob Kim24358c62022-12-09 15:49:22 +090039 "MicrodroidEmptyNativeLib",
Alan Stokes4a66deb2023-01-27 12:12:00 +000040 "MicrodroidExitNativeLib",
Inseob Kim24358c62022-12-09 15:49:22 +090041 "MicrodroidPrivateLinkingNativeLib",
Inseob Kimab1037d2023-02-08 17:03:31 +090042 "MicrodroidCrashNativeLib",
Alan Stokes38d00f82022-10-03 17:43:45 +010043 ],
Jiyong Park968635d2022-08-22 10:18:17 +090044 min_sdk_version: "33",
Nikita Ioffe9c480682023-02-08 14:17:32 +000045 // Defined in ../vmshareapp/Android.bp
Nikita Ioffe7ffb0142023-02-01 22:22:23 +000046 data: [":MicrodroidVmShareApp"],
Jiyong Parka7266ac2021-05-17 21:57:24 +090047}
48
Nikita Ioffe7ffb0142023-02-01 22:22:23 +000049// Defaults shared between MicrodroidTestNativeLib and MicrodroidPayloadInOtherAppNativeLib shared
50// libs. They are expected to share everything apart from the name, so that one app
51// (MicrodroidTestApp) can start a payload defined in the another app (MicrodroidVmShareApp).
52cc_defaults {
53 name: "MicrodroidTestNativeLibDefaults",
Jiyong Parkfe5b28e2021-06-24 00:19:02 +090054 srcs: ["src/native/testbinary.cpp"],
Alan Stokes4bff0d62022-10-28 14:29:59 +010055 stl: "libc++_static",
Alan Stokesd4ea5a82022-11-10 12:17:42 +000056 header_libs: ["vm_payload_restricted_headers"],
Andrew Scull66616612021-06-17 16:41:03 +000057 shared_libs: [
Andrew Scull66616612021-06-17 16:41:03 +000058 "libbinder_ndk",
Nikita Ioffe3452ee22022-12-15 00:31:56 +000059 "libcap",
Jiyong Parkfe5b28e2021-06-24 00:19:02 +090060 "MicrodroidTestNativeLibSub",
Alan Stokesbcc2ec22022-10-31 17:02:50 +000061 "libvm_payload#current",
Andrew Scull66616612021-06-17 16:41:03 +000062 ],
Inseob Kimdb319702022-01-20 13:12:43 +090063 static_libs: [
Alan Stokes18986452022-10-28 11:11:11 +010064 "com.android.microdroid.testservice-ndk",
Alan Stokes4bff0d62022-10-28 14:29:59 +010065 "libbase",
Inseob Kimdb319702022-01-20 13:12:43 +090066 "libfsverity_digests_proto_cc",
67 "liblog",
68 "libprotobuf-cpp-lite-ndk",
69 ],
Jiyong Parka7266ac2021-05-17 21:57:24 +090070}
Jiyong Park6de08572021-06-14 21:13:32 +090071
Jiyong Parkfe5b28e2021-06-24 00:19:02 +090072cc_library_shared {
Nikita Ioffe7ffb0142023-02-01 22:22:23 +000073 name: "MicrodroidPayloadInOtherAppNativeLib",
74 defaults: ["MicrodroidTestNativeLibDefaults"],
75}
76
77cc_library_shared {
78 name: "MicrodroidTestNativeLib",
79 defaults: ["MicrodroidTestNativeLibDefaults"],
80}
81
82cc_library_shared {
Jiyong Parkfe5b28e2021-06-24 00:19:02 +090083 name: "MicrodroidTestNativeLibSub",
84 srcs: ["src/native/testlib.cpp"],
Alan Stokes4bff0d62022-10-28 14:29:59 +010085 stl: "libc++_static",
Jiyong Parkfe5b28e2021-06-24 00:19:02 +090086}
Alan Stokes08c421a2022-11-15 16:06:26 +000087
88cc_library_shared {
89 name: "MicrodroidIdleNativeLib",
90 srcs: ["src/native/idlebinary.cpp"],
91 header_libs: ["vm_payload_headers"],
92 stl: "libc++_static",
93}
Inseob Kim24358c62022-12-09 15:49:22 +090094
95// An empty payload missing AVmPayload_main
96cc_library_shared {
97 name: "MicrodroidEmptyNativeLib",
98 srcs: ["src/native/emptybinary.cpp"],
99 stl: "none",
100}
101
Alan Stokes4a66deb2023-01-27 12:12:00 +0000102// A payload that exits immediately on start
103cc_library_shared {
104 name: "MicrodroidExitNativeLib",
105 srcs: ["src/native/exitbinary.cpp"],
106 header_libs: ["vm_payload_headers"],
107 stl: "libc++_static",
108}
109
Inseob Kim24358c62022-12-09 15:49:22 +0900110// A payload which tries to link against libselinux, one of private libraries
111cc_library_shared {
112 name: "MicrodroidPrivateLinkingNativeLib",
113 srcs: ["src/native/idlebinary.cpp"],
114 header_libs: ["vm_payload_headers"],
115 // HACK: linking against "libselinux" will embed libselinux.so into the apk
116 // link against a stub to prevent libselinux.so from being embedded
117 shared_libs: ["libselinux#latest"],
118 stl: "libc++_static",
119}
Inseob Kimab1037d2023-02-08 17:03:31 +0900120
121// A payload that crashes immediately on start
122cc_library_shared {
123 name: "MicrodroidCrashNativeLib",
124 srcs: ["src/native/crashbinary.cpp"],
125 header_libs: ["vm_payload_headers"],
126 stl: "libc++_static",
127}