Add rust_test and update TEST_MAPPING

Test: atest -c --include-subdirs external/rust/crates
Change-Id: I4588df93bbf9e113060e3ad33ce1c8287747cb3a
diff --git a/Android.bp b/Android.bp
index 0a49d28..267bfe1 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,4 +1,53 @@
-// This file is generated by cargo2android.py --device --run --dependencies.
+// This file is generated by cargo2android.py --device --run --dependencies --tests.
+
+rust_defaults {
+    name: "getrandom_defaults",
+    crate_name: "getrandom",
+    test_suites: ["general-tests"],
+    auto_gen_config: true,
+    edition: "2018",
+    rustlibs: [
+        "libcfg_if",
+        "liblibc",
+    ],
+}
+
+rust_test_host {
+    name: "getrandom_host_test_src_lib",
+    defaults: ["getrandom_defaults"],
+    srcs: ["src/lib.rs"],
+}
+
+rust_test {
+    name: "getrandom_device_test_src_lib",
+    defaults: ["getrandom_defaults"],
+    srcs: ["src/lib.rs"],
+}
+
+rust_defaults {
+    name: "getrandom_defaults_common",
+    crate_name: "common",
+    test_suites: ["general-tests"],
+    auto_gen_config: true,
+    edition: "2018",
+    rustlibs: [
+        "libcfg_if",
+        "libgetrandom",
+        "liblibc",
+    ],
+}
+
+rust_test_host {
+    name: "getrandom_host_test_tests_common",
+    defaults: ["getrandom_defaults_common"],
+    srcs: ["tests/common.rs"],
+}
+
+rust_test {
+    name: "getrandom_device_test_tests_common",
+    defaults: ["getrandom_defaults_common"],
+    srcs: ["tests/common.rs"],
+}
 
 rust_library {
     name: "libgetrandom",
diff --git a/TEST_MAPPING b/TEST_MAPPING
new file mode 100644
index 0000000..f92a434
--- /dev/null
+++ b/TEST_MAPPING
@@ -0,0 +1,19 @@
+// Generated by cargo2android.py for tests in Android.bp
+{
+  "presubmit": [
+    {
+      "name": "getrandom_host_test_src_lib",
+      "host": true
+    },
+    {
+      "name": "getrandom_device_test_src_lib"
+    },
+    {
+      "name": "getrandom_host_test_tests_common",
+      "host": true
+    },
+    {
+      "name": "getrandom_device_test_tests_common"
+    }
+  ]
+}