pybind11/tests
Jason Rhinelander a6495af87a Make unique_ptr's with non-default deleters work
Currently pybind11 only supports std::unique_ptr<T> holders by default
(other holders can, of course, be declared using the macro).  PR #368
added a `py::nodelete` that is intended to be used as:

    py::class_<Type, std::unique_ptr<Type, py::nodelete>> c("Type");

but this doesn't work out of the box.  (You could add an explicit
holder type declaration, but this doesn't appear to have been the
intention of the commit).

This commit fixes it by generalizing the unique_ptr type_caster to take
both the type and deleter as template arguments, so that *any*
unique_ptr instances are now automatically handled by pybind.  It also
adds a test to test_smart_ptr, testing both that py::nodelete (now)
works, and that the object is indeed not deleted as intended.
2016-09-04 18:23:55 -04:00
..
CMakeLists.txt Make test initialization self-registering 2016-09-03 17:34:41 -04:00
conftest.py Fix test suite failure without numpy and improve module init diagnostics 2016-08-25 17:08:09 +02:00
constructor_stats.h Port tests to pytest 2016-08-19 13:19:38 +02:00
object.h Replace tabs with spaces (to pass style check) 2016-08-28 14:11:38 -04:00
pybind11_tests.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
pybind11_tests.h Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_buffers.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_buffers.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_callbacks.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_callbacks.py Move inheritance tests into the proper file 2016-08-19 13:19:38 +02:00
test_constants_and_functions.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_constants_and_functions.py Move enum tests into a new file 2016-08-19 13:19:38 +02:00
test_eigen.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_eigen.py Fix test suite failure without numpy and improve module init diagnostics 2016-08-25 17:08:09 +02:00
test_enum.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_enum.py Move enum tests into a new file 2016-08-19 13:19:38 +02:00
test_eval_call.py Rewrite eval tests to allow for simple asserts 2016-08-19 16:31:48 +02:00
test_eval.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_eval.py Rewrite eval tests to allow for simple asserts 2016-08-19 16:31:48 +02:00
test_exceptions.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_exceptions.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_inheritance.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_inheritance.py Move inheritance tests into the proper file 2016-08-19 13:19:38 +02:00
test_issues.cpp minor code style checker update 2016-09-04 23:00:49 +09:00
test_issues.py Simplify more tests by replacing capture with assert 2016-08-19 16:31:48 +02:00
test_keep_alive.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_keep_alive.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_kwargs_and_defaults.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_kwargs_and_defaults.py Simplify more tests by replacing capture with assert 2016-08-19 16:31:48 +02:00
test_methods_and_attributes.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_methods_and_attributes.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_modules.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_modules.py Simplify tests by replacing output capture with asserts where possible 2016-08-19 13:19:38 +02:00
test_numpy_dtypes.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_numpy_dtypes.py Fix test suite failure without numpy and improve module init diagnostics 2016-08-25 17:08:09 +02:00
test_numpy_vectorize.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_numpy_vectorize.py Simplify tests by replacing output capture with asserts where possible 2016-08-19 13:19:38 +02:00
test_opaque_types.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_opaque_types.py Simplify tests by replacing output capture with asserts where possible 2016-08-19 13:19:38 +02:00
test_operator_overloading.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_operator_overloading.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_pickling.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_pickling.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_python_types.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_python_types.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_sequences_and_iterators.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_sequences_and_iterators.py Add tests for generalized iterators 2016-08-24 23:30:00 +01:00
test_smart_ptr.cpp Make unique_ptr's with non-default deleters work 2016-09-04 18:23:55 -04:00
test_smart_ptr.py Make unique_ptr's with non-default deleters work 2016-09-04 18:23:55 -04:00
test_stl_binders.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_stl_binders.py Port tests to pytest 2016-08-19 13:19:38 +02:00
test_virtual_functions.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_virtual_functions.py Fix template trampoline overload lookup failure 2016-08-29 19:41:44 -04:00