Skip to content

Commit 7a4af49

Browse files
committed
[cmake][tests] Fix and re-enable tests on Windows
- Export a couple of missing symbols (x86) - Re-enable several tests working now with LLVM 16 and VS 2022 - Reorganize `llvm13_broken_tests` and `win_broken_tests` for clarity
1 parent 60f7275 commit 7a4af49

File tree

6 files changed

+48
-80
lines changed

6 files changed

+48
-80
lines changed

bindings/pyroot/pythonizations/test/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,7 @@ if (dataframe)
113113
ROOT_ADD_PYUNITTEST(pyroot_pyz_rdataframe_makenumpy rdataframe_makenumpy.py PYTHON_DEPS numpy)
114114
endif()
115115
if(NOT MSVC OR win_broken_tests OR CMAKE_CXX_STANDARD GREATER 14)
116-
if(NOT MSVC OR llvm13_broken_tests)
117-
ROOT_ADD_PYUNITTEST(pyroot_pyz_rdataframe_asnumpy rdataframe_asnumpy.py PYTHON_DEPS numpy)
118-
endif()
116+
ROOT_ADD_PYUNITTEST(pyroot_pyz_rdataframe_asnumpy rdataframe_asnumpy.py PYTHON_DEPS numpy)
119117
ROOT_ADD_PYUNITTEST(pyroot_pyz_rdataframe_histo_profile rdataframe_histo_profile.py)
120118
endif()
121119
endif()

core/metacling/src/CMakeLists.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,18 @@ if(MSVC)
187187
??1LifetimeHandler@internal@runtime@cling@@QAE@XZ
188188
?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z
189189
)
190+
if(MSVC_VERSION GREATER_EQUAL 1938)
191+
set(cling_exports ${cling_exports}
192+
??$__std_find_trivial@$$CBDD@@YAPBDPBD0D@Z
193+
??$__std_find_trivial@DD@@YAPADPAD0D@Z
194+
??$__std_find_trivial@HH@@YAPAHPAH0H@Z
195+
??$__std_find_trivial@IH@@YAPAIPAI0H@Z
196+
___std_find_trivial_1@12
197+
___std_find_trivial_2@12
198+
___std_find_trivial_4@12
199+
___std_find_trivial_8@16
200+
)
201+
endif()
190202
if(MSVC_VERSION LESS 1914)
191203
set(cling_exports ${cling_exports} ??3@YAXPAX0@Z ??_V@YAXPAX0@Z)
192204
endif()

core/thread/test/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ endif()
1212

1313
ROOT_ADD_GTEST(testTThreadedObject testTThreadedObject.cxx LIBRARIES Hist)
1414

15-
if(NOT MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8 OR llvm13_broken_tests)
15+
if(NOT MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 8)
1616
ROOT_ADD_GTEST(testInterpreterLock testInterpreterLock.cxx LIBRARIES Imt REPEATS 50)
1717
else()
1818
ROOT_ADD_GTEST(testInterpreterLock testInterpreterLock.cxx LIBRARIES Imt REPEATS 40)

test/CMakeLists.txt

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -135,10 +135,8 @@ ROOT_ADD_TEST(test-bench COMMAND bench -s LABELS longtest)
135135
#--stressShapes------------------------------------------------------------------------------------
136136
ROOT_EXECUTABLE(stressShapes stressShapes.cxx LIBRARIES Geom Tree GenVector Gpad)
137137
ROOT_ADD_TEST(test-stressshapes COMMAND stressShapes -b FAILREGEX "FAILED|Error in")
138-
if(NOT MSVC OR llvm13_broken_tests)
139-
ROOT_ADD_TEST(test-stressshapes-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressShapes.cxx
140-
FAILREGEX "FAILED|Error in")
141-
endif()
138+
ROOT_ADD_TEST(test-stressshapes-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressShapes.cxx
139+
FAILREGEX "FAILED|Error in")
142140

