blob: f099b9e49e14abf169e122080aa81e7db34304d2 [file] [log] [blame]
David Brazdilc53ea952020-10-15 12:41:26 +00001// Copyright (C) 2020 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Bob Badour2efc4762021-02-03 18:36:27 -080015package {
16 default_applicable_licenses: ["Android-Apache-2.0"],
17}
18
David Brazdilacb178d2021-01-18 19:37:50 +000019kernel_version = "5.10"
David Brazdild8d6e1d2020-10-15 14:02:03 +000020
21kernel_target_stem = ":kernel_prebuilts-" + kernel_version
Roman Kiryanov6d4305a2021-02-02 16:30:59 -080022vendor_ramdisk_target_stem = ":virt_device_prebuilts_initramfs-" + kernel_version
David Brazdild8d6e1d2020-10-15 14:02:03 +000023
David Brazdil1267a282020-10-15 12:33:20 +000024// JAR containing all virtualization host-side tests.
25java_test_host {
26 name: "VirtualizationHostTestCases",
27 srcs: ["java/**/*.java"],
28 test_suites: ["device-tests"],
29 libs: ["tradefed"],
30 data: [
31 ":virt_hostside_tests_kernel",
32 ":virt_hostside_tests_initramfs-arm64",
33 ":virt_hostside_tests_initramfs-x86_64",
Andrew Walbran3049fdf2020-12-23 12:46:30 +000034 ":vm_config.arm64.json",
35 ":vm_config.x86_64.json",
David Brazdil1267a282020-10-15 12:33:20 +000036 ],
David Brazdil735b2cd2020-10-15 12:19:25 +000037 required: [
38 "virt_hostside_tests_vsock_server",
39 ],
David Brazdil1267a282020-10-15 12:33:20 +000040}
41
42// Give kernel images unique file names.
43genrule {
44 name: "virt_hostside_tests_kernel",
45 srcs: [
46 kernel_target_stem + "-arm64",
47 kernel_target_stem + "-x86_64",
48 ],
49 out: [
50 "virt_hostside_tests_kernel-arm64",
51 "virt_hostside_tests_kernel-x86_64",
52 ],
53 tool_files: ["scripts/place_files.sh"],
54 cmd: "$(location scripts/place_files.sh) $(in) -- $(out)",
55}
56
Andrew Walbran3049fdf2020-12-23 12:46:30 +000057// Copy config files to output directory so that AndroidTest.xml can copy them to the device.
58filegroup {
59 name: "vm_config.arm64.json",
60 srcs: ["vm_config.arm64.json"],
61}
62
63filegroup {
64 name: "vm_config.x86_64.json",
65 srcs: ["vm_config.x86_64.json"],
66}
67
David Brazdilc53ea952020-10-15 12:41:26 +000068// Ramdisk containing /init and test binaries/resources needed inside guest.
69genrule {
70 name: "virt_hostside_tests_initramfs_base",
71 tools: [
72 "mkbootfs",
73 "lz4",
74 ],
75 tool_files: ["scripts/place_files.sh"],
76 out: ["initramfs.lz4"],
77 srcs: [
78 ":virt_hostside_tests_guest_init",
David Brazdil735b2cd2020-10-15 12:19:25 +000079 ":virt_hostside_tests_vsock_client",
David Brazdilc53ea952020-10-15 12:41:26 +000080 ],
81 cmd: "$(location scripts/place_files.sh) $(in) -- " +
82 "$(genDir)/root/init " +
David Brazdil735b2cd2020-10-15 12:19:25 +000083 "$(genDir)/root/bin/vsock_client " +
David Brazdilc53ea952020-10-15 12:41:26 +000084 "&& $(location mkbootfs) $(genDir)/root | $(location lz4) -fq - $(out)",
85}
David Brazdild8d6e1d2020-10-15 14:02:03 +000086
87// Default rule for producing a combined base + vendor ramdisk.
88genrule_defaults {
89 name: "virt_hostside_tests_initramfs_concat",
90 srcs: [":virt_hostside_tests_initramfs_base"],
91 tools: ["lz4"],
92 cmd: "cat $(in) | $(location lz4) -dfq - $(out)",
93}
94
95// Combined base + vendor ramdisk for arm64.
96genrule {
97 name: "virt_hostside_tests_initramfs-arm64",
98 defaults: ["virt_hostside_tests_initramfs_concat"],
99 srcs: [vendor_ramdisk_target_stem + "-arm64"],
100 out: ["virt_hostside_tests_initramfs-arm64"],
101}
102
103// Combined base + vendor ramdisk for x86_64.
104genrule {
105 name: "virt_hostside_tests_initramfs-x86_64",
106 defaults: ["virt_hostside_tests_initramfs_concat"],
107 srcs: [vendor_ramdisk_target_stem + "-x86_64"],
108 out: ["virt_hostside_tests_initramfs-x86_64"],
109}