| 1 | set(OUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/cloudtest) |
| 2 | file(MAKE_DIRECTORY ${OUT}) |
| 3 | |
| 4 | if (${TARGET_PLATFORM} STREQUAL x64) |
| 5 | set(CLOUDTEST_IMAGES |
| 6 | "wsl-test-image-rs_prerelease-2025-01-30" |
| 7 | "wsl-test-image-win11-23h2-ent-2024-11-18" |
| 8 | "wsl-test-image-2022-datacenter-g2-2024-09-10" |
| 9 | "wsl-test-image-win10-22h2-ent-g2-2024-09-10") |
| 10 | |
| 11 | # WSLC tests trigger a Hyper-V VMBus PowerOff hang during VM teardown |
| 12 | # on Windows Server SKUs, which causes the WSLC TAEF job to time out. |
| 13 | # Skip the WSLC test suite on Server images until the host issue is |
| 14 | # resolved. |
| 15 | set(CLOUDTEST_SERVER_IMAGES |
| 16 | "wsl-test-image-2022-datacenter-g2-2024-09-10") |
| 17 | |
| 18 | set(CLOUDTEST_TEST_PACKAGES "Test_Packages_2025_07_28") |
| 19 | set(DUMPTOOL_DROP "DumpTool_X64_2025-01-27") |
| 20 | elseif (${TARGET_PLATFORM} STREQUAL arm64) |
| 21 | set(CLOUDTEST_IMAGES) |
| 22 | set(CLOUDTEST_SERVER_IMAGES) |
| 23 | else() |
| 24 | message(FATAL_ERROR "Unsupported target platform: ${TARGET_PLATFORM}") |
| 25 | endif() |
| 26 | |
| 27 | # Passed down to test-setup.ps1 to determine if -AllowUnsigned should be passed to Add-AppxPackage |
| 28 | if (OFFICIAL_BUILD) |
| 29 | set(ALLOW_UNSIGNED_PACKAGE "0") |
| 30 | else() |
| 31 | set(ALLOW_UNSIGNED_PACKAGE "1") |
| 32 | endif() |
| 33 | |
| 34 | # When the package stage is included (release + nightly), test the real bundle from that stage. |
| 35 | # PR builds test the installer.msix directly from the build artifact (no bundle needed). |
| 36 | if (INCLUDE_PACKAGE_STAGE) |
| 37 | set(TEST_PACKAGE_PROVIDER "[package]") |
| 38 | set(TEST_PACKAGE_PATH "bundle\\Microsoft.WSL_${PACKAGE_VERSION}_x64_ARM64.msixbundle") |
| 39 | set(TEST_PACKAGE_FILE "Microsoft.WSL_${PACKAGE_VERSION}_x64_ARM64.msixbundle") |
| 40 | else() |
| 41 | set(TEST_PACKAGE_PROVIDER "[drop]") |
| 42 | set(TEST_PACKAGE_PATH "testbin\\x64\\release\\installer.msix") |
| 43 | set(TEST_PACKAGE_FILE "installer.msix") |
| 44 | endif() |
| 45 | |
| 46 | function(add_test_group image version suffix filter) |
| 47 | set(DIR ${OUT}/${image}-${suffix}) |
| 48 | file(MAKE_DIRECTORY ${DIR}) |
| 49 | |
| 50 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TestMap.xml.in ${DIR}/TestMap.xml) |
| 51 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/TestGroup.xml.in ${DIR}/TestGroup.xml) |
| 52 | endfunction() |
| 53 | |
| 54 | foreach(image ${CLOUDTEST_IMAGES}) |
| 55 | add_test_group("${image}" "1" "wsl1" "not (@TestCategory='WSLC')") |
| 56 | add_test_group("${image}" "2" "wsl2" "not (@TestCategory='WSLC')") |
| 57 | if (NOT "${image}" IN_LIST CLOUDTEST_SERVER_IMAGES) |
| 58 | add_test_group("${image}" "2" "wslc" "@TestCategory='WSLC'") |
| 59 | endif() |
| 60 | endforeach() |