python3Packages.xknx: 1.1.0 -> 1.2.0
[NixPkgs.git] / nixos / tests / all-terminfo.nix
blobdd47c66ee1c1eda8c6135fc967e7593802c94452
1 import ./make-test-python.nix ({ pkgs, ... }: rec {
2   name = "all-terminfo";
3   meta = with pkgs.lib.maintainers; {
4     maintainers = [ jkarlson ];
5   };
7   nodes.machine = { pkgs, config, lib, ... }:
8     let
9       infoFilter = name: drv:
10         let
11           o = builtins.tryEval drv;
12         in
13         o.success && lib.isDerivation o.value && o.value ? outputs && builtins.elem "terminfo" o.value.outputs;
14       terminfos = lib.filterAttrs infoFilter pkgs;
15       excludedTerminfos = lib.filterAttrs (_: drv: !(builtins.elem drv.terminfo config.environment.systemPackages)) terminfos;
16       includedOuts = lib.filterAttrs (_: drv: builtins.elem drv.out config.environment.systemPackages) terminfos;
17     in
18     {
19       environment = {
20         enableAllTerminfo = true;
21         etc."terminfo-missing".text = builtins.concatStringsSep "\n" (builtins.attrNames excludedTerminfos);
22         etc."terminfo-extra-outs".text = builtins.concatStringsSep "\n" (builtins.attrNames includedOuts);
23       };
24     };
26   testScript =
27     ''
28       machine.fail("grep . /etc/terminfo-missing >&2")
29       machine.fail("grep . /etc/terminfo-extra-outs >&2")
30     '';