vscode/vscodium: Add integration test

wip/yesman
Manuel Bärenz 3 years ago
parent 3ed5570514
commit 10b3773db0
  1. 1
      nixos/tests/all-tests.nix
  2. 62
      nixos/tests/vscodium.nix
  3. 5
      pkgs/applications/editors/vscode/generic.nix
  4. 4
      pkgs/applications/editors/vscode/vscodium.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 {};

@ -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")
'';
})

@ -3,6 +3,9 @@
, gtk2, atomEnv, at-spi2-atk, autoPatchelfHook
, systemd, fontconfig, libdbusmenu
# Populate passthru.tests
, tests
# Attributes inherit from specific versions
, version, src, meta, sourceRoot
, executableName, longName, shortName, pname
@ -16,7 +19,7 @@ in
inherit pname version src sourceRoot;
passthru = {
inherit executableName;
inherit executableName tests;
};
desktopItem = makeDesktopItem {

@ -1,4 +1,4 @@
{ lib, stdenv, callPackage, fetchurl }:
{ lib, stdenv, callPackage, fetchurl, nixosTests }:
let
inherit (stdenv.hostPlatform) system;
@ -45,6 +45,8 @@ in
inherit sha256;
};
tests = nixosTests.vscodium;
meta = with lib; {
description = ''
Open source source code editor developed by Microsoft for Windows,

Loading…
Cancel
Save