From ca620906e7bce485f3596ed16bc6dc4362dd0ff0 Mon Sep 17 00:00:00 2001 From: ManifoldFR <wilson.jallet@polytechnique.org> Date: Wed, 22 May 2024 19:33:25 +0200 Subject: [PATCH] Add unit test multiple_registration + currently produces a wonderful 36 errors :D --- unittest/CMakeLists.txt | 3 ++ unittest/multiple_registration.cpp | 28 +++++++++++++++++++ unittest/python/test_multiple_registration.py | 1 + 3 files changed, 32 insertions(+) create mode 100644 unittest/multiple_registration.cpp create mode 100644 unittest/python/test_multiple_registration.py diff --git a/unittest/CMakeLists.txt b/unittest/CMakeLists.txt index d0c216fb..72bfb1bb 100644 --- a/unittest/CMakeLists.txt +++ b/unittest/CMakeLists.txt @@ -30,6 +30,7 @@ endmacro(ADD_LIB_UNIT_TEST) add_dependencies(build_tests ${PYWRAP}) add_lib_unit_test(matrix) +add_lib_unit_test(multiple_registration) if(BUILD_TESTING_SCIPY) find_scipy() add_lib_unit_test(sparse_matrix) @@ -101,6 +102,8 @@ endif() add_lib_unit_test(bind_virtual_factory) add_python_lib_unit_test("py-matrix" "unittest/python/test_matrix.py") +add_python_lib_unit_test("py-multiple-registration" + "unittest/python/test_multiple_registration.py") add_python_lib_unit_test("py-tensor" "unittest/python/test_tensor.py") add_python_lib_unit_test("py-geometry" "unittest/python/test_geometry.py") diff --git a/unittest/multiple_registration.cpp b/unittest/multiple_registration.cpp new file mode 100644 index 00000000..32940d4a --- /dev/null +++ b/unittest/multiple_registration.cpp @@ -0,0 +1,28 @@ +#include "eigenpy/registration.hpp" +#include <cstdio> + +namespace bp = boost::python; + +class X { + public: + X() {} + void operator()() { printf("DOOT\n"); } +}; + +class X_wrapper : public X, bp::wrapper<X> { + public: + static void expose() { + if (!eigenpy::register_symbolic_link_to_registered_type<X>()) { + bp::class_<X>("X", bp::init<>()).def("__call__", &X::operator()); + } + } +}; + +BOOST_PYTHON_MODULE(multiple_registration) { + X_wrapper::expose(); + X_wrapper::expose(); + X_wrapper::expose(); + X_wrapper::expose(); + X_wrapper::expose(); + X_wrapper::expose(); +} diff --git a/unittest/python/test_multiple_registration.py b/unittest/python/test_multiple_registration.py new file mode 100644 index 00000000..d414596b --- /dev/null +++ b/unittest/python/test_multiple_registration.py @@ -0,0 +1 @@ +import multiple_registration # noqa -- GitLab