nixosTests.installed-tests: allow passing extra makeTest args

For example, extra meta tags.
This commit is contained in:
Jan Tojnar 2019-12-05 23:53:46 +01:00
parent 175359cfac
commit 973c2fcf3d
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4

View file

@ -29,36 +29,51 @@ let
# Extra flags to pass to gnome-desktop-testing-runner.
, testRunnerFlags ? ""
}:
makeTest rec {
name = tested.name;
meta = {
maintainers = tested.meta.maintainers;
};
# Extra attributes to pass to makeTest.
# They will be recursively merged into the attrset created by this function.
, ...
}@args:
makeTest
(recursiveUpdate
rec {
name = tested.name;
machine = { ... }: {
imports = [
testConfig
] ++ optional withX11 ../common/x11.nix;
meta = {
maintainers = tested.meta.maintainers;
};
environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
machine = { ... }: {
imports = [
testConfig
] ++ optional withX11 ../common/x11.nix;
};
environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
testScript =
optionalString withX11 ''
machine.wait_for_x()
'' +
optionalString (preTestScript != "") ''
${preTestScript}
'' +
''
machine.succeed(
"gnome-desktop-testing-runner ${testRunnerFlags} -d '${tested.installedTests}/share'"
)
'';
};
};
testScript =
optionalString withX11 ''
machine.wait_for_x()
'' +
optionalString (preTestScript != "") ''
${preTestScript}
'' +
''
machine.succeed(
"gnome-desktop-testing-runner ${testRunnerFlags} -d '${tested.installedTests}/share'"
)
'';
}
(removeAttrs args [
"tested"
"testConfig"
"preTestScript"
"withX11"
"testRunnerFlags"
])
);
in