changeset 52617:ac0cb3c334a1

rust-pyo3-sharedref: renamings in test Now that the renamings are done in main code, we give local variables and helper functions in the integration tests matching names.
author Georges Racinet <georges.racinet@cloudcrane.io>
date Sun, 15 Dec 2024 20:00:09 +0100
parents a945845137b1
children 76a0bdb0e4ca
files rust/pyo3-sharedref/tests/test_sharedref.rs
diffstat 1 files changed, 66 insertions(+), 64 deletions(-) [+]
line wrap: on
line diff
--- a/rust/pyo3-sharedref/tests/test_sharedref.rs	Sun Dec 15 15:36:11 2024 +0100
+++ b/rust/pyo3-sharedref/tests/test_sharedref.rs	Sun Dec 15 20:00:09 2024 +0100
@@ -26,16 +26,18 @@
 
 /// "leak" in the sense of `SharedByPyObject` the `string` data field,
 /// taking care of all the boilerplate
-fn leak_string(owner: &Bound<'_, Owner>) -> SharedByPyObject<&'static String> {
-    let cell = &owner.borrow().string;
-    unsafe { cell.share(owner) }
+fn share_string(
+    owner: &Bound<'_, Owner>,
+) -> SharedByPyObject<&'static String> {
+    let shareable = &owner.borrow().string;
+    unsafe { shareable.share(owner) }
 }
 
-fn try_leak_string(
+fn try_share_string(
     owner: &Bound<'_, Owner>,
 ) -> Result<SharedByPyObject<&'static String>, TryShareError> {
-    let cell = &owner.borrow().string;
-    unsafe { cell.try_share(owner) }
+    let shareable = &owner.borrow().string;
+    unsafe { shareable.try_share(owner) }
 }
 
 /// Mutate the `string` field of `owner` as would be done from Python code
@@ -49,65 +51,65 @@
     owner: &'py Bound<'py, Owner>,
     f: impl FnOnce(&mut String),
 ) -> () {
-    let cell = &owner.borrow_mut().string;
-    let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+    let shareable = &owner.borrow_mut().string;
+    let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
     f(&mut shared_ref.write());
 }
 
 #[test]
