vuls: init at 0.27.0
[NixPkgs.git] / nixos / tests / all-terminfo.nix
blob2f5e56f09f26bd3059eb85967a4d7f0170e4131a
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 &&
14         lib.isDerivation o.value &&
15         o.value ? outputs &&
16         builtins.elem "terminfo" o.value.outputs &&
17         !o.value.meta.broken;
18       terminfos = lib.filterAttrs infoFilter pkgs;
19       excludedTerminfos = lib.filterAttrs (_: drv: !(builtins.elem drv.terminfo config.environment.systemPackages)) terminfos;
20       includedOuts = lib.filterAttrs (_: drv: builtins.elem drv.out config.environment.systemPackages) terminfos;
21     in
22     {
23       environment = {
24         enableAllTerminfo = true;
25         etc."terminfo-missing".text = builtins.concatStringsSep "\n" (builtins.attrNames excludedTerminfos);
26         etc."terminfo-extra-outs".text = builtins.concatStringsSep "\n" (builtins.attrNames includedOuts);
27       };
28     };
30   testScript =
31     ''
32       machine.fail("grep . /etc/terminfo-missing >&2")
33       machine.fail("grep . /etc/terminfo-extra-outs >&2")
34     '';