[PR #4490] [MERGED] Move tests to invoke te.exe directly instead of using VSTest runner #25783

Open
opened 2026-01-31 09:11:46 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/4490
Author: @miniksa
Created: 2/6/2020
Status: Merged
Merged: 2/10/2020
Merged by: @undefined

Base: masterHead: dev/miniksa/tests2


📝 Commits (10+)

  • 35e771b foo
  • 12b09b7 OK, I've had enough vstest.console.exe & TAEF adapter. Let's just call TAEF straight up.
  • 8f58ec4 Try what Dustin proposed.
  • 2bc5fa9 disable flaky mouse wheel tests, file 4494 to fix em
  • 94002eb Revert "foo"
  • 5e66a92 actually skip the tests, sheesh.
  • 0e59796 UNREACHABLE CODE. OK I GET IT.
  • 3a20658 put yml files in solution, also comment out the arguments because urgh.
  • 593fce8 Isolate these two suspicious test classes.
  • 5cd3c54 format

📊 Changes

7 files changed (+140 additions, -89 deletions)

View changed files

📝 OpenConsole.sln (+36 -10)
📝 build/pipelines/templates/build-console-steps.yml (+17 -20)
build/scripts/Run-Tests.ps1 (+14 -0)
📝 src/host/ft_host/API_InputTests.cpp (+59 -55)
📝 src/host/ut_host/ConptyOutputTests.cpp (+3 -1)
📝 src/host/ut_host/VtIoTests.cpp (+5 -3)
📝 src/renderer/base/renderer.cpp (+6 -0)

📄 Description

Moves the tests from using the vstest.console.exe route to just using te.exe.

PROs:

  • te.exe is significantly faster for running tests because the TAEF/VSTest adapter isn't great.
  • Running through te.exe is closer to what our developers are doing on their dev boxes
  • te.exe is how they run in the Windows gates.
  • te.exe doesn't seem to have the sporadic 0x6 error code thrown during the tests where somehow the console handles get lost
  • te.exe doesn't seem to repro the other intermittent issues that we have been having that are inscrutable.
  • Fewer processes in the tree (te is running anyway under vstest.console.exe, just indirected a lot
  • The log outputs scroll live with all our logging messages instead of suppressing everything until there's a failure
  • The log output is actually in the order things are happening versus vstest.

CONs:

  • No more code coverage.
  • No more test records in the ADO build/test panel.
  • Tests really won't work inside Visual Studio at all.
  • The log files are really big now
  • Testing is not a test task anymore, just another script.

Refuting each CON:

  • We didn't read the code coverage numbers
  • We didn't look at the ADO test panel results or build-over-build velocities
  • Tests didn't really work inside Visual Studio anyway unless you did the right incantations under the full moon.
  • We could tone down the logging if we wanted at either the te.exe execution time (with a switch) or by declaring properties in the tests/classes/modules that are very verbose to not log unless it fails.
  • I don't think anyone cares how they get run as long as they do.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/4490 **Author:** [@miniksa](https://github.com/miniksa) **Created:** 2/6/2020 **Status:** ✅ Merged **Merged:** 2/10/2020 **Merged by:** [@undefined](undefined) **Base:** `master` ← **Head:** `dev/miniksa/tests2` --- ### 📝 Commits (10+) - [`35e771b`](https://github.com/microsoft/terminal/commit/35e771b5be30800bce9a7d8b7dfcd1c194621d32) foo - [`12b09b7`](https://github.com/microsoft/terminal/commit/12b09b7d15ba7b2ce8e184dc191fb580cd8afc95) OK, I've had enough vstest.console.exe & TAEF adapter. Let's just call TAEF straight up. - [`8f58ec4`](https://github.com/microsoft/terminal/commit/8f58ec4643922ecae7467f8674a04cda7587392d) Try what Dustin proposed. - [`2bc5fa9`](https://github.com/microsoft/terminal/commit/2bc5fa9e6c02f159bb7e1c0014d9218bd65a05ce) disable flaky mouse wheel tests, file 4494 to fix em - [`94002eb`](https://github.com/microsoft/terminal/commit/94002eb5c6d234121658106703d51304c4904a45) Revert "foo" - [`5e66a92`](https://github.com/microsoft/terminal/commit/5e66a92b056e15d4e7a6a9cae5588960f09699f2) actually skip the tests, sheesh. - [`0e59796`](https://github.com/microsoft/terminal/commit/0e597962612e56c6ae0d635306aa6671ee9be8a9) UNREACHABLE CODE. OK I GET IT. - [`3a20658`](https://github.com/microsoft/terminal/commit/3a20658ad6683896acf240010e952ded53a59d24) put yml files in solution, also comment out the arguments because urgh. - [`593fce8`](https://github.com/microsoft/terminal/commit/593fce872baa8c7bb06cacc003436d67acbae276) Isolate these two suspicious test classes. - [`5cd3c54`](https://github.com/microsoft/terminal/commit/5cd3c542e1571b0513386844994b1c6d3f625bbf) format ### 📊 Changes **7 files changed** (+140 additions, -89 deletions) <details> <summary>View changed files</summary> 📝 `OpenConsole.sln` (+36 -10) 📝 `build/pipelines/templates/build-console-steps.yml` (+17 -20) ➕ `build/scripts/Run-Tests.ps1` (+14 -0) 📝 `src/host/ft_host/API_InputTests.cpp` (+59 -55) 📝 `src/host/ut_host/ConptyOutputTests.cpp` (+3 -1) 📝 `src/host/ut_host/VtIoTests.cpp` (+5 -3) 📝 `src/renderer/base/renderer.cpp` (+6 -0) </details> ### 📄 Description Moves the tests from using the `vstest.console.exe` route to just using `te.exe`. PROs: - `te.exe` is significantly faster for running tests because the TAEF/VSTest adapter isn't great. - Running through `te.exe` is closer to what our developers are doing on their dev boxes - `te.exe` is how they run in the Windows gates. - `te.exe` doesn't seem to have the sporadic `0x6` error code thrown during the tests where somehow the console handles get lost - `te.exe` doesn't seem to repro the other intermittent issues that we have been having that are inscrutable. - Fewer processes in the tree (te is running anyway under `vstest.console.exe`, just indirected a lot - The log outputs scroll live with all our logging messages instead of suppressing everything until there's a failure - The log output is actually in the order things are happening versus vstest. CONs: - No more code coverage. - No more test records in the ADO build/test panel. - Tests really won't work inside Visual Studio at all. - The log files are really big now - Testing is not a test task anymore, just another script. Refuting each CON: - We didn't read the code coverage numbers - We didn't look at the ADO test panel results or build-over-build velocities - Tests didn't really work inside Visual Studio anyway unless you did the right incantations under the full moon. - We could tone down the logging if we wanted at either the te.exe execution time (with a switch) or by declaring properties in the tests/classes/modules that are very verbose to not log unless it fails. - I don't think anyone cares how they get run as long as they do. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:11:46 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#25783