-fn test_leaked_borrow() -> PyResult<()> {
+fn test_shared_borrow() -> PyResult<()> {
     with_setup(|py, owner| {
-        let leaked = leak_string(owner);
-        let leaked_ref = unsafe { leaked.try_borrow(py) }.unwrap();
-        assert_eq!(*leaked_ref, "new");
+        let shared = share_string(owner);
+        let shared_ref = unsafe { shared.try_borrow(py) }.unwrap();
+        assert_eq!(*shared_ref, "new");
         Ok(())
     })
 }
 
 #[test]
-fn test_leaked_borrow_mut() -> PyResult<()> {
+fn test_shared_borrow_mut() -> PyResult<()> {
     with_setup(|py, owner| {
-        let leaked = leak_string(owner);
-        let mut leaked_iter = unsafe { leaked.map(py, |s| s.chars()) };
-        let mut leaked_ref =
-            unsafe { leaked_iter.try_borrow_mut(py) }.unwrap();
-        assert_eq!(leaked_ref.next(), Some('n'));
-        assert_eq!(leaked_ref.next(), Some('e'));
-        assert_eq!(leaked_ref.next(), Some('w'));
-        assert_eq!(leaked_ref.next(), None);
+        let shared = share_string(owner);
+        let mut shared_iter = unsafe { shared.map(py, |s| s.chars()) };
+        let mut shared_ref =
+            unsafe { shared_iter.try_borrow_mut(py) }.unwrap();
+        assert_eq!(shared_ref.next(), Some('n'));
+        assert_eq!(shared_ref.next(), Some('e'));
+        assert_eq!(shared_ref.next(), Some('w'));
+        assert_eq!(shared_ref.next(), None);
         Ok(())
     })
 }
 
 #[test]
-fn test_leaked_borrow_after_mut() -> PyResult<()> {
+fn test_shared_borrow_after_mut() -> PyResult<()> {
     with_setup(|py, owner| {
-        let leaked = leak_string(owner);
+        let shared = share_string(owner);
         mutate_string(owner, String::clear);
-        assert!(unsafe { leaked.try_borrow(py) }.is_err());
+        assert!(unsafe { shared.try_borrow(py) }.is_err());
         Ok(())
     })
 }
 
 #[test]
-fn test_leaked_borrow_mut_after_mut() -> PyResult<()> {
+fn test_shared_borrow_mut_after_mut() -> PyResult<()> {
     with_setup(|py, owner| {
-        let leaked = leak_string(owner);
-        let mut leaked_iter = unsafe { leaked.map(py, |s| s.chars()) };
+        let shared = share_string(owner);
+        let mut shared_iter = unsafe { shared.map(py, |s| s.chars()) };
 
         mutate_string(owner, String::clear);
-        assert!(unsafe { leaked_iter.try_borrow_mut(py) }.is_err());
+        assert!(unsafe { shared_iter.try_borrow_mut(py) }.is_err());
         Ok(())
     })
 }
 
 #[test]
 #[should_panic(expected = "map() over invalidated shared reference")]
-fn test_leaked_map_after_mut() {
+fn test_shared_map_after_mut() {
     with_setup(|py, owner| {
-        let leaked = leak_string(owner);
+        let shared = share_string(owner);
         mutate_string(owner, String::clear);
-        let _leaked_iter = unsafe { leaked.map(py, |s| s.chars()) };
+        let _shared_iter = unsafe { shared.map(py, |s| s.chars()) };
         Ok(())
     })
     .expect("should already have panicked")
@@ -118,33 +120,33 @@
 /// Simply returning the `Result` is not possible, because that is
 /// returning a reference to data owned by the function
 fn assert_try_write_string_ok(owner: &Bound<'_, Owner>) {
-    let cell = &owner.borrow().string;
-    let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+    let shareable = &owner.borrow().string;
+    let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
     assert!(shared_ref.try_write().is_ok());
 }
 
 fn assert_try_write_string_err(owner: &Bound<'_, Owner>) {
-    let cell = &owner.borrow().string;
-    let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+    let shareable = &owner.borrow().string;
+    let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
     assert!(shared_ref.try_write().is_err());
 }
 
 fn assert_try_read_string_err(owner: &Bound<'_, Owner>) {
-    let cell = &owner.borrow().string;
-    let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+    let shareable = &owner.borrow().string;
+    let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
     assert!(shared_ref.try_read().is_err());
 }
 
 #[test]
-fn test_try_write_while_leaked_ref() -> PyResult<()> {
+fn test_try_write_while_shared_ref() -> PyResult<()> {
     with_setup(|py, owner| {
         assert_try_write_string_ok(owner);
-        let leaked = leak_string(owner);
+        let shared = share_string(owner);
         {
-            let _leaked_ref = unsafe { leaked.try_borrow(py) }.unwrap();
+            let _shared_ref = unsafe { shared.try_borrow(py) }.unwrap();
             assert_try_write_string_err(owner);
             {
-                let _leaked_ref2 = unsafe { leaked.try_borrow(py) }.unwrap();
+                let _shared_ref2 = unsafe { shared.try_borrow(py) }.unwrap();
                 assert_try_write_string_err(owner);
             }
             assert_try_write_string_err(owner);
@@ -155,14 +157,14 @@
 }
 
 #[test]
-fn test_try_write_while_leaked_ref_mut() -> PyResult<()> {
+fn test_try_write_while_shared_ref_mut() -> PyResult<()> {
     with_setup(|py, owner| {
         assert_try_write_string_ok(owner);
-        let leaked = leak_string(owner);
-        let mut leaked_iter = unsafe { leaked.map(py, |s| s.chars()) };
+        let shared = share_string(owner);
+        let mut shared_iter = unsafe { shared.map(py, |s| s.chars()) };
         {
-            let _leaked_ref =
-                unsafe { leaked_iter.try_borrow_mut(py) }.unwrap();
+            let _shared_ref =
+                unsafe { shared_iter.try_borrow_mut(py) }.unwrap();
             assert_try_write_string_err(owner);
         }
         assert_try_write_string_ok(owner);
@@ -171,26 +173,26 @@
 }
 
 #[test]
-fn test_try_leak_while_write() -> PyResult<()> {
+fn test_try_share_while_write() -> PyResult<()> {
     with_setup(|_py, owner| {
-        let cell = &owner.borrow().string;
-        let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+        let shareable = &owner.borrow().string;
+        let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
         let _mut_ref = shared_ref.write();
 
-        assert!(try_leak_string(owner).is_err());
+        assert!(try_share_string(owner).is_err());
         Ok(())
     })
 }
 
 #[test]
 #[should_panic(expected = "already mutably borrowed")]
-fn test_leak_while_write() {
+fn test_share_while_write() {
     with_setup(|_py, owner| {
-        let cell = &owner.borrow().string;
-        let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+        let shareable = &owner.borrow().string;
+        let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
         let _mut_ref = shared_ref.write();
 
-        leak_string(owner);
+        share_string(owner);
         Ok(())
     })
     .expect("should already have panicked")
@@ -199,8 +201,8 @@
 #[test]
 fn test_try_write_while_borrow() -> PyResult<()> {
     with_setup(|_py, owner| {
-        let cell = &owner.borrow().string;
-        let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+        let shareable = &owner.borrow().string;
+        let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
         let _ref = shared_ref.read();
 
         assert_try_write_string_err(owner);
@@ -212,11 +214,11 @@
 #[should_panic(expected = "already borrowed")]
 fn test_write_while_borrow() {
     with_setup(|_py, owner| {
-        let cell = &owner.borrow().string;
-        let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+        let shareable = &owner.borrow().string;
+        let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
         let _ref = shared_ref.read();
 
-        let shared_ref2 = unsafe { cell.borrow_with_owner(owner) };
+        let shared_ref2 = unsafe { shareable.borrow_with_owner(owner) };
         let _mut_ref = shared_ref2.write();
         Ok(())
     })
@@ -226,8 +228,8 @@
 #[test]
 fn test_try_borrow_while_write() -> PyResult<()> {
     with_setup(|_py, owner| {
-        let cell = &owner.borrow().string;
-        let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+        let shareable = &owner.borrow().string;
+        let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
         let _mut_ref = shared_ref.write();
 
         assert_try_read_string_err(owner);
@@ -239,11 +241,11 @@
 #[should_panic(expected = "already mutably borrowed")]
 fn test_borrow_while_write() {
     with_setup(|_py, owner| {
-        let cell = &owner.borrow().string;
-        let shared_ref = unsafe { cell.borrow_with_owner(owner) };
+        let shareable = &owner.borrow().string;
+        let shared_ref = unsafe { shareable.borrow_with_owner(owner) };
         let _mut_ref = shared_ref.write();
 
-        let shared_ref2 = unsafe { cell.borrow_with_owner(owner) };
+        let shared_ref2 = unsafe { shareable.borrow_with_owner(owner) };
         let _ref = shared_ref2.read();
         Ok(())
     })