1 # Tests that require python 3 list(APPEND TESTS_WITHOUT_BASELINES
4 AllPropertiesSaveStatePython.xml
8 ProgrammableSourcePythonEditorLink.xml
9 PythonDefaultLoadState.xml
10 PythonDefaultSaveState.xml
12 PythonResetSessionMacro.xml
13 SpreadSheetNullArrayName.xml # needs programmable filter
14 PythonCameraLinkSaveState.xml
15 PythonTraceSaveState.xml
16 # TestPopOutWidget.xml
18 TraceIntegrateVariables.xml
21 # This test rely on copy being Ctrl-C 23 list(APPEND TEST_WITHOUT_BASELINES_CLIENT_ONLY
26 TestHTGHoverOnCell.xml
30 # VTTKJS exporter requires the Web module 31 if (PARAVIEW_ENABLE_WEB)
32 list (APPEND TESTS_WITHOUT_BASELINES
34 ExportToVTKJSWithArraySelection.xml
36 set (ExportToVTKJS_FORCE_SERIAL TRUE) # since
this uses popup-menu
39 list(APPEND TESTS_WITH_BASELINES
41 ColorByComponentNames.xml # needs programmable filter
43 LiveProgrammableSource.xml
46 PythonShellRunScript.xml
48 SaveLoadStatePython.xml
49 SaveLoadStateSelectionPython.xml
51 TraceExportAndSaveData.xml
53 # TraceStatisticsFilter.xml (see paraview/paraview#20661. Also was disabled in CS/CRS mode)
54 TraceSupplementalProxiesFully.xml
56 TraceWithoutRenderingComponents.xml
58 # Surface selection unstable on CRS mode
59 set(SaveLoadStateSelectionPython_DISABLE_CRS TRUE)
61 set (AutoSaveState_FORCE_SERIAL TRUE) # since
this modifies settings
63 list(APPEND TESTS_WITH_INLINE_COMPARES
64 RestoreArrayDefaultTransferFunction.xml
65 RestoreDefaultTransferFunction.xml
67 SelectionLinkScripting.xml
72 set(SelectCellsTrace_DISABLE_CRS TRUE)
73 set(SelectPointsTrace_DISABLE_CRS TRUE)
75 # Check that matplotlib is available 76 include(ParaViewFindPythonModules)
79 list(APPEND TESTS_WITH_BASELINES TestPythonView.xml)
80 list(APPEND TESTS_WITH_INLINE_COMPARES TextSourceInteriorLines.xml)
81 list(APPEND TESTS_WITH_INLINE_COMPARES TextSourcesInChartViews.xml)
82 list(APPEND TESTS_WITH_INLINE_COMPARES MathTextColumn.xml)
87 list(APPEND TESTS_WITH_BASELINES
88 AnnotateNotSanitizedArray.xml
89 ContextViewSelectionTrace.xml
90 FindDataNameSanitization.xml
91 FindDataNonDistributedData.xml
92 FindDataPartialArrays.xml
93 FindDataSelectLocationMultiblock.xml
# find data needs python/numpy 94 FindDataSelectLocation.xml # find
data needs python/numpy
98 FreezeQueryMultiblock.xml
99 IndexedLookupInitialization.xml # needs Python Calculator/numpy
100 PythonCalculatorNamedInputs.xml
101 PlotOverLine_surface.xml # needs find
data 102 ProgrammableAnnotation.xml
103 SelectionSaveStatePVSM.xml # find
data needs python/numpy
104 SelectionSaveStatePython.xml # find
data needs python/numpy
105 SpreadSheetSelectionTrace.xml
106 StructuredGridCellBlanking.xml
107 VolumeNoMapScalars.xml # needs programmable filter + numpy
110 # Selection non-functional on CRS mode
111 set(SelectionSaveStatePVSM_DISABLE_CRS TRUE)
113 # Test without baselines and could only run in built-in mode. 114 list(APPEND TEST_WITHOUT_BASELINES_CLIENT_ONLY
115 BoundsDomainInitialization.xml # uses numpy wrapping in programmable filter
116 HyperTreeGridGenerateFields.xml
117 HTGPlotSelectionOverTime.xml
118 MultipleNumberOfComponents.xml
119 ProgrammableFilterFieldData.xml
120 PythonCalculatorInput.xml
123 list(APPEND TESTS_WITHOUT_BASELINES
124 ExpressionChooser.xml
126 FieldDataDomainDefault.xml
127 PlotOverLine_htg.xml # needs find data
129 PythonCalculatorArrayAssociation.xml
130 PythonCalculatorAutocomplete.xml
131 PythonCalculatorCrossComposite.xml
132 PythonCalculatorFieldData.xml
133 PythonCalculatorMultiline.xml
134 SelectionAndAutoSaveState.xml
135 StaticMeshClip.xml # uses numpy in python calc
136 StaticMeshCompositeClip.xml # uses numpy in python calc
137 StaticMeshCompositeSlice.xml # uses numpy in python calc
138 StaticMeshSlice.xml # uses numpy in python calc
139 StaticMeshSliceWithPlane.xml # uses numpy in python calc
142 set(SpreadSheetSelectionTrace_DISABLE_CS TRUE)
143 set(SpreadSheetSelectionTrace_DISABLE_CRS TRUE)
145 list(APPEND TESTS_WITH_INLINE_COMPARES
149 TestTableFFT.xml # needs programmable filter + numpy
152 # PythonAlgorithm plugin tests. 154 "PythonAlgorithmPlugin.xml.in" 155 "${CMAKE_CURRENT_BINARY_DIR}/PythonAlgorithmPlugin.xml" @ONLY)
157 "PythonAlgorithmReadersAndWriters.xml.in" 158 "${CMAKE_CURRENT_BINARY_DIR}/PythonAlgorithmReadersAndWriters.xml" @ONLY)
160 set(pyalgo_plugin_tests
161 PythonAlgorithmPlugin
162 PythonAlgorithmReadersAndWriters)
163 foreach(tname IN LISTS pyalgo_plugin_tests)
164 list(APPEND TESTS_WITH_BASELINES
165 ${CMAKE_CURRENT_BINARY_DIR}/${tname}.xml)
167 # we need to extend testing infrastructure to better support
168 # loading plugins in client-server. At that point, we can test these as well.
169 set(${tname}_DISABLE_CS TRUE)
170 set(${tname}_DISABLE_CRS TRUE)
174 #---------------------------------------------------------------------- 175 # Tests that produce some output (other than rendered images) from ParaView 176 # that should be checked for correctness. These work by executing an XML 177 # test in the UI that produces some output, then pvpython runs a Python script 178 # that checks the file for correctness. Example use: checking a CSV 179 # file for expected content. 181 # Tests listed here are required to define the following files: 182 # - <test>.xml - XML test script to play in the uI 183 # - <test>Verify.py - Python code to verify output saved out in the XML 185 #---------------------------------------------------------------------- 186 set(paraview_python_verify_tests
187 ExportMultiblockFieldDataSpreadsheet
188 ExportSceneSpreadSheetView
192 list(APPEND paraview_python_verify_tests
193 ExportAnimatedSpreadSheetView
195 set(ExportAnimatedSpreadSheetView_FORCE_SERIAL TRUE) # since
this uses popup-menu
198 if (TARGET VTK::IOUSD)
199 list(APPEND paraview_python_verify_tests
202 set(ExportAnimatedUSD_FORCE_SERIAL TRUE) # since
this uses popup-menu
205 if (TARGET VTK::IOAlembic)
206 list(APPEND paraview_python_verify_tests
207 ExportAnimatedAlembic
209 set(ExportAnimatedAlembic_FORCE_SERIAL TRUE) # since
this uses popup-menu
212 if (PARAVIEW_ENABLE_WEB)
213 list(APPEND paraview_python_verify_tests
214 ExportToVTKJSWithTimeSteps
218 if (PARAVIEW_USE_PYTHON)
219 foreach(test_name ${paraview_python_verify_tests})
220 set(tname
"ParaView::Applications::${test_name}")
221 add_test(
NAME ${tname}
222 COMMAND ${CMAKE_COMMAND}
223 -DPARAVIEW_EXECUTABLE:FILEPATH=$<TARGET_FILE:ParaView::paraview>
224 -DPVPYTHON_EXECUTABLE:FILEPATH=$<TARGET_FILE:ParaView::pvpython>
225 -DDATA_DIR:PATH=${paraview_test_data_directory_output}
226 -DTEST_NAME:STRING=${test_name}
227 -DTEST_SCRIPT:FILEPATH=${CMAKE_CURRENT_SOURCE_DIR}/${test_name}.xml
228 -DTEST_VERIFIER:FILEPATH=${CMAKE_CURRENT_SOURCE_DIR}/${test_name}Verify.py
229 -DTEMPORARY_DIR:PATH=${CMAKE_BINARY_DIR}/Testing/Temporary
230 -P ${CMAKE_CURRENT_SOURCE_DIR}/PythonScriptTestDriver.cmake
232 set_tests_properties(${tname} PROPERTIES
LABELS "paraview")
233 if (
"${${test_name}_FORCE_SERIAL}")
234 set_tests_properties(${tname} PROPERTIES RUN_SERIAL ON)
function find_python_module(module_name, result)