-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nixos/tests: add integration tests for terminal emulators #103733
Conversation
d08b889
to
899dc02
Compare
899dc02
to
cbf6a14
Compare
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! 👍 |
I marked this as stale due to inactivity. → More info |
This is still very useful, just a little stalled. |
cbf6a14
to
9e406b2
Compare
Done! Merge conflicts resolved, references to renamed packages fixed, python import errors fixed, all tests pass. |
Ready for merging if you're willing @ttuegel @SuperSandro2000 |
@SuperSandro2000 I've rebased this and added several remaining missing emulators. |
/marvin opt-in |
Hi! I'm an experimental bot. My goal is to guide this PR through its stages, hopefully ending with a merge. You can read up on the usage here. |
Please fix those two little things and then I am just going to merge this and hope for the best. |
some change in the last 24 hours altered the behaviour of st such that it now dies with a non-zero exit code when the shell exits, so kill is now necessary
@SuperSandro2000 updated the commit with those changes incorporated, cheers |
Here goes nothing! Thanks. |
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 👍