[Bf-blender-cvs] [52cebc8] gtest-testing: Extend unit tests collection
Sergey Sharybin
noreply at git.blender.org
Sat May 17 14:07:23 CEST 2014
Commit: 52cebc80b6580be58e6be6dba5c39f0366cbe98b
Author: Sergey Sharybin
Date: Sat May 17 13:42:47 2014 +0200
https://developer.blender.org/rB52cebc80b6580be58e6be6dba5c39f0366cbe98b
Extend unit tests collection
- Cover Libmv with unit tests.
We often hack into libmv from Blender side, so it's useful
to have it covered here.
- Added some round-trip tests for color space conversions.
===================================================================
M build_files/cmake/Modules/Testing.cmake
M extern/libmv/CMakeLists.txt
M extern/libmv/SConscript
M extern/libmv/bundle.sh
M extern/libmv/files.txt
A extern/libmv/libmv/base/scoped_ptr_test.cc
A extern/libmv/libmv/base/vector_test.cc
A extern/libmv/libmv/image/array_nd_test.cc
A extern/libmv/libmv/image/convolve_test.cc
A extern/libmv/libmv/image/image_drawing.h
A extern/libmv/libmv/image/image_test.cc
A extern/libmv/libmv/image/sample_test.cc
A extern/libmv/libmv/image/tuple_test.cc
A extern/libmv/libmv/multiview/euclidean_resection_test.cc
A extern/libmv/libmv/multiview/fundamental_test.cc
A extern/libmv/libmv/multiview/homography_error.h
A extern/libmv/libmv/multiview/homography_test.cc
A extern/libmv/libmv/multiview/nviewtriangulation_test.cc
A extern/libmv/libmv/multiview/panography_kernel.cc
A extern/libmv/libmv/multiview/panography_kernel.h
A extern/libmv/libmv/multiview/panography_test.cc
A extern/libmv/libmv/multiview/projection_test.cc
A extern/libmv/libmv/multiview/resection_test.cc
A extern/libmv/libmv/multiview/test_data_sets.cc
A extern/libmv/libmv/multiview/test_data_sets.h
A extern/libmv/libmv/multiview/triangulation_test.cc
A extern/libmv/libmv/multiview/two_view_kernel.h
A extern/libmv/libmv/numeric/dogleg_test.cc
A extern/libmv/libmv/numeric/function_derivative_test.cc
A extern/libmv/libmv/numeric/levenberg_marquardt_test.cc
A extern/libmv/libmv/numeric/numeric_test.cc
A extern/libmv/libmv/numeric/poly_test.cc
A extern/libmv/libmv/simple_pipeline/camera_intrinsics_test.cc
A extern/libmv/libmv/simple_pipeline/detect_test.cc
A extern/libmv/libmv/simple_pipeline/intersect_test.cc
A extern/libmv/libmv/simple_pipeline/keyframe_selection_test.cc
A extern/libmv/libmv/simple_pipeline/modal_solver_test.cc
A extern/libmv/libmv/simple_pipeline/resect_test.cc
A extern/libmv/libmv/tracking/brute_region_tracker_test.cc
A extern/libmv/libmv/tracking/klt_region_tracker_test.cc
A extern/libmv/libmv/tracking/pyramid_region_tracker_test.cc
M source/tests/blenlib_tests/CMakeLists.txt
A source/tests/blenlib_tests/mathutils_color_test.cc
A source/tests/blenlib_tests/mathutils_geom_test.cc
D source/tests/blenlib_tests/mathutils_test.cc
M source/tests/testing/testing.h
===================================================================
diff --git a/build_files/cmake/Modules/Testing.cmake b/build_files/cmake/Modules/Testing.cmake
index a28af7e..2e14d6e 100644
--- a/build_files/cmake/Modules/Testing.cmake
+++ b/build_files/cmake/Modules/Testing.cmake
@@ -12,20 +12,21 @@
#
#=============================================================================
-macro(BLENDER_TEST NAME EXTRA_LIBS)
+macro(BLENDER_SRC_TEST NAME SRC EXTRA_LIBS)
if(WITH_TESTS)
get_property(_current_include_directories
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
PROPERTY INCLUDE_DIRECTORIES)
- set(INC
+ set(TEST_INC
${_current_include_directories}
+ ${CMAKE_SOURCE_DIR}/source/tests
${CMAKE_SOURCE_DIR}/extern/libmv/third_party/glog/src
${CMAKE_SOURCE_DIR}/extern/libmv/third_party/gflags
${CMAKE_SOURCE_DIR}/extern/gtest/include
)
unset(_current_include_directories)
- add_executable(${NAME}_test ${NAME}_test.cc)
+ add_executable(${NAME}_test ${SRC})
target_link_libraries(${NAME}_test
${EXTRA_LIBS}
bf_testing_main
@@ -36,7 +37,11 @@ macro(BLENDER_TEST NAME EXTRA_LIBS)
RUNTIME_OUTPUT_DIRECTORY "${TESTS_OUTPUT_DIR}"
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${TESTS_OUTPUT_DIR}"
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${TESTS_OUTPUT_DIR}"
- INCLUDE_DIRECTORIES "${INC}")
+ INCLUDE_DIRECTORIES "${TEST_INC}")
add_test(${NAME}_test ${TESTS_OUTPUT_DIR}/${NAME}_test)
endif()
endmacro()
+
+macro(BLENDER_TEST NAME EXTRA_LIBS)
+ BLENDER_SRC_TEST("${NAME}" "${NAME}_test.cc" "${EXTRA_LIBS}")
+endmacro()
diff --git a/extern/libmv/CMakeLists.txt b/extern/libmv/CMakeLists.txt
index 8668c6a..26d1c8c 100644
--- a/extern/libmv/CMakeLists.txt
+++ b/extern/libmv/CMakeLists.txt
@@ -70,6 +70,7 @@ if(WITH_LIBMV)
libmv/multiview/fundamental.cc
libmv/multiview/homography.cc
libmv/multiview/panography.cc
+ libmv/multiview/panography_kernel.cc
libmv/multiview/projection.cc
libmv/multiview/triangulation.cc
libmv/numeric/numeric.cc
@@ -105,6 +106,7 @@ if(WITH_LIBMV)
libmv/image/convolve.h
libmv/image/correlation.h
libmv/image/image_converter.h
+ libmv/image/image_drawing.h
libmv/image/image.h
libmv/image/sample.h
libmv/image/tuple.h
@@ -112,13 +114,16 @@ if(WITH_LIBMV)
libmv/multiview/conditioning.h
libmv/multiview/euclidean_resection.h
libmv/multiview/fundamental.h
+ libmv/multiview/homography_error.h
libmv/multiview/homography.h
libmv/multiview/homography_parameterization.h
libmv/multiview/nviewtriangulation.h
libmv/multiview/panography.h
+ libmv/multiview/panography_kernel.h
libmv/multiview/projection.h
libmv/multiview/resection.h
libmv/multiview/triangulation.h
+ libmv/multiview/two_view_kernel.h
libmv/numeric/dogleg.h
libmv/numeric/function_derivative.h
libmv/numeric/levenberg_marquardt.h
@@ -163,6 +168,40 @@ if(WITH_LIBMV)
)
endif()
endif()
+
+ if(WITH_TESTS)
+ blender_add_lib(libmv_test_dataset "./libmv/multiview/test_data_sets.cc" "" "")
+ endif()
+
+ BLENDER_SRC_TEST("libmv_scoped_ptr" "./libmv/base/scoped_ptr_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_vector" "./libmv/base/vector_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_array_nd" "./libmv/image/array_nd_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_convolve" "./libmv/image/convolve_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_image" "./libmv/image/image_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_sample" "./libmv/image/sample_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_tuple" "./libmv/image/tuple_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_euclidean_resection" "./libmv/multiview/euclidean_resection_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_fundamental" "./libmv/multiview/fundamental_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_homography" "./libmv/multiview/homography_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_nviewtriangulation" "./libmv/multiview/nviewtriangulation_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_panography" "./libmv/multiview/panography_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_projection" "./libmv/multiview/projection_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_resection" "./libmv/multiview/resection_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_triangulation" "./libmv/multiview/triangulation_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_dogleg" "./libmv/numeric/dogleg_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_function_derivative" "./libmv/numeric/function_derivative_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_levenberg_marquardt" "./libmv/numeric/levenberg_marquardt_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_numeric" "./libmv/numeric/numeric_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_poly" "./libmv/numeric/poly_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_camera_intrinsics" "./libmv/simple_pipeline/camera_intrinsics_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_detect" "./libmv/simple_pipeline/detect_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_intersect" "./libmv/simple_pipeline/intersect_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_keyframe_selection" "./libmv/simple_pipeline/keyframe_selection_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_modal_solver" "./libmv/simple_pipeline/modal_solver_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_resect" "./libmv/simple_pipeline/resect_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_brute_region_tracker" "./libmv/tracking/brute_region_tracker_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_klt_region_tracker" "./libmv/tracking/klt_region_tracker_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
+ BLENDER_SRC_TEST("libmv_pyramid_region_tracker" "./libmv/tracking/pyramid_region_tracker_test.cc" "libmv_test_dataset;extern_libmv;extern_ceres")
else()
list(APPEND SRC
libmv-capi_stub.cc
diff --git a/extern/libmv/SConscript b/extern/libmv/SConscript
index dc12950..a267c96 100644
--- a/extern/libmv/SConscript
+++ b/extern/libmv/SConscript
@@ -44,6 +44,8 @@ if env['WITH_BF_LIBMV']:
else:
src = env.Glob("libmv-capi_stub.cc")
+src = [src for src in src if src.find('_test.cc') == -1]
+
env.BlenderLib ( libname = 'extern_libmv', sources=src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137] )
if env['WITH_BF_LIBMV']:
diff --git a/extern/libmv/bundle.sh b/extern/libmv/bundle.sh
index 3bedf10..2f408c7 100755
--- a/extern/libmv/bundle.sh
+++ b/extern/libmv/bundle.sh
@@ -30,8 +30,8 @@ rm -rf $tmp
chmod 664 ./third_party/glog/src/windows/*.cc ./third_party/glog/src/windows/*.h ./third_party/glog/src/windows/glog/*.h
-sources=`find ./libmv -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//\t\t/' | sort -d`
-headers=`find ./libmv -type f -iname '*.h' | sed -r 's/^\.\//\t\t/' | sort -d`
+sources=`find ./libmv -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | grep -v _test.cc | grep -v test_data_sets | sed -r 's/^\.\//\t\t/' | sort -d`
+headers=`find ./libmv -type f -iname '*.h' | grep -v test_data_sets | sed -r 's/^\.\//\t\t/' | sort -d`
third_sources=`find ./third_party -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | grep -v glog | grep -v gflags | grep -v ceres | sed -r 's/^\.\//\t\t/' | sort -d`
third_headers=`find ./third_party -type f -iname '*.h' | grep -v glog | grep -v gflags | grep -v ceres | sed -r 's/^\.\//\t\t/' | sort -d`
@@ -42,6 +42,8 @@ third_glog_headers=`find ./third_party -type f -iname '*.h' | grep glog | grep -
third_gflags_sources=`find ./third_party -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | grep gflags | grep -v windows | sed -r 's/^\.\//\t\t/' | sort -d`
third_gflags_headers=`find ./third_party -type f -iname '*.h' | grep gflags | grep -v windows | sed -r 's/^\.\//\t\t/' | sort -d`
+tests=`find ./libmv -type f -iname '*_test.cc' | sort -d | awk ' { name=gensub(".*/([A-Za-z_]+)_test.cc", "\\\\1", $1); printf("\tBLENDER_SRC_TEST(\"libmv_%s\" \"%s\" \"libmv_test_dataset;extern_libmv;extern_ceres\")\n", name, $1) } '`
+
src_dir=`find ./libmv -type f -iname '*.cc' -exec dirname {} \; -or -iname '*.cpp' -exec dirname {} \; -or -iname '*.c' -exec dirname {} \; | sed -r 's/^\.\//\t\t/' | sort -d | uniq`
src_third_dir=`find ./third_party -type f -iname '*.cc' -exec dirname {} \; -or -iname '*.cpp' -exec dirname {} \; -or -iname '*.c' -exec dirname {} \; | grep -v ceres | sed -r 's/^\.\//\t\t/' | sort -d | uniq`
src=""
@@ -172,6 +174,12 @@ ${third_headers}
)
endif()
endif()
+
+ if(WITH_TESTS)
+ blender_add_lib(libmv_test_dataset "./libmv/multiview/test_data_sets.cc" "${INC}" "${INC_SYS}")
+ endif()
+
+${tests}
else()
list(APPEND SRC
libmv-capi_stub.cc
@@ -281,6 +289,8 @@ ${win_src}
else:
src = env.Glob("libmv-capi_stub.cc")
+src = [src for src in src if src.find('_test.cc') == -1]
+
env.BlenderLib ( libname = 'extern_libmv', sources=src, includes=Split(incs), defines=defs, libtype=['extern', 'player'], priority=[20,137] )
if env['WITH_BF_LIBMV']:
diff --git a/extern/libmv/files.txt b/extern/libmv/files.txt
index 60a9930..f1eb958 100644
--- a/extern/libmv/files.txt
+++ b/extern/libmv/files.txt
@@ -2
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list