@@ -10,13 +10,17 @@ macro(ADD_LIB_UNIT_TEST test)
1010 else (BUILD_TESTING)
1111 add_library (${test} SHARED EXCLUDE_FROM_ALL "${test} .cpp" )
1212 endif (BUILD_TESTING)
13+ set_standard_output_directory(${test} )
1314
1415 target_link_libraries (${test} PUBLIC ${PROJECT_NAME} )
1516 set_target_properties (${test} PROPERTIES PREFIX "" )
1617
1718 set_target_properties (${test} PROPERTIES SUFFIX ${PYTHON_EXT_SUFFIX} )
1819
19- add_test (NAME ${test} COMMAND ${PYTHON_EXECUTABLE} -c "import ${test} " )
20+ add_test (
21+ NAME ${test}
22+ COMMAND ${PYTHON_EXECUTABLE} -c "import ${test} "
23+ WORKING_DIRECTORY $<TARGET_FILE_DIR:${test} >)
2024
2125 add_dependencies (build_tests ${test} )
2226 if (NOT BUILD_TESTING)
@@ -51,6 +55,20 @@ if(CMAKE_CXX_STANDARD GREATER 14 AND CMAKE_CXX_STANDARD LESS 98)
5155 add_lib_unit_test(std_unique_ptr)
5256endif ()
5357
58+ function (add_python_lib_unit_test name source )
59+ add_python_unit_test(${name} ${source} "lib" "bin" )
60+ endfunction ()
61+
62+ function (add_python_eigenpy_lib_unit_test name source )
63+ add_python_unit_test(${name} ${source} "lib" "bin" "python" )
64+ set_tests_properties (${name} PROPERTIES DEPENDS ${PYWRAP} )
65+ endfunction ()
66+
67+ function (add_python_eigenpy_unit_test name source )
68+ add_python_unit_test(${name} ${source} "python" )
69+ set_tests_properties (${name} PROPERTIES DEPENDS ${PYWRAP} )
70+ endfunction ()
71+
5472function (config_test test tagname opttype)
5573 set (MODNAME ${test} _${tagname} )
5674 set (TEST_TYPE ${opttype} )
@@ -64,7 +82,7 @@ function(config_test test tagname opttype)
6482 add_test (NAME ${PYTHON_TEST_NAME}
6583 COMMAND ${PYTHON_EXECUTABLE}
6684 "${CMAKE_CURRENT_BINARY_DIR} /python/${py_file} " )
67- compute_pythonpath(ENV_VARIABLES "unittest " )
85+ compute_pythonpath(ENV_VARIABLES "lib" "bin " )
6886 set_tests_properties (${PYTHON_TEST_NAME} PROPERTIES ENVIRONMENT
6987 "${ENV_VARIABLES} " )
7088endfunction ()
@@ -81,106 +99,87 @@ endif()
8199
82100add_lib_unit_test(bind_virtual_factory)
83101
84- add_python_unit_test ("py-matrix" "unittest/python/test_matrix.py" "unittest " )
102+ add_python_lib_unit_test ("py-matrix" "unittest/python/test_matrix.py" )
85103
86- add_python_unit_test("py-tensor" "unittest/python/test_tensor.py" "unittest" )
87- add_python_unit_test("py-geometry" "unittest/python/test_geometry.py"
88- "unittest" )
89- add_python_unit_test("py-complex" "unittest/python/test_complex.py" "unittest" )
90- add_python_unit_test("py-return-by-ref" "unittest/python/test_return_by_ref.py"
91- "unittest" )
92- add_python_unit_test("py-eigen-ref" "unittest/python/test_eigen_ref.py"
93- "unittest" )
104+ add_python_lib_unit_test("py-tensor" "unittest/python/test_tensor.py" )
105+ add_python_lib_unit_test("py-geometry" "unittest/python/test_geometry.py" )
106+ add_python_lib_unit_test("py-complex" "unittest/python/test_complex.py" )
107+ add_python_lib_unit_test("py-return-by-ref"
108+ "unittest/python/test_return_by_ref.py" )
109+ add_python_lib_unit_test("py-eigen-ref" "unittest/python/test_eigen_ref.py" )
94110
95111if (NOT NUMPY_WITH_BROKEN_UFUNC_SUPPORT)
96- add_python_unit_test("py-user-type" "unittest/python/test_user_type.py"
97- "unittest" )
112+ add_python_lib_unit_test("py-user-type" "unittest/python/test_user_type.py" )
98113endif ()
99114
100- add_python_unit_test("py-dimensions" "unittest/python/test_dimensions.py"
101- "python;unittest" )
102- set_tests_properties ("py-dimensions" PROPERTIES DEPENDS ${PYWRAP} )
115+ add_python_eigenpy_lib_unit_test("py-dimensions"
116+ "unittest/python/test_dimensions.py" )
103117
104- add_python_unit_test("py-version" "unittest/python/test_version.py"
105- "python;unittest" )
106- set_tests_properties ("py-version" PROPERTIES DEPENDS ${PYWRAP} )
118+ add_python_eigenpy_lib_unit_test("py-version" "unittest/python/test_version.py" )
107119
108- add_python_unit_test("py-eigen-solver" "unittest/python/test_eigen_solver.py"
109- "python;unittest" )
110- set_tests_properties ("py-eigen-solver" PROPERTIES DEPENDS ${PYWRAP} )
120+ add_python_eigenpy_lib_unit_test("py-eigen-solver"
121+ "unittest/python/test_eigen_solver.py" )
111122
112- add_python_unit_test (
123+ add_python_eigenpy_lib_unit_test (
113124 "py-self-adjoint-eigen-solver"
114- "unittest/python/test_self_adjoint_eigen_solver.py" "python;unittest" )
115- set_tests_properties ("py-self-adjoint-eigen-solver" PROPERTIES DEPENDS
116- ${PYWRAP} )
125+ "unittest/python/test_self_adjoint_eigen_solver.py" )
117126
118- add_python_unit_test("py-LLT" "unittest/python/test_LLT.py" "python;unittest" )
119- set_tests_properties ("py-LLT" PROPERTIES DEPENDS ${PYWRAP} )
127+ add_python_eigenpy_lib_unit_test("py-LLT" "unittest/python/test_LLT.py" )
120128
121- add_python_unit_test("py-LDLT" "unittest/python/test_LDLT.py" "python;unittest" )
122- set_tests_properties ("py-LDLT" PROPERTIES DEPENDS ${PYWRAP} )
129+ add_python_eigenpy_lib_unit_test("py-LDLT" "unittest/python/test_LDLT.py" )
123130
124131if (NOT WIN32 )
125- add_python_unit_test("py-MINRES" "unittest/python/test_MINRES.py"
126- "python;unittest" )
127- set_tests_properties ("py-MINRES" PROPERTIES DEPENDS ${PYWRAP} )
132+ add_python_eigenpy_lib_unit_test("py-MINRES" "unittest/python/test_MINRES.py" )
128133endif (NOT WIN32 )
129134
130- add_python_unit_test("py-std-vector" "unittest/python/test_std_vector.py"
131- "python;unittest" )
132- set_tests_properties ("py-std-vector" PROPERTIES DEPENDS ${PYWRAP} )
135+ add_python_eigenpy_lib_unit_test("py-std-vector"
136+ "unittest/python/test_std_vector.py" )
133137
134- add_python_unit_test("py-std-array" "unittest/python/test_std_array.py"
135- "unittest" )
138+ add_python_lib_unit_test("py-std-array" "unittest/python/test_std_array.py" )
136139
137- add_python_unit_test("py-std-pair" "unittest/python/test_std_pair.py"
138- "unittest" )
140+ add_python_lib_unit_test("py-std-pair" "unittest/python/test_std_pair.py" )
139141
140- add_python_unit_test("py-user-struct" "unittest/python/test_user_struct.py"
141- "unittest" )
142+ add_python_lib_unit_test("py-user-struct" "unittest/python/test_user_struct.py" )
142143
143144if (CMAKE_CXX_STANDARD GREATER 14 AND CMAKE_CXX_STANDARD LESS 98)
144- add_python_unit_test ("py-std-unique-ptr"
145- "unittest/python/test_std_unique_ptr.py" "unittest " )
145+ add_python_lib_unit_test ("py-std-unique-ptr"
146+ "unittest/python/test_std_unique_ptr.py" )
146147endif ()
147148
148- add_python_unit_test ("py-bind-virtual" "unittest/python/test_bind_virtual.py "
149- "unittest" )
149+ add_python_lib_unit_test ("py-bind-virtual"
150+ "unittest/python/test_bind_virtual.py " )
150151
151152if (BUILD_TESTING_SCIPY)
152- add_python_unit_test ("py-sparse-matrix"
153- "unittest/python/test_sparse_matrix.py" "unittest " )
153+ add_python_lib_unit_test ("py-sparse-matrix"
154+ "unittest/python/test_sparse_matrix.py" )
154155
155- add_python_unit_test (
156+ add_python_eigenpy_unit_test (
156157 "py-SimplicialLLT"
157- "unittest/python/decompositions/sparse/test_SimplicialLLT.py" "python" )
158- add_python_unit_test (
158+ "unittest/python/decompositions/sparse/test_SimplicialLLT.py" )
159+ add_python_eigenpy_unit_test (
159160 "py-SimplicialLDLT"
160- "unittest/python/decompositions/sparse/test_SimplicialLDLT.py" "python" )
161+ "unittest/python/decompositions/sparse/test_SimplicialLDLT.py" )
161162
162163 if (BUILD_WITH_CHOLMOD_SUPPORT)
163-
164- add_python_unit_test(
164+ add_python_eigenpy_unit_test(
165165 "py-CholmodSimplicialLLT"
166166 "unittest/python/decompositions/sparse/cholmod/test_CholmodSimplicialLLT.py"
167- "python" )
167+ )
168168
169- add_python_unit_test (
169+ add_python_eigenpy_unit_test (
170170 "py-CholmodSimplicialLDLT"
171171 "unittest/python/decompositions/sparse/cholmod/test_CholmodSimplicialLDLT.py"
172- "python" )
172+ )
173173
174- add_python_unit_test (
174+ add_python_eigenpy_unit_test (
175175 "py-CholmodSupernodalLLT"
176176 "unittest/python/decompositions/sparse/cholmod/test_CholmodSupernodalLLT.py"
177- "python" )
178-
177+ )
179178 endif (BUILD_WITH_CHOLMOD_SUPPORT)
180179
181180 if (BUILD_WITH_ACCELERATE_SUPPORT)
182- add_python_unit_test (
181+ add_python_eigenpy_unit_test (
183182 "py-Accelerate"
184- "unittest/python/decompositions/sparse/test_Accelerate.py" "python" )
183+ "unittest/python/decompositions/sparse/test_Accelerate.py" )
185184 endif (BUILD_WITH_ACCELERATE_SUPPORT)
186185endif ()
0 commit comments