nixpkgs/nixos/tests/iftop.nix
2023-05-12 22:29:28 -03:00

31 lines
975 B
Nix

import ./make-test-python.nix ({ pkgs, lib, ... }:
{
name = "iftop";
meta.maintainers = with lib.maintainers; [ ma27 ];
nodes = {
withIftop = {
imports = [ ./common/user-account.nix ];
programs.iftop.enable = true;
};
withoutIftop = {
imports = [ ./common/user-account.nix ];
environment.systemPackages = [ pkgs.iftop ];
};
};
testScript = ''
with subtest("machine with iftop enabled"):
withIftop.wait_for_unit("default.target")
# limit to eth1 (eth0 is the test driver's control interface)
# and don't try name lookups
withIftop.succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'")
with subtest("machine without iftop"):
withoutIftop.wait_for_unit("default.target")
# check that iftop is there but user alice lacks capabilitie
withoutIftop.succeed("iftop -t -s 1 -n -i eth1")
withoutIftop.fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'")
'';
})