| # SPDX-FileCopyrightText: The Eigen Authors |
| # SPDX-License-Identifier: MPL-2.0 |
| |
| .test:windows: |
| extends: [ .common:windows, .artifacts:test:results ] |
| stage: test |
| script: |
| - ./ci/scripts/test.windows.script.ps1 |
| after_script: |
| - ./ci/scripts/test.windows.after_script.ps1 |
| rules: !reference [.rules:libeigen:all-tests, rules] |
| tags: |
| - eigen-runner |
| - windows |
| - x86-64 |
| allow_failure: |
| exit_codes: 42 |
| |
| ##### MSVC ##################################################################### |
| |
| # MSVC 14.29 (VS 2019) 64 bit |
| |
| .test:windows:x86-64:msvc-14.29:default: |
| extends: .test:windows |
| needs: [ build:windows:x86-64:msvc-14.29:default ] |
| |
| test:windows:x86-64:msvc-14.29:default:official: |
| extends: .test:windows:x86-64:msvc-14.29:default |
| variables: |
| EIGEN_CI_CTEST_LABEL: Official |
| |
| test:windows:x86-64:msvc-14.29:default:unsupported: |
| extends: .test:windows:x86-64:msvc-14.29:default |
| variables: |
| EIGEN_CI_CTEST_LABEL: Unsupported |
| |
| .test:windows:x86-64:msvc-14.29:avx2: |
| extends: .test:windows |
| needs: [ build:windows:x86-64:msvc-14.29:avx2 ] |
| |
| test:windows:x86-64:msvc-14.29:avx2:official: |
| extends: .test:windows:x86-64:msvc-14.29:avx2 |
| variables: |
| EIGEN_CI_CTEST_LABEL: Official |
| |
| test:windows:x86-64:msvc-14.29:avx2:unsupported: |
| extends: .test:windows:x86-64:msvc-14.29:avx2 |
| variables: |
| EIGEN_CI_CTEST_LABEL: Unsupported |
| |
| .test:windows:x86-64:msvc-14.29:avx512dq: |
| extends: .test:windows |
| needs: [ build:windows:x86-64:msvc-14.29:avx512dq ] |
| tags: |
| - eigen-runner |
| - windows |
| - x86-64 |
| - avx512 |
| |
| test:windows:x86-64:msvc-14.29:avx512dq:official: |
| extends: .test:windows:x86-64:msvc-14.29:avx512dq |
| variables: |
| EIGEN_CI_CTEST_LABEL: Official |
| |
| test:windows:x86-64:msvc-14.29:avx512dq:unsupported: |
| extends: .test:windows:x86-64:msvc-14.29:avx512dq |
| variables: |
| EIGEN_CI_CTEST_LABEL: Unsupported |
| |
| # MSVC 14.29 (VS 2019) + CUDA |
| |
| .test:windows:cuda: |
| extends: .test:windows |
| allow_failure: true |
| variables: |
| EIGEN_CI_CTEST_LABEL: gpu |
| # Name the GPU and driver the tests run on. |
| before_script: |
| - nvidia-smi |
| - . ci/scripts/common.windows.before_script.ps1 |
| rules: !reference [.rules:libeigen:gpu, rules] |
| tags: |
| - eigen-runner |
| - windows |
| - x86-64 |
| - cuda |
| |
| # MSVC 14.29 + CUDA 13.0 |
| test:windows:x86-64:cuda-13.0:msvc-14.29: |
| extends: .test:windows:cuda |
| needs: [ build:windows:x86-64:cuda-13.0:msvc-14.29 ] |
| |
| ##### MR Affected Tests ######################################################## |
| # Paired with the affected Windows build job. No CTest label is set: the regex |
| # from select:tests is the only filter, so a selection spanning Official and |
| # Unsupported tests runs in one job rather than the two the labelled jobs above |
| # need. |
| # |
| # Dropping the label filter is what makes the exclusion below necessary. The |
| # failtest suite and the buildsystem tests carry no CTest label, so every other |
| # Windows job skips them by construction, and their test action is a compile |
| # rather than the running of a prebuilt binary. Only the build script runs |
| # vcvarsall, so cl.exe is not invocable here: each one fails with "CreateProcess |
| # failed: The system cannot find the file specified", while its WILL_FAIL `_ko` |
| # twin passes on that same unrelated error. Excluding them keeps this job's |
| # coverage equal to what Windows has always run. Giving the Windows test runner |
| # a compiler environment would be a separate change with its own fallout. |
| |
| test:windows:x86-64:msvc-14.29:default:affected: |
| extends: [ .test:windows, .affected:test ] |
| needs: [ build:windows:x86-64:msvc-14.29:default:affected, select:tests ] |
| variables: |
| # `$` last: GitLab expands $NAME inside a variable value, and a trailing `$` |
| # cannot begin an expansion. Verified against the registered test names -- |
| # `_(ok|ko)$` matches the 124 failtest entries and nothing else. |
| EIGEN_CI_CTEST_EXCLUDE: "^buildsystem_|_(ok|ko)$" |
| rules: !reference [.rules:libeigen:affected-tests:windows, rules] |