Ralf W. Grosse-Kunstleve
d3537e4236
Reducing 2: rename C++ namespace from class_sh_disowning_mi to wip.
2024-07-09 20:37:47 -07:00
Ralf W. Grosse-Kunstleve
1ea3855b22
Reducing 1.
2024-07-09 20:29:58 -07:00
Ralf W. Grosse-Kunstleve
e254264cc5
Restore original test_class_sh_disowning.py from smart_holder branch.
2024-07-09 15:09:39 -07:00
Ralf W. Grosse-Kunstleve
c5278145a0
Transfer test_mixed from test_class_sh_disowning to test_wip (preparation for debugging behavior difference).
2024-07-09 13:43:57 -07:00
Ralf W. Grosse-Kunstleve
c0f5078263
Pull in from smart_holder branch: Additional assert is_disowned()
in test_class_sh_disowning.py ( #5234 )
2024-07-09 13:31:59 -07:00
Ralf W. Grosse-Kunstleve
5a4442f583
pytest.skip() right before m.disown_b(...) in test_class_sh_property_non_owning.py. Remove pytest.skip() in test_class_sh_shared_ptr_copy_move.py and test_class_sh_property_non_owning.py
2024-07-09 11:31:57 -07:00
Ralf W. Grosse-Kunstleve
752626d607
SegFault 20.04 C++11 MinSizeRel all tests, but only first pass after git clean -fdx
...
NO SegFault 20.04 C++11 Debug all tests, even in first pass after git clean -fdx
BUT then suddenly SegFaults not reproducible anymore even with MinSizeRel!?
Current thread 0x00007f6c7165e740 (most recent call first):
File "/mounted_pybind11/tests/test_class_sh_shared_ptr_copy_move.py", line 9 in test_shptr_copy
line 9:
lst = m.test_ShPtr_copy()
This line was added after last observed SegFault
del mth
2024-07-09 08:39:48 -07:00
Ralf W. Grosse-Kunstleve
625c88b845
Add two more pytest.skip("BAKEIN_BREAK: Segmentation fault")
in test_class_sh_shared_ptr_copy_move.py
2024-07-08 16:12:44 -07:00
Ralf W. Grosse-Kunstleve
3ddfc58a2f
Add two pytest.skip("BAKEIN_BREAK: Segmentation fault")
in test_class_sh_shared_ptr_copy_move.py (suspected (!) holder mismatch).
2024-07-08 15:58:59 -07:00
Ralf W. Grosse-Kunstleve
cc86fb3256
test_class_sh_property_non_owning.py appears to cause memory corruption leading to failures in test_class_sh_shared_ptr_copy_move.py:
...
* Disable all tests in test_class_sh_property_non_owning.py
* Disable only `test_properties()` in test_class_sh_shared_ptr_copy_move.py
* Go back to original .github/workflows/ci.yml
2024-07-08 15:18:17 -07:00
Ralf W. Grosse-Kunstleve
68c9d1311f
Bring in tests/*class_sh_module_local* from smart_holder branch as-is (tests pass without any further changes).
2024-07-07 13:25:50 -07:00
Ralf W. Grosse-Kunstleve
9e3bee066b
Bring in tests/test_classh_mock.cpp,py from smart_holder branch as-is (tests pass without any further changes).
2024-07-07 13:17:27 -07:00
Ralf W. Grosse-Kunstleve
ac055a41fc
Add BAKEIN_BREAK
in test_class_sh_property_non_owning.cpp,py
2024-07-07 13:04:41 -07:00
Ralf W. Grosse-Kunstleve
f52456e07a
Bring in tests/test_class_sh_property_non_owning.cpp,py from smart_holder branch as-is (does not build).
2024-07-07 13:01:30 -07:00
Ralf W. Grosse-Kunstleve
b89ec00202
Add BAKEIN_BREAK
in test_class_sh_property.cpp,py
2024-07-07 12:59:17 -07:00
Ralf W. Grosse-Kunstleve
c7bd78ccd6
Bring in tests/test_class_sh_property.cpp,py from smart_holder branch as-is (does not build).
2024-07-07 12:58:00 -07:00
Ralf W. Grosse-Kunstleve
c453013583
Move pytest.skip("BAKEIN_BREAK: ...)
in test_class_sh_shared_ptr_copy_move.py to top level (still appears to fail on ~17 platforms).
2024-07-07 10:25:24 -07:00
Ralf W. Grosse-Kunstleve
89c58c4f7f
Add pytest.skip("BAKEIN_BREAK: ...)
in test_class_sh_shared_ptr_copy_move.py test_properties()
(appears to fail on ~17 platforms).
2024-07-07 09:54:41 -07:00
Ralf W. Grosse-Kunstleve
56019a2d68
Clean out debug code in test_class_sh_mi_thunks.cpp,py
2024-07-07 09:06:00 -07:00
Ralf W. Grosse-Kunstleve
011c795b5f
test_class_sh_disowning.py: BAKEIN_WIP: Why is the behavior different?
2024-07-07 09:03:00 -07:00
Ralf W. Grosse-Kunstleve
1158dbc57b
Remove pytest.skip("BAKEIN_BREAK: ...")
in test_class_sh_disowning_mi.py (tests pass without any further changes).
2024-07-07 08:47:04 -07:00
Ralf W. Grosse-Kunstleve
bb6b429a2f
MESSY but success for: test_get_vec_size_raw_shared[get_drvd_as_base0_raw_ptr-vec_size_base0_shared_ptr]
...
scons -j 48 selected_test_cpp=test_class_sh_mi_thunks.cpp && "$(cat PYROOT)"/bin/python3 $HOME/clone/pybind11_scons/run_tests.py ../pybind11 test_class_sh_mi_thunks.py -s -vv -k 'test_get_vec_size_raw_shared[get_drvd_as_base0_raw_ptr-vec_size_base0_shared_ptr]'
```
=========================================================== test session starts ============================================================
platform linux -- Python 3.11.8, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3
cachedir: .pytest_cache
C++ Info: 13.2.0 C++20 __pybind11_internals_v10000000_gcc_libstdcpp_cxxabi1018__ PYBIND11_SIMPLE_GIL_MANAGEMENT=False PYBIND11_NUMPY_1_ONLY=False
rootdir: /usr/local/google/home/rwgk/forked/pybind11/tests
configfile: pytest.ini
plugins: xdist-3.5.0
collected 10 items / 9 deselected / 1 selected
test_class_sh_mi_thunks.py::test_get_vec_size_raw_shared[get_drvd_as_base0_raw_ptr-vec_size_base0_shared_ptr]
LOOOK A
LOOOK get raw drvd 47927280
LOOOK get raw base 47927312
LOOOK B
LOOOK shd load(src, convert) X
LOOOK shd try_implicit_casts(src, convert) Q
LOOOK shd try_implicit_casts(src, convert) R
LOOOK shd load(src, convert) X
LOOOK shd load_value(v_h) ENTRY
LOOOK shd load_value(v_h) A
LOOOK shd load_value(v_h) B
LOOOK shd load(src, convert) Y 47927280
LOOOK shd try_implicit_casts(src, convert) S
LOOOK shd load(src, convert) Y 47927312
LOOOK operator std::shared_ptr<type> & A 47927312 /usr/local/google/home/rwgk/forked/pybind11/include/pybind11/detail/../cast.h:891
LOOOK /usr/local/google/home/rwgk/forked/pybind11/include/pybind11/detail/../detail/type_caster_base.h:838
LOOOK /usr/local/google/home/rwgk/forked/pybind11/include/pybind11/detail/../detail/type_caster_base.h:842
LOOOK operator std::shared_ptr<type> & B 47927312 /usr/local/google/home/rwgk/forked/pybind11/include/pybind11/detail/../cast.h:893
LOOOK shd const Base0 *obj 47927312
LOOOK shd const auto *obj_der 47927280
LOOOK C
PASSED
===================================================== 1 passed, 9 deselected in 0.01s ======================================================
```
2024-07-07 06:31:23 -07:00
Ralf W. Grosse-Kunstleve
b201eece19
Remove pytest.skip("BAKEIN_BREAK: ...") in test_class_sh_mi_thunks.py (tests still fail)
2024-07-06 13:17:20 -07:00
Ralf W. Grosse-Kunstleve
70ba91f721
Inline smart_holder_type_caster_support, trampoline_self_life_support in type_caster_base.h: the organization of the existing code makes it very difficult to factor the added code properly.
2024-07-06 11:04:25 -07:00
Ralf W. Grosse-Kunstleve
2180dd4b6b
Add test_class_sh_disowning_mi, test_class_sh_mi_thunks in CMakeLists.txt
2024-07-05 15:33:39 -07:00
Ralf W. Grosse-Kunstleve
34b8d360a2
Add pytest.skip("BAKEIN_BREAK: ...") in test_class_sh_disowning_mi.py
2024-07-05 15:27:05 -07:00
Ralf W. Grosse-Kunstleve
7173a3ab9d
Bring in tests/test_class_sh_disowning_mi.cpp,py from smart_holder branch as-is (AssertionError).
2024-07-05 15:21:49 -07:00
Ralf W. Grosse-Kunstleve
3466ce5f63
Add pytest.skip("BAKEIN_BREAK: ...") in test_class_sh_mi_thunks.py
2024-07-05 15:20:07 -07:00
Ralf W. Grosse-Kunstleve
25c8edf994
Bring in tests/test_class_sh_mi_thunks.cpp,py from smart_holder branch as-is (Segmentation fault).
2024-07-05 14:47:39 -07:00
Ralf W. Grosse-Kunstleve
288442cd5c
Add more test_class_sh_* in tests/CMakeLists.txt
...
All unit tests pass ASAN and MSAN testing with the Google-internal toolchain.
2024-07-05 14:40:43 -07:00
Ralf W. Grosse-Kunstleve
4ce1524c61
Bring in tests/test_class_sh_shared_ptr_copy_move.cpp,py from smart_holder branch as-is (does not build).
2024-07-05 14:25:44 -07:00
Ralf W. Grosse-Kunstleve
d9d96118e6
Bring in all tests/test_class_*.cpp,py from smart_holder branch as-is that pass without any further changes.
...
All unit tests pass ASAN and MSAN testing with the Google-internal toolchain.
2024-07-05 12:56:41 -07:00
Ralf W. Grosse-Kunstleve
470a765804
Bring in tests/test_class_sh_factory_constructors.cpp,py from smart_holder branch as-is (tests pass without any further changes).
...
All unit tests pass ASAN and MSAN testing with the Google-internal toolchain.
2024-07-05 12:38:07 -07:00
Ralf W. Grosse-Kunstleve
c84dacc379
Factor out smart_holder_value_and_holder_support.h to avoid code duplication.
...
All unit tests pass ASAN and MSAN testing with the Google-internal toolchain.
2024-07-05 12:18:11 -07:00
Ralf W. Grosse-Kunstleve
0b7a628a04
Check for Python instance is uninitialized/disowned in type_caster_base.h. CRUDE intermediate state, needs refactoring.
...
All 4 remaining BAKEIN_BREAK removed from test_class_sh_basic.py. With that both test_class_sh_basic.cpp and test_class_sh_basic.py are identical to the smart_holder branch.
All unit tests pass ASAN and MSAN testing with the Google-internal toolchain.
2024-07-05 00:28:43 -07:00
Ralf W. Grosse-Kunstleve
874f69d898
Add cast(const std::unique_ptr<type, deleter> &, ...)
. Remove the last 3 remaining BAKEIN_BREAK in test_class_sh_basic.cpp
2024-07-04 16:09:01 -07:00
Ralf W. Grosse-Kunstleve
ebbe066841
Implement operator std::unique_ptr<type, deleter>()
. Resolves all but 1 block of 4 BAKEIN_BREAK in test_class_sh_basic.py
2024-07-04 11:26:43 -07:00
Ralf W. Grosse-Kunstleve
0eb23f2ad1
Remove all but 3 BAKEIN_BREAK in test_class_sh_basic.cpp
2024-07-04 08:47:34 -07:00
Ralf W. Grosse-Kunstleve
d4fc392ebe
move_only_holder_caster<type, std::unique_ptr<T, D>>
: inherit from type_caster_base<T>
...
CRUDE INTERMEDIATE STATE, just to see if this builds on all platforms.
2024-07-03 15:16:46 -07:00
Ralf W. Grosse-Kunstleve
224e9343d2
Implement operator std::shared_ptr<type> &()
, remove 2 BAKEIN_BREAK: pass_shmp, pass_shcp
2024-07-03 13:51:50 -07:00
Ralf W. Grosse-Kunstleve
5957133b6e
Add smart_holder_from_unique_ptr()
specialization for std::unique_ptr<T const, D>
...
Enables removing:
4 BAKEIN_BREAK in test_class_sh_basic.cpp
2 BAKEIN_BREAK in test_class_sh_basic.py
2024-07-03 07:38:18 -07:00
Ralf W. Grosse-Kunstleve
7a6d30ca58
Fix rtrn_shmp
, rtrn_shmp
by transferring smart_holder_from_shared_ptr()
functionality from smart_holder branch.
2024-07-02 18:25:01 -07:00
Ralf W. Grosse-Kunstleve
a332fe8cf4
Fix oversights: Add pybind11/smart_holder.h in CMakeLists.txt, tests/extra_python_package/test_files.py
2024-07-02 15:15:19 -07:00
Ralf W. Grosse-Kunstleve
12b01305de
Add no-op pybind11/smart_holder.h, 21 BAKEIN_BREAK in test_class_sh_basic.cpp, 26 BAKEIN_BREAK in test_class_sh_basic.py
...
```
========================================================= short test summary info ==========================================================
SKIPPED [1] test_class_sh_basic.py:59: got empty parameter set ('pass_f', 'rtrn_f', 'expected'), function test_load_with_rtrn_f at /usr/local/google/home/rwgk/forked/pybind11/tests/test_class_sh_basic.py:58
SKIPPED [1] test_class_sh_basic.py:70: got empty parameter set ('pass_f', 'rtrn_f', 'regex_expected'), function test_deleter_roundtrip at /usr/local/google/home/rwgk/forked/pybind11/tests/test_class_sh_basic.py:69
SKIPPED [1] test_class_sh_basic.py:99: got empty parameter set ('pass_f', 'rtrn_f', 'expected'), function test_pass_unique_ptr_disowns at /usr/local/google/home/rwgk/forked/pybind11/tests/test_class_sh_basic.py:98
SKIPPED [1] test_class_sh_basic.py:120: got empty parameter set ('pass_f', 'rtrn_f'), function test_cannot_disown_use_count_ne_1 at /usr/local/google/home/rwgk/forked/pybind11/tests/test_class_sh_basic.py:119
SKIPPED [1] test_class_sh_basic.py:145: BAKEIN_BREAK: AttributeError unique_ptr_roundtrip
SKIPPED [1] test_class_sh_basic.py:157: unconditional skip
SKIPPED [1] test_class_sh_basic.py:169: got empty parameter set ('pass_f', 'rtrn_f', 'moved_out', 'moved_in'), function test_unique_ptr_consumer_roundtrip at /usr/local/google/home/rwgk/forked/pybind11/tests/test_class_sh_basic.py:168
SKIPPED [1] test_class_sh_basic.py:210: BAKEIN_BREAK: AttributeError args_unique_ptr
====================================================== 17 passed, 8 skipped in 0.04s =======================================================```
2024-07-02 14:43:23 -07:00
Ralf W. Grosse-Kunstleve
b6171bc7ad
Bring in tests/test_class_sh_basic.cpp,py from smart_holder branch as-is (does not build).
2024-07-02 13:40:16 -07:00
Ralf W. Grosse-Kunstleve
66a775eee9
Replace BAKEIN_BREAK with BAKEIN_EXPECTED in test_smart_ptr_from_default().
2024-07-02 11:24:40 -07:00
Ralf W. Grosse-Kunstleve
f84be2e15a
Remove all BAKEIN_BREAK in test_pickling.cpp,py (tests pass without any production code changes).
2024-07-02 11:03:26 -07:00
Ralf W. Grosse-Kunstleve
107bcf9cb4
Bring in tests/pure_cpp/smart_holder_poc_test.cpp from smart_holder branch as-is.
2024-07-02 10:20:51 -07:00
Ralf W. Grosse-Kunstleve
6b89ca002e
test_class.cpp: transfer CHECK_SMART_HOLDER from smart_holder branch (replaces BAKEIN_BREAK).
2024-07-01 22:57:33 -07:00
Ralf W. Grosse-Kunstleve
6c227c7a90
Remove pytest.skip("BAKEIN_BREAK: ...") in test_class.py (not needed anymore).
2024-07-01 22:52:30 -07:00