Rust: switch the ParcelableHolder tests from Rc to Arc
The thread-safe ParcelableHolder change switched
the type used by {get,set}_parcelable from Rc to Arc.
This updates the Rust test client code to use
the new type.
Test: atest aidl_integration_test
Change-Id: I56c0b3a2777cb7892aa5132b2fae99f467db9110
diff --git a/tests/rust/test_client.rs b/tests/rust/test_client.rs
index ac58345..196a2c2 100644
--- a/tests/rust/test_client.rs
+++ b/tests/rust/test_client.rs
@@ -54,7 +54,6 @@
use std::fs::File;
use std::io::{Read, Write};
use std::os::unix::io::FromRawFd;
-use std::rc::Rc;
use std::sync::Arc;
fn get_test_service() -> binder::Strong<dyn ITestService::ITestService> {
@@ -613,7 +612,7 @@
fn test_repeat_extendable_parcelable() {
let service = get_test_service();
- let ext = Rc::new(MyExt {
+ let ext = Arc::new(MyExt {
a: 42,
b: "EXT".into(),
});
@@ -623,7 +622,7 @@
c: 42,
..Default::default()
};
- ep.ext.set_parcelable(Rc::clone(&ext))
+ ep.ext.set_parcelable(Arc::clone(&ext))
.expect("error setting parcelable");
let mut ep2 = ExtendableParcelable::default();
@@ -646,14 +645,14 @@
#[test]
fn $test() {
let mut holder = <$holder>::default();
- let parcelable = Rc::new(<$parcelable>::default());
- let result = holder.ext.set_parcelable(Rc::clone(&parcelable));
+ let parcelable = Arc::new(<$parcelable>::default());
+ let result = holder.ext.set_parcelable(Arc::clone(&parcelable));
assert_eq!(result, Ok(()));
let parcelable2 = holder.ext.get_parcelable::<$parcelable>()
.unwrap()
.unwrap();
- assert!(Rc::ptr_eq(&parcelable, &parcelable2));
+ assert!(Arc::ptr_eq(&parcelable, &parcelable2));
}
}
}
@@ -697,8 +696,8 @@
#[test]
fn test_vintf_parcelable_holder_cannot_contain_not_vintf_parcelable() {
let mut holder = VintfExtendableParcelable::default();
- let parcelable = Rc::new(NonVintfParcelable::default());
- let result = holder.ext.set_parcelable(Rc::clone(&parcelable));
+ let parcelable = Arc::new(NonVintfParcelable::default());
+ let result = holder.ext.set_parcelable(Arc::clone(&parcelable));
assert_eq!(result, Err(binder::StatusCode::BAD_VALUE));
let parcelable2 = holder.ext.get_parcelable::<NonVintfParcelable>();
@@ -708,8 +707,8 @@
#[test]
fn test_vintf_parcelable_holder_cannot_contain_unstable_parcelable() {
let mut holder = VintfExtendableParcelable::default();
- let parcelable = Rc::new(UnstableParcelable::default());
- let result = holder.ext.set_parcelable(Rc::clone(&parcelable));
+ let parcelable = Arc::new(UnstableParcelable::default());
+ let result = holder.ext.set_parcelable(Arc::clone(&parcelable));
assert_eq!(result, Err(binder::StatusCode::BAD_VALUE));
let parcelable2 = holder.ext.get_parcelable::<UnstableParcelable>();
@@ -718,11 +717,11 @@
#[test]
fn test_read_write_extension() {
- let ext = Rc::new(MyExt {
+ let ext = Arc::new(MyExt {
a: 42,
b: "EXT".into(),
});
- let ext2 = Rc::new(MyExt2 {
+ let ext2 = Arc::new(MyExt2 {
a: 42,
b: MyExt {
a: 24,
@@ -738,9 +737,9 @@
..Default::default()
};
- ep.ext.set_parcelable(Rc::clone(&ext))
+ ep.ext.set_parcelable(Arc::clone(&ext))
.unwrap();
- ep.ext2.set_parcelable(Rc::clone(&ext2))
+ ep.ext2.set_parcelable(Arc::clone(&ext2))
.unwrap();
let ext_like = ep.ext.get_parcelable::<MyExtLike>();
@@ -779,7 +778,7 @@
let actual_ext = ep2.ext.get_parcelable::<MyExt>();
assert!(actual_ext.unwrap().is_some());
- let new_ext2 = Rc::new(MyExt2 {
+ let new_ext2 = Arc::new(MyExt2 {
a: 79,
b: MyExt {
a: 42,
@@ -787,7 +786,7 @@
},
c: "NEWEXT2".into(),
});
- ep2.ext2.set_parcelable(Rc::clone(&new_ext2))
+ ep2.ext2.set_parcelable(Arc::clone(&new_ext2))
.unwrap();
check_extension_content(&ep1, &ext, &ext2);