Skip to content
Snippets Groups Projects
Commit ad8beff3 authored by Dmitri Naumov's avatar Dmitri Naumov Committed by Dmitri Naumov
Browse files

Replace numdiff tests with vtkdiff tests.

parent 2d2a8bd6
No related branches found
No related tags found
No related merge requests found
......@@ -10,8 +10,8 @@ foreach(mesh_size 1e0 1e1 1e2 1e3)
EXECUTABLE ogs
EXECUTABLE_ARGS cube_${mesh_size}.prj
WRAPPER time
TESTER numdiff
DIFF_DATA cube_${mesh_size}_result.dat
TESTER vtkdiff
DIFF_DATA cube_${mesh_size}.vtu Linear_1_to_minus1 Result
DATA cube_${mesh_size}.prj cube_1x1x1_hex_${mesh_size}.vtu cube_1x1x1.gml
)
......@@ -32,8 +32,8 @@ foreach(mesh_size 1e4 2e4 3e4 4e4 5e4 1e5 1e6)
EXECUTABLE ogs
EXECUTABLE_ARGS cube_${mesh_size}.prj
WRAPPER time
TESTER numdiff
DIFF_DATA cube_${mesh_size}_result.dat
TESTER vtkdiff
DIFF_DATA cube_${mesh_size}.vtu Linear_1_to_minus1 Result
DATA cube_${mesh_size}.prj cube_1x1x1_hex_${mesh_size}.vtu cube_1x1x1.gml
)
......@@ -55,8 +55,8 @@ foreach(mesh_size 1e0 1e1 1e2 1e3 1e4)
EXECUTABLE ogs
EXECUTABLE_ARGS square_${mesh_size}.prj
WRAPPER time
TESTER numdiff
DIFF_DATA square_${mesh_size}_result.dat
TESTER vtkdiff
DIFF_DATA square_${mesh_size}.vtu Linear_1_to_minus1 Result
DATA square_${mesh_size}.prj square_1x1_quad_${mesh_size}.vtu square_1x1.gml
)
......@@ -77,8 +77,8 @@ foreach(mesh_size 1e5 1e6)
EXECUTABLE ogs
EXECUTABLE_ARGS square_${mesh_size}.prj
WRAPPER time
TESTER numdiff
DIFF_DATA square_${mesh_size}_result.dat
TESTER vtkdiff
DIFF_DATA square_${mesh_size}.vtu Linear_1_to_minus1 Result
DATA square_${mesh_size}.prj square_1x1_quad_${mesh_size}.vtu square_1x1.gml
)
......
......@@ -24,6 +24,10 @@
# - DIFF_DATA <list of files to numdiff>
# # the given file is compared to [filename]_expected.[extension]
#
# vtkdiff-tester
# - DIFF_DATA <vtk file> <data array a name> <data array b name>
# # the given data arrays in the vtk file are compared
#
function (AddTest)
......@@ -93,11 +97,14 @@ function (AddTest)
if(AddTest_TESTER STREQUAL "numdiff" AND NOT NUMDIFF_TOOL_PATH)
return()
endif()
if(AddTest_TESTER STREQUAL "vtkdiff" AND NOT VTKDIFF_TOOL_PATH)
return()
endif()
if(AddTest_TESTER STREQUAL "memcheck" AND NOT GREP_TOOL_PATH)
return()
endif()
if((AddTest_TESTER STREQUAL "diff" OR AddTest_TESTER STREQUAL "numdiff") AND NOT AddTest_DIFF_DATA)
if((AddTest_TESTER STREQUAL "diff" OR AddTest_TESTER STREQUAL "numdiff" OR AddTest_TESTER STREQUAL "vtkdiff") AND NOT AddTest_DIFF_DATA)
message(FATAL_ERROR "AddTest(): ${AddTest_NAME} - no DIFF_DATA given!")
endif()
......@@ -107,6 +114,9 @@ function (AddTest)
elseif(AddTest_TESTER STREQUAL "numdiff")
set(SELECTED_DIFF_TOOL_PATH ${NUMDIFF_TOOL_PATH})
set(TESTER_ARGS "--statistics --absolute-tolerance=1e-5 --relative-tolerance=1e-4")
elseif(AddTest_TESTER STREQUAL "vtkdiff")
set(SELECTED_DIFF_TOOL_PATH ${VTKDIFF_TOOL_PATH})
set(TESTER_ARGS "-q --abs 1e-5 --rel 1e-4")
endif()
if(AddTest_TESTER STREQUAL "diff" OR AddTest_TESTER STREQUAL "numdiff")
......@@ -123,6 +133,19 @@ function (AddTest)
endforeach()
string(REPLACE ";" " && " TESTER_COMMAND "${TESTER_COMMAND}")
set(AddTest_DIFF_DATA_PARSED "${AddTest_SOURCE_PATH}/${AddTest_DIFF_DATA_PARSED}")
elseif(AddTest_TESTER STREQUAL "vtkdiff")
list(LENGTH AddTest_DIFF_DATA DiffDataLength)
if (NOT ${DiffDataLength} EQUAL 3)
message(FATAL_ERROR "For vtkdiff tester 3 diff data arguments are required.")
endif()
list(GET AddTest_DIFF_DATA 0 VTK_FILE)
list(GET AddTest_DIFF_DATA 1 NAME_A)
list(GET AddTest_DIFF_DATA 2 NAME_B)
set(TESTER_COMMAND ${TESTER_COMMAND} "${SELECTED_DIFF_TOOL_PATH} \
${AddTest_BINARY_PATH}/${VTK_FILE} -a ${NAME_A} -b ${NAME_B} \
${TESTER_ARGS}")
string(REPLACE ";" " && " TESTER_COMMAND "${TESTER_COMMAND}")
elseif(tester STREQUAL "memcheck")
set(TESTER_COMMAND "! ${GREP_TOOL_PATH} definitely ${AddTest_SOURCE_PATH}/${AddTest_NAME}_memcheck.log")
endif()
......@@ -164,6 +187,16 @@ function (AddTest)
-P ${PROJECT_SOURCE_DIR}/scripts/cmake/test/AddTestTester.cmake
DATA{${AddTest_DIFF_DATA_PARSED}}
)
elseif(AddTest_TESTER STREQUAL "vtkdiff")
add_test(
NAME "${AddTest_EXECUTABLE}-${AddTest_NAME}-${AddTest_WRAPPER}-${AddTest_TESTER}"
COMMAND ${CMAKE_COMMAND}
-Dcase_path=${AddTest_SOURCE_PATH}
-Dcase_name=${AddTest_NAME}
-DTESTER_COMMAND=${TESTER_COMMAND}
-DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}
-P ${PROJECT_SOURCE_DIR}/scripts/cmake/test/AddTestTester.cmake
)
else()
add_test(
NAME "${AddTest_EXECUTABLE}-${AddTest_NAME}-${AddTest_WRAPPER}-${AddTest_TESTER}"
......
# Find tools and data
find_program(DIFF_TOOL_PATH diff)
find_program(NUMDIFF_TOOL_PATH numdiff)
find_program(VTKDIFF_TOOL_PATH vtkdiff ${CMAKE_BINARY_DIR}/bin)
# find_program(TIME_TOOL_PATH time) # TODO: does not work Travis
set(TIME_TOOL_PATH time)
find_program(GREP_TOOL_PATH grep)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment