@@ -404,6 +404,14 @@ foreach(SDK ${SWIFT_SDKS})
404404 set (VARIANT_EXTERNAL_EMBEDDED_PLATFORM FALSE )
405405 set (VARIANT_EXTERNAL_EMBEDDED_DEVICE)
406406
407+ # Reset these values for WASI, as Embedded Swift for WASI requires separate lit configs.
408+ set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_old ${SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB} )
409+ set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING_old ${SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING} )
410+ if (${SDK} STREQUAL "WASI" )
411+ set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB OFF )
412+ set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING OFF )
413+ endif ()
414+
407415 swift_configure_lit_site_cfg(
408416 "${CMAKE_CURRENT_SOURCE_DIR} /lit.site.cfg.in"
409417 "${test_bin_dir} /lit.site.cfg"
@@ -426,6 +434,10 @@ foreach(SDK ${SWIFT_SDKS})
426434 "${test_bin_dir} /lit.swift-features.cfg"
427435 "${validation_test_bin_dir} /lit.swift-features.cfg" )
428436
437+ # Restore old values in case they were reset for WASI tests lit configs.
438+ set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB ${SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_old} )
439+ set (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING ${SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING_old} )
440+
429441 set (test_dependencies)
430442 get_test_dependencies("${SDK} " test_dependencies)
431443
@@ -587,6 +599,43 @@ foreach(SDK ${SWIFT_SDKS})
587599 PROPERTY FOLDER "Tests/check-swift" )
588600 endforeach ()
589601 endforeach ()
602+
603+ if (SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING AND (${ARCH} STREQUAL "wasm32" ))
604+ set (test_mode "optimize_none" )
605+ set (test_subset "primary" )
606+ set (VARIANT_SUFFIX "-embedded-wasi" )
607+ set (VARIANT_TRIPLE "wasm32-unknown-wasip1" )
608+ set (test_bin_dir "${CMAKE_CURRENT_BINARY_DIR}${VARIANT_SUFFIX} /embedded" )
609+ set (VARIANT_EXTERNAL_EMBEDDED_PLATFORM FALSE )
610+ set (VARIANT_EXTERNAL_EMBEDDED_DEVICE)
611+ set (SWIFT_TEST_RESULTS_DIR "${CMAKE_BINARY_DIR} /${CMAKE_CFG_INTDIR} /swift-test-results/${VARIANT_TRIPLE} " )
612+ swift_configure_lit_site_cfg(
613+ "${CMAKE_CURRENT_SOURCE_DIR} /lit.site.cfg.in"
614+ "${CMAKE_CURRENT_BINARY_DIR}${VARIANT_SUFFIX} /lit.site.cfg"
615+ "test${VARIANT_SUFFIX} .lit.site.cfg" )
616+ swift_generate_lit_swift_features_cfg("${CMAKE_CURRENT_BINARY_DIR}${VARIANT_SUFFIX} /lit.swift-features.cfg" )
617+
618+ set (test_target_name "check-swift${VARIANT_SUFFIX} " )
619+ set (directories "${test_bin_dir} " )
620+
621+ set (embedded_wasm_lit_args)
622+ setup_lit_args(embedded_wasm_lit_args "${SDK} " "${SWIFT_TEST_RESULTS_DIR} " "${SWIFTLIB_DIR} " )
623+
624+ add_custom_target ("${test_target_name} "
625+ ${maybe_command_upload_stdlib}
626+ ${command_upload_swift_reflection_test}
627+ ${command_clean_test_results_dir}
628+ COMMAND
629+ ${CMAKE_COMMAND} -E env ${SWIFT_LIT_ENVIRONMENT}
630+ $<TARGET_FILE:Python3::Interpreter> "${LIT} "
631+ ${embedded_wasm_lit_args}
632+ "--param" "swift_test_subset=${test_subset} "
633+ "--param" "swift_test_mode=${test_mode} "
634+ ${directories}
635+ DEPENDS ${dependencies}
636+ COMMENT "Running ${test_subset} Swift tests for ${VARIANT_TRIPLE} "
637+ USES_TERMINAL )
638+ endif ()
590639 endforeach ()
591640 endforeach ()
592641endforeach ()
@@ -624,17 +673,6 @@ if(SWIFT_SHOULD_BUILD_EMBEDDED_STDLIB_CROSS_COMPILING)
624673 "${CMAKE_CURRENT_BINARY_DIR}${VARIANT_SUFFIX} /lit.site.cfg"
625674 "test${VARIANT_SUFFIX} .lit.site.cfg" )
626675 swift_generate_lit_swift_features_cfg("${CMAKE_CURRENT_BINARY_DIR}${VARIANT_SUFFIX} /lit.swift-features.cfg" )
627-
628- set (VARIANT_SUFFIX "-embedded-wasi" )
629- set (VARIANT_TRIPLE "wasm32-unknown-wasip1" )
630- set (VARIANT_EXTERNAL_EMBEDDED_PLATFORM FALSE )
631- set (VARIANT_EXTERNAL_EMBEDDED_DEVICE)
632- set (SWIFT_TEST_RESULTS_DIR "${CMAKE_BINARY_DIR} /${CMAKE_CFG_INTDIR} /swift-test-results/${VARIANT_TRIPLE} " )
633- swift_configure_lit_site_cfg(
634- "${CMAKE_CURRENT_SOURCE_DIR} /lit.site.cfg.in"
635- "${CMAKE_CURRENT_BINARY_DIR}${VARIANT_SUFFIX} /lit.site.cfg"
636- "test${VARIANT_SUFFIX} .lit.site.cfg" )
637- swift_generate_lit_swift_features_cfg("${CMAKE_CURRENT_BINARY_DIR}${VARIANT_SUFFIX} /lit.swift-features.cfg" )
638676endif ()
639677
640678# Add shortcuts for the default variant.
0 commit comments