aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Kotur <qtr@google.com>2021-04-19 08:20:13 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-04-19 08:20:13 +0000
commitf85f5d224d731630716bfd9a48489056a68919dc (patch)
treedaaf08af737e70ccff84d0af339162a544fead0a
parent9c2571f2f3f7cce354a6c68a239de5e7c3bc0672 (diff)
parent0dcca6f8bd2930663915faefb79455b1f9e5bac6 (diff)
downloadcrossbeam-utils-android12-mainline-adbd-release.tar.gz
Enable tests for corssbeam-utils. am: 3276f603fd am: 5d4d93d157 am: 174b65c3ce am: 0dcca6f8bdandroid-mainline-12.0.0_r99android-mainline-12.0.0_r98android-mainline-12.0.0_r97android-mainline-12.0.0_r96android-mainline-12.0.0_r95android-mainline-12.0.0_r94android-mainline-12.0.0_r93android-mainline-12.0.0_r92android-mainline-12.0.0_r91android-mainline-12.0.0_r90android-mainline-12.0.0_r9android-mainline-12.0.0_r89android-mainline-12.0.0_r88android-mainline-12.0.0_r87android-mainline-12.0.0_r86android-mainline-12.0.0_r85android-mainline-12.0.0_r84android-mainline-12.0.0_r83android-mainline-12.0.0_r82android-mainline-12.0.0_r81android-mainline-12.0.0_r80android-mainline-12.0.0_r8android-mainline-12.0.0_r79android-mainline-12.0.0_r78android-mainline-12.0.0_r77android-mainline-12.0.0_r76android-mainline-12.0.0_r75android-mainline-12.0.0_r74android-mainline-12.0.0_r73android-mainline-12.0.0_r72android-mainline-12.0.0_r71android-mainline-12.0.0_r70android-mainline-12.0.0_r7android-mainline-12.0.0_r69android-mainline-12.0.0_r68android-mainline-12.0.0_r67android-mainline-12.0.0_r66android-mainline-12.0.0_r65android-mainline-12.0.0_r64android-mainline-12.0.0_r63android-mainline-12.0.0_r62android-mainline-12.0.0_r61android-mainline-12.0.0_r60android-mainline-12.0.0_r6android-mainline-12.0.0_r59android-mainline-12.0.0_r58android-mainline-12.0.0_r57android-mainline-12.0.0_r56android-mainline-12.0.0_r53android-mainline-12.0.0_r52android-mainline-12.0.0_r51android-mainline-12.0.0_r50android-mainline-12.0.0_r5android-mainline-12.0.0_r49android-mainline-12.0.0_r48android-mainline-12.0.0_r47android-mainline-12.0.0_r46android-mainline-12.0.0_r45android-mainline-12.0.0_r44android-mainline-12.0.0_r43android-mainline-12.0.0_r42android-mainline-12.0.0_r41android-mainline-12.0.0_r40android-mainline-12.0.0_r39android-mainline-12.0.0_r38android-mainline-12.0.0_r37android-mainline-12.0.0_r35android-mainline-12.0.0_r34android-mainline-12.0.0_r33android-mainline-12.0.0_r32android-mainline-12.0.0_r31android-mainline-12.0.0_r30android-mainline-12.0.0_r3android-mainline-12.0.0_r29android-mainline-12.0.0_r28android-mainline-12.0.0_r27android-mainline-12.0.0_r26android-mainline-12.0.0_r25android-mainline-12.0.0_r24android-mainline-12.0.0_r23android-mainline-12.0.0_r22android-mainline-12.0.0_r21android-mainline-12.0.0_r20android-mainline-12.0.0_r2android-mainline-12.0.0_r19android-mainline-12.0.0_r18android-mainline-12.0.0_r17android-mainline-12.0.0_r16android-mainline-12.0.0_r15android-mainline-12.0.0_r14android-mainline-12.0.0_r13android-mainline-12.0.0_r126android-mainline-12.0.0_r125android-mainline-12.0.0_r124android-mainline-12.0.0_r123android-mainline-12.0.0_r122android-mainline-12.0.0_r121android-mainline-12.0.0_r120android-mainline-12.0.0_r12android-mainline-12.0.0_r119android-mainline-12.0.0_r118android-mainline-12.0.0_r117android-mainline-12.0.0_r116android-mainline-12.0.0_r115android-mainline-12.0.0_r114android-mainline-12.0.0_r113android-mainline-12.0.0_r110android-mainline-12.0.0_r11android-mainline-12.0.0_r109android-mainline-12.0.0_r108android-mainline-12.0.0_r107android-mainline-12.0.0_r106android-mainline-12.0.0_r105android-mainline-12.0.0_r104android-mainline-12.0.0_r103android-mainline-12.0.0_r102android-mainline-12.0.0_r101android-mainline-12.0.0_r100android-mainline-12.0.0_r10android-mainline-12.0.0_r1aml_wif_311811030aml_tz3_311312010aml_tet_311811050aml_sdk_311710000aml_pco_311011000aml_mpr_311911090aml_doc_310851020android12-mainline-wifi-releaseandroid12-mainline-tethering-releaseandroid12-mainline-statsd-releaseandroid12-mainline-sdkext-releaseandroid12-mainline-resolv-releaseandroid12-mainline-permission-releaseandroid12-mainline-neuralnetworks-releaseandroid12-mainline-networkstack-releaseandroid12-mainline-mediaprovider-releaseandroid12-mainline-media-swcodec-releaseandroid12-mainline-media-releaseandroid12-mainline-ipsec-releaseandroid12-mainline-extservices-releaseandroid12-mainline-documentsui-releaseandroid12-mainline-conscrypt-releaseandroid12-mainline-cellbroadcast-releaseandroid12-mainline-captiveportallogin-releaseandroid12-mainline-art-releaseandroid12-mainline-adbd-release
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/crossbeam-utils/+/1645506 Change-Id: I68c7f860acf4beaa59c0cb5aad3c1ba18842488b
-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"));