1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
include(vtkGhostscript)
# Check that matplotlib is available
include(FindPythonModules)
find_python_module(matplotlib MATPLOTLIB_FOUND)
if(NOT MATPLOTLIB_FOUND)
message(STATUS "Matplotlib not found! MathText rendering will not be available until it is installed. Disabling tests.")
endif()
if(MATPLOTLIB_FOUND)
# add tests that require data
vtk_add_test_cxx(${vtk-module}CxxTests tests
TestContextMathTextImage.cxx
TestMathTextActor.cxx
TestMathTextActor3D.cxx
TestRenderString.cxx
TestStringToPath.cxx
TestIndexedLookupScalarBar.cxx
TestScalarBarCombinatorics.cxx
)
if(VTK_GHOSTSCRIPT_EXECUTABLE)
set(TestGL2PSFontDPIScaling_ARGS DATA{../Data/Fonts/DejaVuSans.ttf})
vtk_add_test_cxx(${vtk-module}CxxTests GL2PSTests
TestGL2PSFontDPIScaling.cxx
TestGL2PSMathTextActor.cxx
TestGL2PSMathTextActor3D.cxx
TestGL2PSMathTextOutput.cxx
TestGL2PSMathTextScaling.cxx
)
list(APPEND tests
${GL2PSTests})
endif()
vtk_test_cxx_executable(${vtk-module}CxxTests tests
RENDERING_FACTORY)
endif()
# The GL2PS tests produce postscript output, which cannot be compared using
# the built-in image regression framework. The tests added above will create the
# postscript, while the following tests will convert the postscript to a PNG and
# run the PNGCompare test target to do an image diff on the output against a
# baseline.
if(GL2PSTests)
foreach(test ${GL2PSTests})
# Convert ps to png
get_filename_component(TName ${test} NAME_WE)
add_test(NAME ${vtk-module}Cxx-${TName}-RasterizePNG
COMMAND ${CMAKE_COMMAND}
-DPSFILE=${VTK_TEST_OUTPUT_DIR}/${TName}.ps
-DPNGFILE=${VTK_TEST_OUTPUT_DIR}/${TName}-raster.png
-DGS_EXECUTABLE=${VTK_GHOSTSCRIPT_EXECUTABLE}
-DREMOVEPS=1
-P ${CMAKE_CURRENT_SOURCE_DIR}/../../../../CMake/RasterizePostScript.cmake
)
set_tests_properties("${vtk-module}Cxx-${TName}-RasterizePNG"
PROPERTIES
DEPENDS "${vtk-module}Cxx-${TName}"
REQUIRED_FILES
"${VTK_TEST_OUTPUT_DIR}/${TName}.ps"
)
# Image diff rasterized png with baseline
ExternalData_add_test(VTKData
NAME ${vtk-module}Cxx-${TName}-VerifyRasterizedPNG
COMMAND vtkRenderingGL2PSCxxTests PNGCompare
-D ${VTK_TEST_DATA_DIR}
-T ${VTK_TEST_OUTPUT_DIR}
-V DATA{../Data/Baseline/${TName}-rasterRef.png,:}
--test-file ${VTK_TEST_OUTPUT_DIR}/${TName}-raster.png
)
set_tests_properties("${vtk-module}Cxx-${TName}-VerifyRasterizedPNG"
PROPERTIES
DEPENDS "${vtk-module}Cxx-${TName}-RasterizePNG"
REQUIRED_FILES
"${VTK_TEST_OUTPUT_DIR}/${TName}-raster.png"
)
endforeach()
endif()
|