mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2025-01-08 14:40:07 +03:00
vscode/vscodium: Add integration test
This commit is contained in:
parent
3ed5570514
commit
10b3773db0
@ -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 {};
|
||||
|
62
nixos/tests/vscodium.nix
Normal file
62
nixos/tests/vscodium.nix
Normal file
@ -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…
Reference in New Issue
Block a user