pybind11/tests
Jason Rhinelander 4b159230d9 Made module_local types take precedence over global types
Attempting to mix py::module_local and non-module_local classes results
in some unexpected/undesirable behaviour:

- if a class is registered non-local by some other module, a later
  attempt to register it locally fails.  It doesn't need to: it is
  perfectly acceptable for the local registration to simply override
  the external global registration.
- going the other way (i.e. module `A` registers a type `T` locally,
  then `B` registers the same type `T` globally) causes a more serious
  issue: `A.T`'s constructors no longer work because the `self` argument
  gets converted to a `B.T`, which then fails to resolve.

Changing the cast precedence to prefer local over global fixes this and
makes it work more consistently, regardless of module load order.
2017-08-05 11:23:34 -04:00
..
test_cmake_build Move test_cmake_build target code into its subdirectory 2017-06-27 10:38:41 +02:00
test_embed Fix embedded threads test on MSVC2015 / Python 2.7 2017-06-24 21:59:55 +02:00
CMakeLists.txt Add py::module_local() attribute for module-local type bindings 2017-08-04 10:47:34 -04:00
conftest.py Minor pytest maintenance (#702) 2017-03-10 15:42:42 +01:00
constructor_stats.h Support multiple inheritance from python 2017-06-12 09:56:55 -03:00
local_bindings.h Made module_local types take precedence over global types 2017-08-05 11:23:34 -04:00
object.h Improve custom holder support (#607) 2017-01-31 17:05:44 +01:00
pybind11_cross_module_tests.cpp Made module_local types take precedence over global types 2017-08-05 11:23:34 -04:00
pybind11_tests.cpp Split test_python_types.cpp into builtin_casters, stl and pytypes 2017-06-27 10:38:41 +02:00
pybind11_tests.h Use rvalue subcasting when casting an rvalue container 2017-07-05 12:27:14 -04:00
pytest.ini Don't let pytest discover tests from test_cmake_build and test_embed 2017-06-10 16:44:21 +02:00
test_buffers.cpp Convenience constructor templates for buffer_info (#860) 2017-05-29 03:13:55 +02:00
test_buffers.py Fix buffer protocol inheritance 2017-05-29 02:03:58 +02:00
test_builtin_casters.cpp Implicit conversions to bool + np.bool_ conversion (#925) 2017-07-23 11:02:43 -04:00
test_builtin_casters.py Implicit conversions to bool + np.bool_ conversion (#925) 2017-07-23 11:02:43 -04:00
test_call_policies.cpp Hold strong references to keep_alive patients 2017-06-24 12:59:46 -04:00
test_call_policies.py Make `init_holder` do registration, and rename to `init_instance` 2017-07-28 20:39:33 -04:00
test_callbacks.cpp Split test_python_types.cpp into builtin_casters, stl and pytypes 2017-06-27 10:38:41 +02:00
test_callbacks.py functional: support bound methods 2017-04-29 10:43:17 -04:00
test_chrono.cpp Fix for floating point durations 2017-03-11 23:04:16 -04:00
test_chrono.py Fix for floating point durations 2017-03-11 23:04:16 -04:00
test_class.cpp Add py::module_local() attribute for module-local type bindings 2017-08-04 10:47:34 -04:00
test_class.py Add support custom sized operator deletes (#952) 2017-07-23 00:32:58 -04:00
test_constants_and_functions.cpp Support binding noexcept function/methods in C++17 2016-12-14 20:40:49 +01:00
test_constants_and_functions.py Support binding noexcept function/methods in C++17 2016-12-14 20:40:49 +01:00
test_copy_move.cpp Move tests from test_issues.cpp/py into appropriate files 2017-06-27 10:38:41 +02:00
test_copy_move.py Fix test suite under MSVC/Debug 2017-07-12 11:50:40 -04:00
test_docstring_options.cpp Fix extra docstring newlines under `options.disable_function_signatures()` 2017-03-08 12:32:42 -05:00
test_docstring_options.py Fix extra docstring newlines under `options.disable_function_signatures()` 2017-03-08 12:32:42 -05:00
test_eigen.cpp Fix indirect loading of Eigen::Ref 2017-06-29 11:31:54 +02:00
test_eigen.py Fix indirect loading of Eigen::Ref 2017-06-29 11:31:54 +02:00
test_enum.cpp enum_: fix implicit conversion on Python 2.7 2017-04-29 16:35:28 +02:00
test_enum.py pytest target: add USE_TERMINAL flag 2017-04-29 16:35:28 +02:00
test_eval.cpp Add py::exec() as a shortcut for py::eval<py::eval_statements>() 2017-05-08 20:46:16 +02:00
test_eval.py Rewrite eval tests to allow for simple asserts 2016-08-19 16:31:48 +02:00
test_eval_call.py Add checks to maintain a consistent Python code style and prevent bugs (#515) 2016-11-20 21:21:54 +01:00
test_exceptions.cpp Simplify error_already_set 2017-07-28 20:40:35 -04:00
test_exceptions.py Fix builtin exception handlers to work across modules 2017-08-04 10:47:34 -04:00
test_kwargs_and_defaults.cpp Add support for positional args with args/kwargs 2017-01-31 17:24:41 +01:00
test_kwargs_and_defaults.py Minor pytest maintenance (#702) 2017-03-10 15:42:42 +01:00
test_local_bindings.cpp Made module_local types take precedence over global types 2017-08-05 11:23:34 -04:00
test_local_bindings.py Made module_local types take precedence over global types 2017-08-05 11:23:34 -04:00
test_methods_and_attributes.cpp Support `take_ownership` for custom type casters given a pointer 2017-07-16 11:04:43 -04:00
test_methods_and_attributes.py Support `take_ownership` for custom type casters given a pointer 2017-07-16 11:04:43 -04:00
test_modules.cpp Move tests from test_issues.cpp/py into appropriate files 2017-06-27 10:38:41 +02:00
test_modules.py Split test_python_types.cpp into builtin_casters, stl and pytypes 2017-06-27 10:38:41 +02:00
test_multiple_inheritance.cpp Make `init_holder` do registration, and rename to `init_instance` 2017-07-28 20:39:33 -04:00
test_multiple_inheritance.py Superclass typo fix 2017-07-29 03:54:25 -04:00
test_numpy_array.cpp Now `shape`, `size`, `ndims` and `itemsize` are also signed integers. 2017-05-08 01:50:21 +02:00
test_numpy_array.py Now `shape`, `size`, `ndims` and `itemsize` are also signed integers. 2017-05-08 01:50:21 +02:00
test_numpy_dtypes.cpp Allow std::complex field with PYBIND11_NUMPY_DTYPE (#831) 2017-05-10 11:36:24 +02:00
test_numpy_dtypes.py Allow std::complex field with PYBIND11_NUMPY_DTYPE (#831) 2017-05-10 11:36:24 +02:00
test_numpy_vectorize.cpp vectorize: pass-through of non-vectorizable args 2017-05-24 20:43:41 -04:00
test_numpy_vectorize.py vectorize: pass-through of non-vectorizable args 2017-05-24 20:43:41 -04:00
test_opaque_types.cpp Make test initialization self-registering 2016-09-03 17:34:41 -04:00
test_opaque_types.py Prefer non-converting argument overloads 2017-02-03 20:47:17 -05:00
test_operator_overloading.cpp Move tests from test_issues.cpp/py into appropriate files 2017-06-27 10:38:41 +02:00
test_operator_overloading.py Move tests from test_issues.cpp/py into appropriate files 2017-06-27 10:38:41 +02:00
test_pickling.cpp fix segfault in test suite due to typo (fixes #586) 2017-01-04 15:05:20 +01:00
test_pickling.py WIP: PyPy support (#527) 2016-12-16 15:00:46 +01:00
test_pytypes.cpp Split test_python_types.cpp into builtin_casters, stl and pytypes 2017-06-27 10:38:41 +02:00
test_pytypes.py Make PYBIND11_OBJECT_CVT only convert if the type check fails 2017-08-04 10:14:55 -04:00
test_sequences_and_iterators.cpp Move tests from test_issues.cpp/py into appropriate files 2017-06-27 10:38:41 +02:00
test_sequences_and_iterators.py Split test_python_types.cpp into builtin_casters, stl and pytypes 2017-06-27 10:38:41 +02:00
test_smart_ptr.cpp Move tests from test_issues.cpp/py into appropriate files 2017-06-27 10:38:41 +02:00
test_smart_ptr.py Move tests from test_issues.cpp/py into appropriate files 2017-06-27 10:38:41 +02:00
test_stl.cpp Fix regression: container pointers not castable 2017-07-16 11:04:43 -04:00
test_stl.py Fix regression: container pointers not castable 2017-07-16 11:04:43 -04:00
test_stl_binders.cpp Use rvalue subcasting when casting an rvalue container 2017-07-05 12:27:14 -04:00
test_stl_binders.py Fix invalid memory access in vector insert method 2017-05-25 10:51:28 -04:00
test_virtual_functions.cpp Move tests from short translation units into their logical parents 2017-06-27 10:38:41 +02:00
test_virtual_functions.py Move tests from short translation units into their logical parents 2017-06-27 10:38:41 +02:00