blob: 63b3a3d2bb45c7663cc9fcf5d64e725969b0015f [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",
34 ],
David Brazdil735b2cd2020-10-15 12:19:25 +000035 required: [
36 "virt_hostside_tests_vsock_server",
37 ],
David Brazdil1267a282020-10-15 12:33:20 +000038}
39
40// Give kernel images unique file names.
41genrule {
42 name: "virt_hostside_tests_kernel",
43 srcs: [
44 kernel_target_stem + "-arm64",
45 kernel_target_stem + "-x86_64",
46 ],
47 out: [
48 "virt_hostside_tests_kernel-arm64",
49 "virt_hostside_tests_kernel-x86_64",
50 ],
51 tool_files: ["scripts/place_files.sh"],
52 cmd: "$(location scripts/place_files.sh) $(in) -- $(out)",
53}
54
David Brazdilc53ea952020-10-15 12:41:26 +000055// Ramdisk containing /init and test binaries/resources needed inside guest.
56genrule {
57 name: "virt_hostside_tests_initramfs_base",
58 tools: [
59 "mkbootfs",
60 "lz4",
61 ],
62 tool_files: ["scripts/place_files.sh"],
63 out: ["initramfs.lz4"],
64 srcs: [
65 ":virt_hostside_tests_guest_init",
David Brazdil735b2cd2020-10-15 12:19:25 +000066 ":virt_hostside_tests_vsock_client",
David Brazdilc53ea952020-10-15 12:41:26 +000067 ],
68 cmd: "$(location scripts/place_files.sh) $(in) -- " +
69 "$(genDir)/root/init " +
David Brazdil735b2cd2020-10-15 12:19:25 +000070 "$(genDir)/root/bin/vsock_client " +
David Brazdilc53ea952020-10-15 12:41:26 +000071 "&& $(location mkbootfs) $(genDir)/root | $(location lz4) -fq - $(out)",
72}
David Brazdild8d6e1d2020-10-15 14:02:03 +000073
74// Default rule for producing a combined base + vendor ramdisk.
75genrule_defaults {
76 name: "virt_hostside_tests_initramfs_concat",
77 srcs: [":virt_hostside_tests_initramfs_base"],
78 tools: ["lz4"],
79 cmd: "cat $(in) | $(location lz4) -dfq - $(out)",
80}
81
82// Combined base + vendor ramdisk for arm64.
83genrule {
84 name: "virt_hostside_tests_initramfs-arm64",
85 defaults: ["virt_hostside_tests_initramfs_concat"],
86 srcs: [vendor_ramdisk_target_stem + "-arm64"],
87 out: ["virt_hostside_tests_initramfs-arm64"],
88}
89
90// Combined base + vendor ramdisk for x86_64.
91genrule {
92 name: "virt_hostside_tests_initramfs-x86_64",
93 defaults: ["virt_hostside_tests_initramfs_concat"],
94 srcs: [vendor_ramdisk_target_stem + "-x86_64"],
95 out: ["virt_hostside_tests_initramfs-x86_64"],
96}