aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Kotur <qtr@google.com>2021-04-19 08:21:50 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-04-19 08:21:50 +0000
commit16952c952d3a27b09a064fc7ad262da69cce424a (patch)
treedaaf08af737e70ccff84d0af339162a544fead0a
parent11b36bd7423e5fd1be722e4011e13de621b7a2b9 (diff)
parent0dcca6f8bd2930663915faefb79455b1f9e5bac6 (diff)
downloadcrossbeam-utils-android12L-d2-s1-release.tar.gz
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/crossbeam-utils/+/1645506 Change-Id: I073c7df7fb0ebb93899abd0c277a31aba7e106fe
-rw-r--r--Android.bp171
-rw-r--r--TEST_MAPPING24
-rw-r--r--patches/disable_panic_tests_on_android.patch103
-rw-r--r--tests/sharded_lock.rs14
-rw-r--r--tests/thread.rs8
5 files changed, 314 insertions, 6 deletions
diff --git a/Android.bp b/Android.bp
index bc70b65..1a2c24f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,4 +1,4 @@
-// This file is generated by cargo2android.py --run --device --dependencies.
+// This file is generated by cargo2android.py --run --device --dependencies --tests.
// Do not modify this file as changes will be overridden on upgrade.
package {
@@ -39,6 +39,159 @@ license {
],
}
+rust_defaults {
+ name: "crossbeam-utils_defaults",
+ crate_name: "crossbeam_utils",
+ srcs: ["src/lib.rs"],
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ edition: "2018",
+ features: [
+ "default",
+ "lazy_static",
+ "std",
+ ],
+ cfgs: [
+ "has_atomic_u16",
+ "has_atomic_u32",
+ "has_atomic_u64",
+ "has_atomic_u8",
+ ],
+ rustlibs: [
+ "libcfg_if",
+ "liblazy_static",
+ "librand",
+ ],
+}
+
+rust_test_host {
+ name: "crossbeam-utils_host_test_src_lib",
+ defaults: ["crossbeam-utils_defaults"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "crossbeam-utils_device_test_src_lib",
+ defaults: ["crossbeam-utils_defaults"],
+}
+
+rust_defaults {
+ name: "crossbeam-utils_defaults_crossbeam_utils",
+ crate_name: "crossbeam_utils",
+ test_suites: ["general-tests"],
+ auto_gen_config: true,
+ edition: "2018",
+ features: [
+ "default",
+ "lazy_static",
+ "std",
+ ],
+ cfgs: [
+ "has_atomic_u16",
+ "has_atomic_u32",
+ "has_atomic_u64",
+ "has_atomic_u8",
+ ],
+ rustlibs: [
+ "libcfg_if",
+ "libcrossbeam_utils",
+ "liblazy_static",
+ "librand",
+ ],
+}
+
+rust_test_host {
+ name: "crossbeam-utils_host_test_tests_atomic_cell",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/atomic_cell.rs"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "crossbeam-utils_device_test_tests_atomic_cell",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/atomic_cell.rs"],
+}
+
+rust_test_host {
+ name: "crossbeam-utils_host_test_tests_cache_padded",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/cache_padded.rs"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "crossbeam-utils_device_test_tests_cache_padded",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/cache_padded.rs"],
+}
+
+rust_test_host {
+ name: "crossbeam-utils_host_test_tests_parker",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/parker.rs"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "crossbeam-utils_device_test_tests_parker",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/parker.rs"],
+}
+
+rust_test_host {
+ name: "crossbeam-utils_host_test_tests_sharded_lock",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/sharded_lock.rs"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "crossbeam-utils_device_test_tests_sharded_lock",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/sharded_lock.rs"],
+}
+
+rust_test_host {
+ name: "crossbeam-utils_host_test_tests_thread",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/thread.rs"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "crossbeam-utils_device_test_tests_thread",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/thread.rs"],
+}
+
+rust_test_host {
+ name: "crossbeam-utils_host_test_tests_wait_group",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/wait_group.rs"],
+ test_options: {
+ unit_test: true,
+ },
+}
+
+rust_test {
+ name: "crossbeam-utils_device_test_tests_wait_group",
+ defaults: ["crossbeam-utils_defaults_crossbeam_utils"],
+ srcs: ["tests/wait_group.rs"],
+}
+
rust_library {
name: "libcrossbeam_utils",
host_supported: true,
@@ -50,11 +203,11 @@ rust_library {
"lazy_static",
"std",
],
- flags: [
- "--cfg has_atomic_u16",
- "--cfg has_atomic_u32",
- "--cfg has_atomic_u64",
- "--cfg has_atomic_u8",
+ cfgs: [
+ "has_atomic_u16",
+ "has_atomic_u32",
+ "has_atomic_u64",
+ "has_atomic_u8",
],
rustlibs: [
"libcfg_if",
@@ -65,4 +218,10 @@ rust_library {
// dependent_library ["feature_list"]
// autocfg-1.0.1
// cfg-if-1.0.0
+// getrandom-0.2.2 "std"
// lazy_static-1.4.0
+// libc-0.2.93
+// ppv-lite86-0.2.10 "simd,std"
+// rand-0.8.3 "alloc,default,getrandom,libc,rand_chacha,rand_hc,std,std_rng"
+// rand_chacha-0.3.0 "std"
+// rand_core-0.6.2 "alloc,getrandom,std"
diff --git a/TEST_MAPPING b/TEST_MAPPING
index 25a9cdc..a68b776 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -3,6 +3,30 @@
"presubmit": [
{
"name": "crossbeam-epoch_device_test_src_lib"
+ },
+ {
+ "name": "crossbeam-epoch_device_test_tests_loom"
+ },
+ {
+ "name": "crossbeam-utils_device_test_src_lib"
+ },
+ {
+ "name": "crossbeam-utils_device_test_tests_atomic_cell"
+ },
+ {
+ "name": "crossbeam-utils_device_test_tests_cache_padded"
+ },
+ {
+ "name": "crossbeam-utils_device_test_tests_parker"
+ },
+ {
+ "name": "crossbeam-utils_device_test_tests_sharded_lock"
+ },
+ {
+ "name": "crossbeam-utils_device_test_tests_thread"
+ },
+ {
+ "name": "crossbeam-utils_device_test_tests_wait_group"
}
]
}
diff --git a/patches/disable_panic_tests_on_android.patch b/patches/disable_panic_tests_on_android.patch
new file mode 100644
index 0000000..49e4758
--- /dev/null
+++ b/patches/disable_panic_tests_on_android.patch
@@ -0,0 +1,103 @@
+--- tests/sharded_lock.rs
++++ tests/sharded_lock.rs
+@@ -46,6 +46,8 @@ fn frob() {
+ }
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn arc_poison_wr() {
+ let arc = Arc::new(ShardedLock::new(1));
+ let arc2 = arc.clone();
+@@ -58,6 +60,8 @@ fn arc_poison_wr() {
+ }
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn arc_poison_ww() {
+ let arc = Arc::new(ShardedLock::new(1));
+ assert!(!arc.is_poisoned());
+@@ -72,6 +76,8 @@ fn arc_poison_ww() {
+ }
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn arc_no_poison_rr() {
+ let arc = Arc::new(ShardedLock::new(1));
+ let arc2 = arc.clone();
+@@ -84,6 +90,8 @@ fn arc_no_poison_rr() {
+ assert_eq!(*lock, 1);
+ }
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn arc_no_poison_sl() {
+ let arc = Arc::new(ShardedLock::new(1));
+ let arc2 = arc.clone();
+@@ -135,6 +143,8 @@ fn arc() {
+ }
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn arc_access_in_unwind() {
+ let arc = Arc::new(ShardedLock::new(1));
+ let arc2 = arc.clone();
+@@ -211,6 +221,8 @@ fn test_into_inner_drop() {
+ }
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn test_into_inner_poison() {
+ let m = Arc::new(ShardedLock::new(NonCopy(10)));
+ let m2 = m.clone();
+@@ -235,6 +247,8 @@ fn test_get_mut() {
+ }
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn test_get_mut_poison() {
+ let m = Arc::new(ShardedLock::new(NonCopy(10)));
+ let m2 = m.clone();
+--- tests/thread.rs
++++ tests/thread.rs
+@@ -9,6 +9,8 @@ const THREADS: usize = 10;
+ const SMALL_STACK_SIZE: usize = 20;
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn join() {
+ let counter = AtomicUsize::new(0);
+ thread::scope(|scope| {
+@@ -64,6 +66,8 @@ fn counter_builder() {
+ }
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn counter_panic() {
+ let counter = AtomicUsize::new(0);
+ let result = thread::scope(|scope| {
+@@ -84,6 +88,8 @@ fn counter_panic() {
+ }
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn panic_twice() {
+ let result = thread::scope(|scope| {
+ scope.spawn(|_| {
+@@ -108,6 +114,8 @@ fn panic_twice() {
+ }
+
+ #[test]
++// Android aborts on panic and this test relies on stack unwinding.
++#[cfg(not(target_os = "android"))]
+ fn panic_many() {
+ let result = thread::scope(|scope| {
+ scope.spawn(|_| panic!("deliberate panic #1"));
diff --git a/tests/sharded_lock.rs b/tests/sharded_lock.rs
index c362154..b4b8565 100644
--- a/tests/sharded_lock.rs
+++ b/tests/sharded_lock.rs
@@ -46,6 +46,8 @@ fn frob() {
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn arc_poison_wr() {
let arc = Arc::new(ShardedLock::new(1));
let arc2 = arc.clone();
@@ -58,6 +60,8 @@ fn arc_poison_wr() {
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn arc_poison_ww() {
let arc = Arc::new(ShardedLock::new(1));
assert!(!arc.is_poisoned());
@@ -72,6 +76,8 @@ fn arc_poison_ww() {
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn arc_no_poison_rr() {
let arc = Arc::new(ShardedLock::new(1));
let arc2 = arc.clone();
@@ -84,6 +90,8 @@ fn arc_no_poison_rr() {
assert_eq!(*lock, 1);
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn arc_no_poison_sl() {
let arc = Arc::new(ShardedLock::new(1));
let arc2 = arc.clone();
@@ -135,6 +143,8 @@ fn arc() {
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn arc_access_in_unwind() {
let arc = Arc::new(ShardedLock::new(1));
let arc2 = arc.clone();
@@ -208,6 +218,8 @@ fn test_into_inner_drop() {
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn test_into_inner_poison() {
let m = Arc::new(ShardedLock::new(NonCopy(10)));
let m2 = m.clone();
@@ -232,6 +244,8 @@ fn test_get_mut() {
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn test_get_mut_poison() {
let m = Arc::new(ShardedLock::new(NonCopy(10)));
let m2 = m.clone();
diff --git a/tests/thread.rs b/tests/thread.rs
index 0dfad90..280b73f 100644
--- a/tests/thread.rs
+++ b/tests/thread.rs
@@ -9,6 +9,8 @@ const THREADS: usize = 10;
const SMALL_STACK_SIZE: usize = 20;
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn join() {
let counter = AtomicUsize::new(0);
thread::scope(|scope| {
@@ -64,6 +66,8 @@ fn counter_builder() {
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn counter_panic() {
let counter = AtomicUsize::new(0);
let result = thread::scope(|scope| {
@@ -84,6 +88,8 @@ fn counter_panic() {
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn panic_twice() {
let result = thread::scope(|scope| {
scope.spawn(|_| {
@@ -108,6 +114,8 @@ fn panic_twice() {
}
#[test]
+// Android aborts on panic and this test relies on stack unwinding.
+#[cfg(not(target_os = "android"))]
fn panic_many() {
let result = thread::scope(|scope| {
scope.spawn(|_| panic!("deliberate panic #1"));