# No Qt tests done for windows external test ci phase

**URL:** https://discourse.cmake.org/t/no-qt-tests-done-for-windows-external-test-ci-phase/8885
**Category:** Development
**Created:** [September 5, 2023, 3:54pm UTC](https://discourse.cmake.org/t/no-qt-tests-done-for-windows-external-test-ci-phase/8885 "2023-09-05T15:54:22Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![alcroito](https://discourse.cmake.org/user_avatar/discourse.cmake.org/alcroito/32/186_2.png) [@alcroito](https://discourse.cmake.org/u/alcroito)
#### Post date: [September 5, 2023, 3:54pm UTC](https://discourse.cmake.org/t/no-qt-tests-done-for-windows-external-test-ci-phase/8885/1 "2023-09-05T15:54:22Z")

</div>

Hi,

I was checking why neither gitlab CI nor nightly cdash is running Qt AUTOGEN tests for the `t:windows-vs2022-x64` / nightly-cmake-windows\_vs2022\_x64

[https://gitlab.kitware.com/cmake/cmake/-/jobs/8645764](https://gitlab.kitware.com/cmake/cmake/-/jobs/8645764)  
[https://open.cdash.org/build/8965503](https://open.cdash.org/build/8965503)

It appears to be due to Qt missing in path when configuring tests for those jobs.

Specifically the qt env is not sourced for `.cmake_test_windows_external:` as it is done for regular tests.  
[https://gitlab.kitware.com/cmake/cmake/-/blob/master/.gitlab/os-windows.yml#L372](https://gitlab.kitware.com/cmake/cmake/-/blob/master/.gitlab/os-windows.yml#L372)

The same is not the case for macos for example, which includes qt for external tests with xcode as well.

[https://gitlab.kitware.com/cmake/cmake/-/blob/master/.gitlab/os-macos.yml#L167](https://gitlab.kitware.com/cmake/cmake/-/blob/master/.gitlab/os-macos.yml#L167)  
[https://gitlab.kitware.com/cmake/cmake/-/blob/master/.gitlab/os-macos.yml#L199](https://gitlab.kitware.com/cmake/cmake/-/blob/master/.gitlab/os-macos.yml#L199)  
[https://gitlab.kitware.com/cmake/cmake/-/jobs/8645763](https://gitlab.kitware.com/cmake/cmake/-/jobs/8645763)

Is there a reason for that? What’s the distinction between external and non external tests?

---

<div class="post-metadata">

### Author: ![brad.king](https://discourse.cmake.org/user_avatar/discourse.cmake.org/brad.king/32/11_2.png) [@brad.king](https://discourse.cmake.org/u/brad.king)
#### Post date: [September 5, 2023, 6:09pm UTC](https://discourse.cmake.org/t/no-qt-tests-done-for-windows-external-test-ci-phase/8885/2 "2023-09-05T18:09:36Z")

</div>

The “external” CI jobs configure the CMake test suite to run without actually building CMake, but instead point at an externally-provided CMake, which comes from an earlier job in the pipeline. The name comes from the `CMake_TEST_EXTERNAL_CMAKE` option, though nowadays we use `CMake_TEST_HOST_CMAKE` for this in the CI jobs, which configures the test suite to run the tests using the cmake that was itself used to configure the build tree.

The external test infrastructure on Windows uses a minimal initial environment because it is used for driving all kinds of special compiler environments. We do load `.gitlab/ci/env.ps1` to prepare per-job environments. The same should probably be done on macOS, but there currently are not enough job variants to bother.

The `t:windows-vs2022-x64` job currently leaves out Qt testing. I’ll look at adding it so that we can get CI coverage of autogen with the VS generator.

---

<div class="post-metadata">

### Author: ![brad.king](https://discourse.cmake.org/user_avatar/discourse.cmake.org/brad.king/32/11_2.png) [@brad.king](https://discourse.cmake.org/u/brad.king)
#### Post date: [September 5, 2023, 7:44pm UTC](https://discourse.cmake.org/t/no-qt-tests-done-for-windows-external-test-ci-phase/8885/3 "2023-09-05T19:44:53Z")

</div>

> [@brad.king](#):
>
> I’ll look at adding it so that we can get CI coverage of autogen with the VS generator.

See [CMake MR 8771](https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8771)

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.cmake.org/u/ben.boeckel)
#### Post date: [September 6, 2023, 12:15pm UTC](https://discourse.cmake.org/t/no-qt-tests-done-for-windows-external-test-ci-phase/8885/4 "2023-09-06T12:15:27Z")

</div>

> [@brad.king](#):
>
> The name comes from the `CMake_TEST_EXTERNAL_CMAKE` option, though nowadays we use `CMake_TEST_HOST_CMAKE` for this in the CI jobs

I think the name comes from VTK’s usage of it for doing builds against install trees of VTK itself. That was likely inspired by the `Testing/External` subdirectory VTK uses for its own “external” testing. Eventually VTK would like to contract test other projects (e.g., ParaView) against its own install tree; these would also use the `external` name I expect.
