aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2019-11-17 21:27:54 -0800
committerChih-Hung Hsieh <chh@google.com>2019-11-17 21:38:02 -0800
commitb6087730849ebd61a5b124a73a5088eddd38d004 (patch)
treed2a0f4936fc0fd1ab80ce5f166c1d75f3c59e75f
parentd197cb75923d5f89e6d75d9387ce1a275352b09c (diff)
downloadcrosvm-b6087730849ebd61a5b124a73a5088eddd38d004.tar.gz
Add rust_test modules and TEST_MAPPING.
* Temporarily append "[workspace]" to Cargo.toml and then run "cargo2android.py --tests --run". * Manually add defaults to limit build host. * Manually add TEST_MAPPING to select all rust_test modules. * libsys_util depends on libcap in src/capabilities.rs, but not specified in Cargo.toml. Generated Android.bp needs post-editing to add libcap to link. Bug: 140938178 Test: atest --include-subdirs --rebuild-module-info external/crosvm Change-Id: I814d8632b316a1ca6e69d09c2ab74e7ac9b80bb0
-rw-r--r--bit_field/Android.bp34
-rw-r--r--bit_field/TEST_MAPPING16
-rw-r--r--kvm/Android.bp39
-rw-r--r--kvm/TEST_MAPPING20
-rw-r--r--kvm_sys/Android.bp31
-rw-r--r--kvm_sys/TEST_MAPPING12
-rw-r--r--msg_socket/Android.bp42
-rw-r--r--msg_socket/TEST_MAPPING24
-rw-r--r--sys_util/Android.bp3
9 files changed, 216 insertions, 5 deletions
diff --git a/bit_field/Android.bp b/bit_field/Android.bp
index ecf16496d..35b510cb6 100644
--- a/bit_field/Android.bp
+++ b/bit_field/Android.bp
@@ -1,4 +1,36 @@
-// This file is generated by cargo2android.py.
+// This file is generated by cargo2android.py, added defaults.
+
+rust_test_host {
+ name: "bit_field_tests",
+ defaults: ["crosvm_defaults"],
+ crate_name: "bit_field",
+ srcs: [
+ "tests/test_enum.rs",
+ "tests/test_tuple_struct.rs",
+ ],
+ relative_install_path: "bit_field_tests",
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ rlibs: [
+ "libbit_field",
+ ],
+ proc_macros: [
+ "libbit_field_derive",
+ ],
+}
+
+rust_test_host {
+ name: "bit_field_tests_bit_field",
+ defaults: ["crosvm_defaults"],
+ crate_name: "bit_field",
+ srcs: ["src/lib.rs"],
+ relative_install_path: "bit_field_tests",
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ proc_macros: [
+ "libbit_field_derive",
+ ],
+}
rust_library_host_rlib {
name: "libbit_field",
diff --git a/bit_field/TEST_MAPPING b/bit_field/TEST_MAPPING
new file mode 100644
index 000000000..56d157e99
--- /dev/null
+++ b/bit_field/TEST_MAPPING
@@ -0,0 +1,16 @@
+{
+ "presubmit": [
+ {
+ "name": "bit_field_tests_test_enum",
+ "host": true
+ },
+ {
+ "name": "bit_field_tests_test_tuple_struct",
+ "host": true
+ },
+ {
+ "name": "bit_field_tests_bit_field",
+ "host": true
+ }
+ ]
+}
diff --git a/kvm/Android.bp b/kvm/Android.bp
index 242ca4dad..223031694 100644
--- a/kvm/Android.bp
+++ b/kvm/Android.bp
@@ -1,4 +1,41 @@
-// This file is generated by cargo2android.py.
+// This file is generated by cargo2android.py, added defaults.
+
+rust_test_host {
+ name: "kvm_tests",
+ defaults: ["crosvm_defaults"],
+ crate_name: "kvm",
+ srcs: [
+ "tests/dirty_log.rs",
+ "tests/read_only_memory.rs",
+ "tests/real_run_adder.rs",
+ ],
+ relative_install_path: "kvm_tests",
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ rlibs: [
+ "libkvm",
+ "libkvm_sys",
+ "liblibc",
+ "libmsg_socket",
+ "libsys_util",
+ ],
+}
+
+rust_test_host {
+ name: "kvm_tests_kvm",
+ defaults: ["crosvm_defaults"],
+ crate_name: "kvm",
+ srcs: ["src/lib.rs"],
+ relative_install_path: "kvm_tests",
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ rlibs: [
+ "libkvm_sys",
+ "liblibc",
+ "libmsg_socket",
+ "libsys_util",
+ ],
+}
rust_library_host_rlib {
name: "libkvm",
diff --git a/kvm/TEST_MAPPING b/kvm/TEST_MAPPING
new file mode 100644
index 000000000..af23db11a
--- /dev/null
+++ b/kvm/TEST_MAPPING
@@ -0,0 +1,20 @@
+{
+ "presubmit": [
+ {
+ "name": "kvm_tests_dirty_log",
+ "host": true
+ },
+ {
+ "name": "kvm_tests_read_only_memory",
+ "host": true
+ },
+ {
+ "name": "kvm_tests_real_run_adder",
+ "host": true
+ },
+ {
+ "name": "kvm_tests_kvm",
+ "host": true
+ }
+ ]
+}
diff --git a/kvm_sys/Android.bp b/kvm_sys/Android.bp
index bb7a4f16d..4614df185 100644
--- a/kvm_sys/Android.bp
+++ b/kvm_sys/Android.bp
@@ -1,4 +1,33 @@
-// This file is generated by cargo2android.py.
+// This file is generated by cargo2android.py, added defaults.
+
+rust_test_host {
+ name: "kvm_sys_tests_kvm_sys",
+ defaults: ["crosvm_defaults"],
+ crate_name: "kvm_sys",
+ srcs: ["src/lib.rs"],
+ relative_install_path: "kvm_sys_tests",
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ rlibs: [
+ "liblibc",
+ "libsys_util",
+ ],
+}
+
+rust_test_host {
+ name: "kvm_sys_tests_sanity",
+ defaults: ["crosvm_defaults"],
+ crate_name: "sanity",
+ srcs: ["tests/sanity.rs"],
+ relative_install_path: "kvm_sys_tests",
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ rlibs: [
+ "libkvm_sys",
+ "liblibc",
+ "libsys_util",
+ ],
+}
rust_library_host_rlib {
name: "libkvm_sys",
diff --git a/kvm_sys/TEST_MAPPING b/kvm_sys/TEST_MAPPING
new file mode 100644
index 000000000..f680997b8
--- /dev/null
+++ b/kvm_sys/TEST_MAPPING
@@ -0,0 +1,12 @@
+{
+ "presubmit": [
+ {
+ "name": "kvm_sys_tests_kvm_sys",
+ "host": true
+ },
+ {
+ "name": "kvm_sys_tests_sanity",
+ "host": true
+ }
+ ]
+}
diff --git a/msg_socket/Android.bp b/msg_socket/Android.bp
index 68b98e7eb..cf7feef5b 100644
--- a/msg_socket/Android.bp
+++ b/msg_socket/Android.bp
@@ -1,4 +1,4 @@
-// This file is generated by cargo2android.py.
+// This file is generated by cargo2android.py, added defaults.
rust_library_host_rlib {
name: "libmsg_socket",
@@ -13,3 +13,43 @@ rust_library_host_rlib {
"libmsg_on_socket_derive",
],
}
+
+rust_test_host {
+ name: "msg_socket_tests",
+ defaults: ["crosvm_defaults"],
+ crate_name: "msg_socket",
+ srcs: [
+ "tests/enum.rs",
+ "tests/struct.rs",
+ "tests/tuple.rs",
+ "tests/unit.rs",
+ ],
+ relative_install_path: "msg_socket_tests",
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ rlibs: [
+ "libdata_model",
+ "libmsg_socket",
+ "libsys_util",
+ ],
+ proc_macros: [
+ "libmsg_on_socket_derive",
+ ],
+}
+
+rust_test_host {
+ name: "msg_socket_tests_msg_socket",
+ defaults: ["crosvm_defaults"],
+ crate_name: "msg_socket",
+ srcs: ["src/lib.rs"],
+ relative_install_path: "msg_socket_tests",
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ rlibs: [
+ "libdata_model",
+ "libsys_util",
+ ],
+ proc_macros: [
+ "libmsg_on_socket_derive",
+ ],
+}
diff --git a/msg_socket/TEST_MAPPING b/msg_socket/TEST_MAPPING
new file mode 100644
index 000000000..12a6bf2de
--- /dev/null
+++ b/msg_socket/TEST_MAPPING
@@ -0,0 +1,24 @@
+{
+ "presubmit": [
+ {
+ "name": "msg_socket_tests_enum",
+ "host": true
+ },
+ {
+ "name": "msg_socket_tests_struct",
+ "host": true
+ },
+ {
+ "name": "msg_socket_tests_tuple",
+ "host": true
+ },
+ {
+ "name": "msg_socket_tests_unit",
+ "host": true
+ },
+ {
+ "name": "msg_socket_tests_msg_socket",
+ "host": true
+ }
+ ]
+}
diff --git a/sys_util/Android.bp b/sys_util/Android.bp
index ad97c0bd2..cba95207c 100644
--- a/sys_util/Android.bp
+++ b/sys_util/Android.bp
@@ -1,4 +1,4 @@
-// This file is generated by cargo2android.py.
+// This file is generated by cargo2android.py, manually added "libcap".
rust_library_host_rlib {
name: "libsys_util",
@@ -15,4 +15,5 @@ rust_library_host_rlib {
proc_macros: [
"libpoll_token_derive",
],
+ shared_libs: ["libcap"], // specified in src/capabilities.rs
}