@@ -117,6 +117,7 @@ if(PYTHONINTERP_FOUND)
117117
118118 set (TEST_MODES optimize_none optimize optimize_unchecked)
119119
120+
120121 foreach (SDK ${SWIFT_SDKS} )
121122 foreach (ARCH ${SWIFT_SDK_${SDK} _ARCHITECTURES})
122123 foreach (TEST_MODE ${TEST_MODES} )
@@ -196,30 +197,52 @@ if(PYTHONINTERP_FOUND)
196197 "${CMAKE_CURRENT_SOURCE_DIR} /../validation-test/lit.site.cfg.in"
197198 "${validation_test_bin_dir} /lit.site.cfg"
198199 "validation-test${VARIANT_SUFFIX} .lit.site.cfg" )
200+ set (profdata_merge_worker
201+ "${CMAKE_CURRENT_SOURCE_DIR} /../utils/profdata_merge/main.py" )
202+
203+ if (SWIFT_ANALYZE_CODE_COVERAGE STREQUAL "MERGED" )
204+ set (command_profdata_merge_start
205+ COMMAND "${PYTHON_EXECUTABLE} " "${profdata_merge_worker} " start
206+ -o "${swift_test_results_dir} "
207+ -l "${swift_test_results_dir} /profdata_merge.log" )
208+ set (command_profdata_merge_stop
209+ COMMAND "${PYTHON_EXECUTABLE} " "${profdata_merge_worker} " stop)
210+ else ()
211+ set (command_profdata_merge_start)
212+ set (command_profdata_merge_stop)
213+ endif ()
199214
200215 add_custom_target ("check-swift${test_mode_target_suffix}${VARIANT_SUFFIX} "
201216 ${command_upload_stdlib}
202217 ${command_clean_test_results_dir}
218+ ${command_profdata_merge_start}
203219 COMMAND ${lit_command} "${test_bin_dir} "
220+ ${command_profdata_merge_stop}
204221 DEPENDS ${test_dependencies}
205222 COMMENT "Running Swift tests for ${VARIANT_TRIPLE} "
206223 ${cmake_3_2_USES_TERMINAL} )
207224
208225 add_custom_target ("check-swift-validation${test_mode_target_suffix}${VARIANT_SUFFIX} "
209226 ${command_upload_stdlib}
210227 ${command_clean_test_results_dir}
228+ ${command_profdata_merge_start}
211229 COMMAND ${lit_command} "${validation_test_bin_dir} "
230+ ${command_profdata_merge_stop}
212231 DEPENDS ${test_dependencies} ${validation_test_dependencies}
213232 COMMENT "Running Swift validation tests for ${VARIANT_TRIPLE} "
214233 ${cmake_3_2_USES_TERMINAL} )
215234
216235 add_custom_target ("check-swift-all${test_mode_target_suffix}${VARIANT_SUFFIX} "
217236 ${command_upload_stdlib}
218237 ${command_clean_test_results_dir}
238+ ${command_profdata_merge_start}
219239 COMMAND ${lit_command} "${validation_test_bin_dir} " "${test_bin_dir} "
240+ ${command_profdata_merge_stop}
220241 DEPENDS ${test_dependencies} ${validation_test_dependencies}
221242 COMMENT "Running all Swift tests for ${VARIANT_TRIPLE} "
222243 ${cmake_3_2_USES_TERMINAL} )
244+
245+
223246 endforeach ()
224247 endforeach ()
225248 endforeach ()
@@ -245,6 +268,7 @@ if(PYTHONINTERP_FOUND)
245268
246269 add_custom_target (check-swift-all ${test_mode_target_suffix}
247270 DEPENDS "check-swift-all${test_mode_target_suffix}${SWIFT_PRIMARY_VARIANT_SUFFIX} " )
271+
248272 endforeach ()
249273
250274endif ()
0 commit comments