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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
# Add the vtkDataArrayAPI tests. These are split up to separately test each
# array class, as testing all in a single translation unit led to heavy
# memory consumption and excessively long compile times.
set(data_array_tests)
function(add_data_array_test test_name array_header array_valuetype array_type)
set(VTK_TESTDATAARRAYAPI_HEADER "${array_header}")
set(VTK_TESTDATAARRAYAPI_VALUETYPE "${array_valuetype}")
set(VTK_TESTDATAARRAYAPI_ARRAYTYPE "${array_type}")
set(VTK_TESTDATAARRAYAPI_TESTNAME "TestDataArrayAPI_${test_name}")
set(test_source "${VTK_TESTDATAARRAYAPI_TESTNAME}.cxx")
configure_file(TestDataArrayAPI.cxx.in "${test_source}")
set(data_array_tests ${data_array_tests} "${test_source}.cxx" PARENT_SCOPE)
endfunction()
# Legacy -- test that the vtkDataArrayTemplate interface still works:
if(NOT VTK_LEGACY_REMOVE)
add_data_array_test(
vtkDataArrayTemplate_LEGACY
vtkDataArrayTemplate.h
float
vtkDataArrayTemplate<float>
)
endif()
# Non-templated classes:
add_data_array_test(vtkCharArray vtkCharArray.h "char" vtkCharArray)
add_data_array_test(vtkDoubleArray vtkDoubleArray.h "double" vtkDoubleArray)
add_data_array_test(vtkFloatArray vtkFloatArray.h "float" vtkFloatArray)
add_data_array_test(vtkIntArray vtkIntArray.h "int" vtkIntArray)
add_data_array_test(vtkLongArray vtkLongArray.h "long" vtkLongArray)
add_data_array_test(vtkLongLongArray vtkLongLongArray.h "long long" vtkLongLongArray)
add_data_array_test(vtkShortArray vtkShortArray.h "short" vtkShortArray)
add_data_array_test(vtkSignedCharArray vtkSignedCharArray.h "signed char" vtkSignedCharArray)
add_data_array_test(vtkUnsignedCharArray vtkUnsignedCharArray.h "unsigned char" vtkUnsignedCharArray)
add_data_array_test(vtkUnsignedIntArray vtkUnsignedIntArray.h "unsigned int" vtkUnsignedIntArray)
add_data_array_test(vtkUnsignedLongArray vtkUnsignedLongArray.h "unsigned long" vtkUnsignedLongArray)
add_data_array_test(vtkUnsignedLongLongArray vtkUnsignedLongLongArray.h "unsigned long long" vtkUnsignedLongLongArray)
add_data_array_test(vtkUnsignedShortArray vtkUnsignedShortArray.h "unsigned short" vtkUnsignedShortArray)
add_data_array_test(vtkIdTypeArray vtkIdTypeArray.h "vtkIdType" vtkIdTypeArray)
set(value_types
char
double
float
int
long
"long long"
short
"signed char"
"unsigned char"
"unsigned int"
"unsigned long"
"unsigned long long"
"unsigned short"
vtkIdType
)
# Templated data array subclasses can be done in a loop:
foreach(value_type ${value_types})
string(REPLACE " " "_" pretty_value_type "${value_type}")
add_data_array_test(
"AoS_${pretty_value_type}"
vtkAOSDataArrayTemplate.h
"${value_type}"
"vtkAOSDataArrayTemplate<${value_type}>")
add_data_array_test(
"SoA_${pretty_value_type}"
vtkSOADataArrayTemplate.h
"${value_type}"
"vtkSOADataArrayTemplate<${value_type}>")
endforeach()
# Tell TestSystemInformation where to find the build trees.
set(TestSystemInformation_ARGS ${CMAKE_BINARY_DIR})
# Tell TestXMLFileOutputWindow where to write test file
set(TestXMLFileOutputWindow_ARGS ${CMAKE_BINARY_DIR}/Testing/Temporary/XMLFileOutputWindow.txt)
vtk_add_test_cxx(${vtk-module}CxxTests tests
NO_DATA NO_VALID NO_OUTPUT
UnitTestMath.cxx
TestAngularPeriodicDataArray.cxx
TestArrayAPI.cxx
TestArrayAPIConvenience.cxx
TestArrayAPIDense.cxx
TestArrayAPISparse.cxx
TestArrayBool.cxx
TestArrayDispatchers.cxx
TestAtomic.cxx
TestScalarsToColors.cxx
# TestArrayCasting.cxx # Uses Boost in its own separate test.
TestArrayExtents.cxx
TestArrayInterpolationDense.cxx
TestArrayLookup.cxx
TestArrayNullValues.cxx
TestArraySize.cxx
TestArrayUniqueValueDetection.cxx
TestArrayUserTypes.cxx
TestArrayVariants.cxx
TestCollection.cxx
TestConditionVariable.cxx
# TestCxxFeatures.cxx # This is in its own exe too.
TestDataArray.cxx
TestDataArrayComponentNames.cxx
TestDataArrayIterators.cxx
TestGarbageCollector.cxx
TestGenericDataArrayAPI.cxx
TestInformationKeyLookup.cxx
# TestInstantiator.cxx # Have not enabled instantiators.
TestLookupTable.cxx
TestLookupTableThreaded.cxx
TestMath.cxx
TestMersenneTwister.cxx
TestMinimalStandardRandomSequence.cxx
TestNew.cxx
TestObjectFactory.cxx
TestObservers.cxx
TestObserversPerformance.cxx
TestOStreamWrapper.cxx
TestSMP.cxx
TestSmartPointer.cxx
TestSortDataArray.cxx
TestSparseArrayValidation.cxx
TestSystemInformation.cxx
TestTemplateMacro.cxx
TestTimePointUtility.cxx
TestUnicodeStringAPI.cxx
TestUnicodeStringArrayAPI.cxx
TestVariant.cxx
TestVariantComparison.cxx
TestWeakPointer.cxx
TestXMLFileOutputWindow.cxx
UnitTestInformationKeys.cxx
otherArrays.cxx
otherByteSwap.cxx
# These two need vtkLookupTableWithEnabling/vtkLogLookupTable - move
# them to RenderingCore or somewhere out there.
#otherLookupTable.cxx
#otherLookupTableWithEnabling.cxx
otherStringArray.cxx
${data_array_tests}
)
vtk_test_cxx_executable(${vtk-module}CxxTests tests
vtkTestNewVar.cxx
)
|