nixpkgs/nixos/tests/vscodium.nix
2021-02-08 13:59:37 +01:00

63 lines
1.3 KiB
Nix

import ./make-test-python.nix ({ pkgs, ...} :
{
name = "vscodium";
meta = with pkgs.lib.maintainers; {
maintainers = [ turion ];
};
machine = { ... }:
{
imports = [
./common/user-account.nix
./common/x11.nix
];
virtualisation.memorySize = 2047;
services.xserver.enable = true;
test-support.displayManager.auto.user = "alice";
environment.systemPackages = with pkgs; [
vscodium
];
};
enableOCR = true;
testScript = { nodes, ... }: ''
# Start up X
start_all()
machine.wait_for_x()
# Create a file that we'll open
machine.succeed("su - alice -c 'echo \" Hello World\" > foo.txt'")
# It's one line long
assert "1 foo.txt" in machine.succeed(
"su - alice -c 'wc foo.txt -l'"
), "File has wrong length"
# Start VSCodium with that file
machine.succeed("su - alice -c 'codium foo.txt' &")
# Wait for the window to appear
machine.wait_for_text("VSCodium")
# Add a line
machine.send_key("ret")
# Save file
machine.send_key("ctrl-s")
# Wait until the file has been saved
machine.sleep(1)
# Now the file is 2 lines long
assert "2 foo.txt" in machine.succeed(
"su - alice -c 'wc foo.txt -l'"
), "File has wrong length"
machine.screenshot("VSCodium")
'';
})