diff options
author | Manuel Bärenz <programming@manuelbaerenz.de> | 2021-02-08 13:54:24 +0100 |
---|---|---|
committer | Manuel Bärenz <programming@manuelbaerenz.de> | 2021-02-08 13:59:37 +0100 |
commit | 10b3773db0582651572088a401510ad486d78826 (patch) | |
tree | 91817914aaa0ef46cd9cea90ab410212bcd147b3 /nixos/tests | |
parent | 3ed5570514429b1d32c59dc4a82e74a249d8818a (diff) |
vscode/vscodium: Add integration test
Diffstat (limited to 'nixos/tests')
-rw-r--r-- | nixos/tests/all-tests.nix | 1 | ||||
-rw-r--r-- | nixos/tests/vscodium.nix | 62 |
2 files changed, 63 insertions, 0 deletions
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4ea2dc44d5a33..444580bc0bed6 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -413,6 +413,7 @@ in vector = handleTest ./vector.nix {}; victoriametrics = handleTest ./victoriametrics.nix {}; virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {}; + vscodium = handleTest ./vscodium.nix {}; wasabibackend = handleTest ./wasabibackend.nix {}; wireguard = handleTest ./wireguard {}; wordpress = handleTest ./wordpress.nix {}; diff --git a/nixos/tests/vscodium.nix b/nixos/tests/vscodium.nix new file mode 100644 index 0000000000000..398896540ee80 --- /dev/null +++ b/nixos/tests/vscodium.nix @@ -0,0 +1,62 @@ +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") + ''; +}) |