mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-29 09:04:17 +00:00
cd45cfe9c4
An attempt to help https://hydra.nixos.org/build/279535629/nixlog/1. The "Get Started with" text is much easier to find. Also scale vscodium to help OCR find the "Untitled" text.
81 lines
2.4 KiB
Nix
81 lines
2.4 KiB
Nix
let
|
|
tests = {
|
|
wayland = { pkgs, ... }: {
|
|
imports = [ ./common/wayland-cage.nix ];
|
|
|
|
# We scale vscodium to help OCR find the small "Untitled" text.
|
|
services.cage.program = "${pkgs.vscodium}/bin/codium --force-device-scale-factor=2";
|
|
|
|
environment.variables.NIXOS_OZONE_WL = "1";
|
|
environment.variables.DISPLAY = "do not use";
|
|
|
|
fonts.packages = with pkgs; [ dejavu_fonts ];
|
|
};
|
|
xorg = { pkgs, ... }: {
|
|
imports = [ ./common/user-account.nix ./common/x11.nix ];
|
|
|
|
virtualisation.memorySize = 2047;
|
|
services.xserver.enable = true;
|
|
services.xserver.displayManager.sessionCommands = ''
|
|
${pkgs.vscodium}/bin/codium --force-device-scale-factor=2
|
|
'';
|
|
test-support.displayManager.auto.user = "alice";
|
|
};
|
|
};
|
|
|
|
mkTest = name: machine:
|
|
import ./make-test-python.nix ({ pkgs, ... }: {
|
|
inherit name;
|
|
|
|
nodes = { "${name}" = machine; };
|
|
|
|
meta = with pkgs.lib.maintainers; {
|
|
maintainers = [ synthetica turion ];
|
|
};
|
|
enableOCR = true;
|
|
|
|
testScript = ''
|
|
@polling_condition
|
|
def codium_running():
|
|
machine.succeed('pgrep -x codium')
|
|
|
|
|
|
start_all()
|
|
|
|
machine.wait_for_unit('graphical.target')
|
|
|
|
codium_running.wait() # type: ignore[union-attr]
|
|
with codium_running: # type: ignore[union-attr]
|
|
# Wait until vscodium is visible. "File" is in the menu bar.
|
|
machine.wait_for_text('Get Started with')
|
|
machine.screenshot('start_screen')
|
|
|
|
test_string = 'testfile'
|
|
|
|
# Create a new file
|
|
machine.send_key('ctrl-n')
|
|
machine.wait_for_text('Untitled')
|
|
machine.screenshot('empty_editor')
|
|
|
|
# Type a string
|
|
machine.send_chars(test_string)
|
|
machine.wait_for_text(test_string)
|
|
machine.screenshot('editor')
|
|
|
|
# Save the file
|
|
machine.send_key('ctrl-s')
|
|
machine.wait_for_text('(Save|Desktop|alice|Size)')
|
|
machine.screenshot('save_window')
|
|
machine.send_key('ret')
|
|
|
|
# (the default filename is the first line of the file)
|
|
machine.wait_for_file(f'/home/alice/{test_string}')
|
|
|
|
# machine.send_key('ctrl-q')
|
|
# machine.wait_until_fails('pgrep -x codium')
|
|
'';
|
|
});
|
|
|
|
in
|
|
builtins.mapAttrs (k: v: mkTest k v) tests
|