1This patch was originally introduced for crate version 1.16.0 in aosp/2345213 as it.rs.patch.
2
3This is an updated version for 1.19.0
4
5---
6 tests/it/sync_lazy.rs        | 1 +
7 tests/it/sync_once_cell.rs   | 3 +++
8 tests/it/unsync_lazy.rs      | 1 +
9 tests/it/unsync_once_cell.rs | 2 ++
10 4 files changed, 7 insertions(+)
11
12diff --git a/tests/it/sync_lazy.rs b/tests/it/sync_lazy.rs
13index 44d70fa..89f83b4 100644
14--- a/tests/it/sync_lazy.rs
15+++ b/tests/it/sync_lazy.rs
16@@ -150,6 +150,7 @@ fn lazy_into_value() {
17 }
18
19 #[test]
20+#[cfg(not(target_os = "android"))]
21 fn lazy_poisoning() {
22     let x: Lazy<String> = Lazy::new(|| panic!("kaboom"));
23     for _ in 0..2 {
24diff --git a/tests/it/sync_once_cell.rs b/tests/it/sync_once_cell.rs
25index 252adea..ca806d4 100644
26--- a/tests/it/sync_once_cell.rs
27+++ b/tests/it/sync_once_cell.rs
28@@ -88,6 +88,7 @@ fn clone() {
29 }
30
31 #[test]
32+#[cfg(not(target_os = "android"))]
33 fn get_or_try_init() {
34     let cell: OnceCell<String> = OnceCell::new();
35     assert!(cell.get().is_none());
36@@ -178,6 +179,7 @@ fn debug_impl() {
37 #[test]
38 #[cfg_attr(miri, ignore)] // miri doesn't support processes
39 #[cfg(feature = "std")]
40+#[ignore = "Android: ignore for now. Need to compile these binaries separately."]
41 fn reentrant_init() {
42     let examples_dir = {
43         let mut exe = std::env::current_exe().unwrap();
44@@ -208,6 +210,7 @@ fn reentrant_init() {
45 #[cfg(not(feature = "std"))]
46 #[test]
47 #[should_panic(expected = "reentrant init")]
48+#[ignore = "Android: ignore for now. Need to compile these binaries separately."]
49 fn reentrant_init() {
50     let x: OnceCell<Box<i32>> = OnceCell::new();
51     let dangling_ref: Cell<Option<&i32>> = Cell::new(None);
52diff --git a/tests/it/unsync_lazy.rs b/tests/it/unsync_lazy.rs
53index 0c308ca..524ec6d 100644
54--- a/tests/it/unsync_lazy.rs
55+++ b/tests/it/unsync_lazy.rs
56@@ -114,6 +114,7 @@ fn lazy_into_value() {
57
58 #[test]
59 #[cfg(feature = "std")]
60+#[cfg(not(target_os = "android"))]
61 fn lazy_poisoning() {
62     let x: Lazy<String> = Lazy::new(|| panic!("kaboom"));
63     for _ in 0..2 {
64diff --git a/tests/it/unsync_once_cell.rs b/tests/it/unsync_once_cell.rs
65index 124cc3e..4cd7e87 100644
66--- a/tests/it/unsync_once_cell.rs
67+++ b/tests/it/unsync_once_cell.rs
68@@ -67,6 +67,7 @@ fn clone() {
69 }
70
71 #[test]
72+#[cfg(not(target_os = "android"))]
73 fn get_or_try_init() {
74     let cell: OnceCell<String> = OnceCell::new();
75     assert!(cell.get().is_none());
76@@ -123,6 +124,7 @@ fn debug_impl() {
77
78 #[test]
79 #[should_panic(expected = "reentrant init")]
80+#[ignore = "Android: ignore for now. Need to compile these binaries separately."]
81 fn reentrant_init() {
82     let x: OnceCell<Box<i32>> = OnceCell::new();
83     let dangling_ref: Cell<Option<&i32>> = Cell::new(None);
84