diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7296cd1b81..d07be61ca9 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -131,6 +131,7 @@ set(PYBIND11_TEST_FILES test_eigen test_enum test_eval + test_exc_namespace_visibility.py test_exceptions test_factory_constructors test_gil_scoped @@ -217,6 +218,8 @@ tests_extra_targets("test_exceptions.py;test_local_bindings.py;test_stl.py;test_ # And add additional targets for other tests. tests_extra_targets("test_exceptions.py" "cross_module_interleaved_error_already_set") tests_extra_targets("test_gil_scoped.py" "cross_module_gil_utils") +tests_extra_targets("test_exc_namespace_visibility.py" + "namespace_visibility_1;namespace_visibility_2") set(PYBIND11_EIGEN_REPO "https://gitlab.com/libeigen/eigen.git" diff --git a/tests/namespace_visibility_1.cpp b/tests/namespace_visibility_1.cpp new file mode 100644 index 0000000000..96e602e38e --- /dev/null +++ b/tests/namespace_visibility_1.cpp @@ -0,0 +1,3 @@ +#include "pybind11/pybind11.h" + +PYBIND11_MODULE(namespace_visibility_1, m) { m.doc() = "ns_vis_1"; } diff --git a/tests/namespace_visibility_2.cpp b/tests/namespace_visibility_2.cpp new file mode 100644 index 0000000000..b596cd3693 --- /dev/null +++ b/tests/namespace_visibility_2.cpp @@ -0,0 +1,3 @@ +#include "pybind11/pybind11.h" + +PYBIND11_MODULE(namespace_visibility_2, m) { m.doc() = "ns_vis_2"; } diff --git a/tests/test_exc_namespace_visibility.py b/tests/test_exc_namespace_visibility.py new file mode 100644 index 0000000000..27a0f063c9 --- /dev/null +++ b/tests/test_exc_namespace_visibility.py @@ -0,0 +1,16 @@ +import namespace_visibility_1 +import namespace_visibility_2 +import pytest + +import pybind11_cross_module_tests as cm + + +def test_namespace_visibility(): + assert cm.__doc__ is not None + modules = ( + namespace_visibility_1, + namespace_visibility_2, + ) + for m in modules: + if m.__doc__ != "ns_vis_1": + pytest.skip(f"Not surprised: {m.__doc__}")