summaryrefslogtreecommitdiffstats
path: root/nixos/tests/e57inspector.nix
blob: 91c4bb90e996cc728b37b124d9376e9dfbd32003 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{ pkgs, runTest }:
let
  testFile = pkgs.fetchurl {
    url = "https://raw.githubusercontent.com/asmaloney/libE57Format-test-data/bbcacec05d60f923869545c5eab33d94c390d50e/self/ColouredCubeFloat.e57";
    hash = "sha256-bb95crNYvX3Qhkx4k6Sqe2GjOf1u4nxxswMfdjyXfTM=";
  };

  vmTest = runTest {
    name = "e57inspector-vm";
    meta.maintainers = with pkgs.lib.maintainers; [
      nh2
      chpatrick
    ];

    nodes.machine =
      { ... }:
      {
        imports = [
          ./common/x11.nix
        ];

        services.xserver.enable = true;
        environment.systemPackages = [
          pkgs.e57inspector
        ];
      };
    enableOCR = true;

    testScript = ''
      start_all()
      machine.wait_for_x()

      machine.execute("e57inspector ${testFile} >&2 &")
      machine.wait_for_text("File")  # menu visible

      machine.screenshot("screen.png")
    '';
  };
in
{
  vm = vmTest;

  screenshot-analysis = pkgs.callPackage ./vlm-screenshot-question.nix {
    name = "e57inspector-screenshot-analysis";
    screenshot = "${vmTest}/screen.png";
    question = ''
      Look at this screenshot of a desktop application.
      Answer: Does the application show that a file was loaded into it successfully?
      For this, only scans matter, as there are no images in the file.
      The inspector on the left should show child elements below 'Data 3D'.
    '';
  };
}