nixos/tests: add integration tests for terminal emulators #103733
Conversation
Can you solve the merge conflicts? |
This is a cool idea! I don't feel comfortable reviewing the entire pull request, but for my part: the changes to Konsole look good! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Motivation for this change
The terminal emulator is a pretty key program for a lot of (most?) desktop users, so it seems nice to have some certainty that they work before updating your system.
Terminal emulators all present a pretty similar interface, which gives us an opportunity to easily test their basic functionality with a single codebase.
My goal here was consistency -- I believe these tests should strike a good balance of thoroughness and simplicity, by not doing text input to the terminals, thereby avoiding much possibility of race conditions or focus issues.
There are two tests run on each terminal emulator
The latter is used as a proxy for "can it display text?", without going through all the intricacies of OCR.
256-colour terminal mode is used to display the test colour, since it has a universally-applicable palette (unlike 8- and 16- colour, where the colours are implementation-defined), and it is widely supported (unlike 24-bit colour).
I definitely don't have coverage of every terminal emulator -- I will address these in future PRs
Things done
(note: termite fails to build pending #103704)fixed