python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / tests / vscodium.nix
blobee884cc4295dd3d5b944232011a731314dada007
1 let
2   tests = {
3     wayland = { pkgs, ... }: {
4       imports = [ ./common/wayland-cage.nix ];
6       services.cage.program = "${pkgs.vscodium}/bin/codium";
8       environment.variables.NIXOS_OZONE_WL = "1";
9       environment.variables.DISPLAY = "do not use";
11       fonts.fonts = with pkgs; [ dejavu_fonts ];
12     };
13     xorg = { pkgs, ... }: {
14       imports = [ ./common/user-account.nix ./common/x11.nix ];
16       virtualisation.memorySize = 2047;
17       services.xserver.enable = true;
18       services.xserver.displayManager.sessionCommands = ''
19         ${pkgs.vscodium}/bin/codium
20       '';
21       test-support.displayManager.auto.user = "alice";
22     };
23   };
25   mkTest = name: machine:
26     import ./make-test-python.nix ({ pkgs, ... }: {
27       inherit name;
29       nodes = { "${name}" = machine; };
31       meta = with pkgs.lib.maintainers; {
32         maintainers = [ synthetica turion ];
33       };
34       enableOCR = true;
36       # testScriptWithTypes:55: error: Item "function" of
37       # "Union[Callable[[Callable[..., Any]], ContextManager[Any]], ContextManager[Any]]"
38       # has no attribute "__enter__"
39       #     with codium_running:
40       #          ^
41       skipTypeCheck = true;
43       testScript = ''
44         @polling_condition
45         def codium_running():
46             machine.succeed('pgrep -x codium')
49         start_all()
51         machine.wait_for_unit('graphical.target')
52         machine.wait_until_succeeds('pgrep -x codium')
54         with codium_running:
55             # Wait until vscodium is visible. "File" is in the menu bar.
56             machine.wait_for_text('Get Started')
57             machine.screenshot('start_screen')
59             test_string = 'testfile'
61             # Create a new file
62             machine.send_key('ctrl-n')
63             machine.wait_for_text('Untitled')
64             machine.screenshot('empty_editor')
66             # Type a string
67             machine.send_chars(test_string)
68             machine.wait_for_text(test_string)
69             machine.screenshot('editor')
71             # Save the file
72             machine.send_key('ctrl-s')
73             machine.wait_for_text('(Save|Desktop|alice|Size)')
74             machine.screenshot('save_window')
75             machine.send_key('ret')
77             # (the default filename is the first line of the file)
78             machine.wait_for_file(f'/home/alice/{test_string}')
80         # machine.send_key('ctrl-q')
81         # machine.wait_until_fails('pgrep -x codium')
82       '';
83     });
86 builtins.mapAttrs (k: v: mkTest k v { }) tests