Ralf W. Grosse-Kunstleve
a8bc5f7904
ruff automatic fixes: from __future__ import annotations
...
```
ruff.....................................................................Failed
- hook id: ruff
- files were modified by this hook
Fixed 44 errors:
- tests/test_class_sh_basic.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_disowning.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_disowning_mi.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_factory_constructors.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_inheritance.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_mi_thunks.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_module_local.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_property.py:
1 × I002 (missing-required-import)
- tests/test_class_sh_property_non_owning.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_shared_ptr_copy_move.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_trampoline_basic.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_trampoline_self_life_support.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_trampoline_shared_from_this.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_trampoline_shared_ptr_cpp_arg.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_trampoline_unique_ptr.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_unique_ptr_custom_deleter.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_unique_ptr_member.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_class_sh_virtual_py_cpp_mix.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_classh_mock.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_descr_src_loc.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_exc_namespace_visibility.py:
1 × I002 (missing-required-import)
- tests/test_type_caster_odr_guard_1.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
- tests/test_type_caster_odr_guard_2.py:
1 × I001 (unsorted-imports)
1 × I002 (missing-required-import)
Found 44 errors (44 fixed, 0 remaining).
```
2024-06-21 23:00:13 -07:00
Ralf W. Grosse-Kunstleve
59ef5307ae
[smart_holder] Add gil_scoped_acquire to shared_ptr_trampoline_self_life_support ctor. ( #4196 )
...
* Add `gil_scoped_acquire` to `shared_ptr_trampoline_self_life_support` ctor.
* Add test exercising fix & validation that the fix is needed (i.e. this is BROKEN).
test_class_sh_trampoline_shared_ptr_cpp_arg.py::test_std_make_shared_factory[pass_through_shd_ptr] PASSED [ 87%]
test_class_sh_trampoline_shared_ptr_cpp_arg.py::test_std_make_shared_factory[pass_through_shd_ptr_release_gil] FAILED [100%]
```
================================================================= FAILURES =================================================================
______________________________________ test_std_make_shared_factory[pass_through_shd_ptr_release_gil] ______________________________________
pass_through_func = <built-in method pass_through_shd_ptr_release_gil of PyCapsule object at 0x7f1b209707b0>
@pytest.mark.parametrize(
"pass_through_func", [m.pass_through_shd_ptr, m.pass_through_shd_ptr_release_gil]
)
def test_std_make_shared_factory(pass_through_func):
class PyChild(m.SpBase):
def __init__(self):
super().__init__(0)
obj = PyChild()
while True:
> assert pass_through_func(obj) is obj
E RuntimeError: NEEDED HERE: gil_scoped_acquire gil;
```
* Put back fix.
2022-10-07 12:24:49 -07:00
Ralf W. Grosse-Kunstleve
05c8b9b7a8
Automatic pre-commit run --all-files and clang-tidy changes (NO manual changes).
2022-02-14 19:00:40 -08:00
Ralf W. Grosse-Kunstleve
a021e045a9
Adding test_multiple_registered_instances_for_same_pointee_leak. Subtle changes in smart_holder_type_caster_load, trying to work on weak_ptr for shared_ptr_trampoline_self_life_support, but that didn't work out. Manually fully leak-checked again.
2021-06-30 07:04:31 -07:00
Ralf W. Grosse-Kunstleve
e2108546e1
Adding unit tests: 2 x test_std_make_shared_factory
...
Completes unit test coverage for the changed code in smart_holder_type_casters.h.
2021-06-30 07:04:31 -07:00
Ralf W. Grosse-Kunstleve
5319ca3817
Using dynamic_cast<AliasType> to determine pointee_depends_on_holder_owner. ( #2910 )
...
* Adaption of PyCLIF virtual_py_cpp_mix test.
* Removing ValueError: Ownership of instance with virtual overrides in Python cannot be transferred to C++. TODO: static_assert alias class needs to inherit from virtual_overrider_self_life_support.
* Bringing back ValueError: "... instance cannot safely be transferred to C++.", but based on dynamic_cast<AliasType>.
* Fixing oversight: adding test_class_sh_virtual_py_cpp_mix.cpp to cmake file.
* clang <= 3.6 compatibility.
* Fixing oversight: dynamic_raw_ptr_cast_if_possible needs special handling for To = void. Adding corresponding missing test in test_class_sh_virtual_py_cpp_mix. Moving dynamic_raw_ptr_cast_if_possible to separate header.
* Changing py::detail::virtual_overrider_self_life_support to py::virtual_overrider_self_life_support.
2021-03-19 12:18:39 -07:00
Ralf W. Grosse-Kunstleve
97a7fb722a
Porting/adapting Dustin's PR #2839 to smart_holder branch ( #2886 )
...
* WIP: test setup complete, AddInCppUniquePtr failing (reproduces PyCLIF smart_ptrs_test failure).
* Fully tested locally.
* Adding new tests to cmake file.
2021-03-03 17:58:42 -08:00