143141
#--stressGeometry------------------------------------------------------------------------------------
144142
ROOT_EXECUTABLE(stressGeometry stressGeometry.cxx LIBRARIES Geom Tree GenVector Gpad)
@@ -166,19 +164,15 @@ if(ROOT_opengl_FOUND)
166164
endif()
167165
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../tutorials/graphics/earth.dat earth.dat COPYONLY)
168166
ROOT_ADD_TEST(test-stressgraphics ENVIRONMENT LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH} COMMAND stressGraphics -b -k FAILREGEX "FAILED|Error in" LABELS longtest)
169-
if(NOT MSVC OR llvm13_broken_tests)
170-
ROOT_ADD_TEST(test-stressgraphics-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressGraphics.cxx
167+
ROOT_ADD_TEST(test-stressgraphics-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressGraphics.cxx
171168
FAILREGEX "FAILED|Error in" DEPENDS test-stressgraphics )
172-
endif()
173169
endif()
174170

175171
#--stressHistogram------------------------------------------------------------------------------------
176172
ROOT_EXECUTABLE(stressHistogram stressHistogram.cxx LIBRARIES Hist RIO)
177173
ROOT_ADD_TEST(test-stresshistogram COMMAND stressHistogram FAILREGEX "FAILED|Error in" LABELS longtest)
178-
if(NOT MSVC OR llvm13_broken_tests)
179-
ROOT_ADD_TEST(test-stresshistogram-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressHistogram.cxx
180-
FAILREGEX "FAILED|Error in" DEPENDS test-stresshistogram )
181-
endif()
174+
ROOT_ADD_TEST(test-stresshistogram-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressHistogram.cxx
175+
FAILREGEX "FAILED|Error in" DEPENDS test-stresshistogram )
182176

183177
#--stressGUI---------------------------------------------------------------------------------------
184178
if(ROOT_asimage_FOUND)
@@ -238,21 +232,17 @@ ROOT_ADD_TEST(test-stressfit-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMA
238232
if(ROOT_unuran_FOUND)
239233
ROOT_EXECUTABLE(stressHistoFit stressHistoFit.cxx LIBRARIES MathCore Matrix Unuran Tree Gpad)
240234
ROOT_ADD_TEST(test-stresshistofit COMMAND stressHistoFit FAILREGEX "FAILED|Error in" LABELS longtest)
241-
if(NOT MSVC OR CMAKE_SIZEOF_VOID_P EQUAL 4 OR win_broken_tests)
242-
if(NOT MSVC OR llvm13_broken_tests)
243-
ROOT_ADD_TEST(test-stresshistofit-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressHistoFit.cxx
244-
FAILREGEX "FAILED|Error in" DEPENDS test-stresshistofit )
245-
endif()
235+
if(NOT MSVC OR llvm13_broken_tests)
236+
ROOT_ADD_TEST(test-stresshistofit-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressHistoFit.cxx
237+
FAILREGEX "FAILED|Error in" DEPENDS test-stresshistofit )
246238
endif()
247239
endif()
248240

249241
#--stressEntryList---------------------------------------------------------------------------
250242
ROOT_EXECUTABLE(stressEntryList stressEntryList.cxx LIBRARIES MathCore Tree Hist)
251243
ROOT_ADD_TEST(test-stressentrylist COMMAND stressEntryList -b FAILREGEX "FAILED|Error in")
252-
if(NOT MSVC OR llvm13_broken_tests)
253-
ROOT_ADD_TEST(test-stressentrylist-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressEntryList.cxx
254-
FAILREGEX "FAILED|Error in" DEPENDS test-stressentrylist)
255-
endif()
244+
ROOT_ADD_TEST(test-stressentrylist-interpreted COMMAND ${ROOT_root_CMD} -b -q -l ${CMAKE_CURRENT_SOURCE_DIR}/stressEntryList.cxx
245+
FAILREGEX "FAILED|Error in" DEPENDS test-stressentrylist)
256246

257247
#--stressIterators---------------------------------------------------------------------------
258248
ROOT_EXECUTABLE(stressIterators stressIterators.cxx LIBRARIES Core)

tmva/tmva/test/CMakeLists.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,8 @@ if(dataframe)
2727
# RReader
2828
ROOT_ADD_GTEST(rreader rreader.cxx LIBRARIES ROOTVecOps TMVA ROOTDataFrame)
2929
# Tree inference system and user interface
30-
if(NOT MSVC OR llvm13_broken_tests)
31-
ROOT_ADD_GTEST(branchlessForest branchlessForest.cxx LIBRARIES TMVA)
32-
ROOT_ADD_GTEST(rbdt rbdt.cxx LIBRARIES ROOTVecOps TMVAUtils)
33-
endif()
30+
ROOT_ADD_GTEST(branchlessForest branchlessForest.cxx LIBRARIES TMVA)
31+
ROOT_ADD_GTEST(rbdt rbdt.cxx LIBRARIES ROOTVecOps TMVAUtils)
3432
endif()
3533

3634
if(dataframe)

tutorials/CMakeLists.txt

Lines changed: 22 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -95,17 +95,6 @@ if (NOT dataframe)
9595
list(APPEND dataframe_veto tmva/RBatchGenerator_filters_vectors.py)
9696
# RooFit tutorial depending on RDataFrame
9797
list(APPEND dataframe_veto roofit/rf408*)
98-
elseif(MSVC AND NOT win_broken_tests)
99-
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
100-
list(APPEND dataframe_veto dataframe/df002_dataModel.py)
101-
list(APPEND dataframe_veto dataframe/df016_vecOps.py)
102-
list(APPEND dataframe_veto dataframe/df017_vecOpsHEP.py)
103-
endif()
104-
105-
# Why do we need to veto these tutorials on Windows with C++17?
106-
list(APPEND dataframe_veto dataframe/df032_RDFFromNumpy.py)
107-
list(APPEND dataframe_veto dataframe/df033_Describe.py)
108-
10998
endif()
11099

111100
if(NOT sqlite)
@@ -123,12 +112,6 @@ if(MACOSX_VERSION VERSION_EQUAL 10.13)
123112
list(APPEND dataframe_veto dataframe/df103_NanoAODHiggsAnalysis.*)
124113
endif()
125114

126-
if(MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT win_broken_tests)
127-
list(APPEND dataframe_veto dataframe/df002_dataModel.C)
128-
list(APPEND dataframe_veto dataframe/df016_vecOps.C)
129-
list(APPEND dataframe_veto dataframe/df017_vecOpsHEP.C)
130-
endif()
131-
132115
if(NOT ROOT_proof_FOUND)
133116
set(proof_veto roostats/StandardFrequentistDiscovery.C)
134117
endif()
@@ -142,16 +125,11 @@ if(NOT ROOT_roofit_FOUND)
142125
roostats/*.C roostats/*.py
143126
histfactory/*.C histfactory/*.py)
144127
else()
145-
if(MSVC AND NOT win_broken_tests)
146-
set(roofit_veto roofit/rf401_importttreethx.py roofit/rf708_bphysics.py roofit/rf501_simultaneouspdf.py)
147-
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
148-
list(APPEND roofit_veto roofit/rf409_NumPyPandasToRooFit.py)
149-
else()
150-
# The following tutorials are failing with this error:
151-
# IncrementalExecutor::executeFunction: symbol '__std_find_trivial_4@12' unresolved while linking [cling interface function]!
152-
# on Windows 32 bit and Visual Studio v17.8
153-
list(APPEND roofit_veto roofit/rf509_wsinteractive.C roofit/rf614_binned_fit_problems.C)
154-
endif()
128+
if(MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 4 AND NOT llvm13_broken_tests)
129+
# The following tutorials are failing with this error:
130+
# IncrementalExecutor::executeFunction: symbol '__std_find_trivial_4@12' unresolved while linking [cling interface function]!
131+
# on Windows 32 bit and Visual Studio v17.8
132+
list(APPEND roofit_veto roofit/rf509_wsinteractive.C roofit/rf614_binned_fit_problems.C)
155133
endif()
156134
endif()
157135

@@ -417,31 +395,23 @@ set(extra_veto
417395
r/rootlogon.C)
418396

419397
if(MSVC AND NOT llvm13_broken_tests)
420-
list(APPEND extra_veto
421-
dataframe/df002_dataModel.C
422-
dataframe/df007_snapshot.C
423-
dataframe/df016_vecOps.C
424-
dataframe/df017_vecOpsHEP.C
425-
fit/NumericalMinimization.C
426-
fit/fit2.C
427-
fit/fit2a.C
428-
fit/fit2dHist.C
429-
graphics/earth.C
430-
graphs/motorcycle.C
431-
math/exampleFunction.py
432-
math/multidimSampling.C
433-
math/multivarGaus.C
434-
tree/basic.C
435-
unfold/testUnfold5b.C
436-
unfold/testUnfold5c.C
437-
unfold/testUnfold5d.C
438-
unuran/unuranDemo.C
439-
v7/ntuple/ntpl001_staff.C
440-
v7/perfcomp.cxx
441-
dataframe/df002_dataModel.py
442-
dataframe/df016_vecOps.py
443-
dataframe/df017_vecOpsHEP.py
444-
dataframe/df035_RDFFromPandas.py)
398+
list(APPEND extra_veto
399+
math/exampleFunction.py
400+
dataframe/df002_dataModel.C
401+
dataframe/df016_vecOps.C
402+
dataframe/df017_vecOpsHEP.C
403+
dataframe/df002_dataModel.py
404+
dataframe/df016_vecOps.py
405+
dataframe/df017_vecOpsHEP.py
406+
dataframe/df032_RDFFromNumpy.py
407+
dataframe/df035_RDFFromPandas.py)
408+
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
409+
list(APPEND extra_veto
410+
dataframe/df007_snapshot.C
411+
graphics/earth.C
412+
graphs/motorcycle.C
413+
v7/ntuple/ntpl001_staff.C)
414+
endif()
445415
endif()
446416

447417
set(all_veto hsimple.C

0 commit comments

Comments
 (0)