nixos/tests/archi: init smoke tests for Archi

paumr f561320b d4f9180a

Changed files
+36
nixos
pkgs
tools
misc
archi
+1
nixos/tests/all-tests.nix
···
apfs = runTest ./apfs.nix;
appliance-repart-image = runTest ./appliance-repart-image.nix;
apparmor = handleTest ./apparmor.nix {};
+
archi = handleTest ./archi.nix {};
atd = handleTest ./atd.nix {};
atop = handleTest ./atop.nix {};
atuin = handleTest ./atuin.nix {};
+31
nixos/tests/archi.nix
···
+
import ./make-test-python.nix ({ lib, ... }: {
+
name = "archi";
+
meta.maintainers = with lib.maintainers; [ paumr ];
+
+
nodes.machine = { pkgs, ... }: {
+
imports = [
+
./common/x11.nix
+
];
+
+
environment.systemPackages = with pkgs; [ archi ];
+
};
+
+
enableOCR = true;
+
+
testScript = ''
+
machine.wait_for_x()
+
+
with subtest("createEmptyModel via CLI"):
+
machine.succeed("Archi -application com.archimatetool.commandline.app -consoleLog -nosplash --createEmptyModel --saveModel smoke.archimate")
+
machine.copy_from_vm("smoke.archimate", "")
+
+
with subtest("UI smoketest"):
+
machine.succeed("DISPLAY=:0 Archi --createEmptyModel >&2 &")
+
machine.wait_for_window("Archi")
+
+
# wait till main UI is open
+
machine.wait_for_text("Welcome to Archi")
+
+
machine.screenshot("welcome-screen")
+
'';
+
})
+4
pkgs/tools/misc/archi/default.nix
···
, webkitgtk
, wrapGAppsHook
, _7zz
+
, archi
+
, nixosTests
}:
stdenv.mkDerivation rec {
···
mkdir -p "$out/Applications"
mv Archi.app "$out/Applications/"
'';
+
+
passthru.tests = { inherit (nixosTests) archi; };
meta = with lib; {
description = "ArchiMate modelling toolkit";