nixpkgs/nixos/tests/novacomd.nix

35 lines
1,022 B
Nix
Raw Normal View History

2018-02-20 17:03:49 +00:00
import ./make-test.nix ({ pkgs, ...} : {
name = "novacomd";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ dtzWill ];
};
machine = { ... }: {
2018-02-20 17:03:49 +00:00
services.novacomd.enable = true;
};
testScript = ''
$machine->waitForUnit("multi-user.target");
2018-02-20 17:03:49 +00:00
# multi-user.target wants novacomd.service, but let's make sure
2018-02-20 17:03:49 +00:00
$machine->waitForUnit("novacomd.service");
# Check status and try connecting with novacom
$machine->succeed("systemctl status novacomd.service >&2");
# to prevent non-deterministic failure,
# make sure the daemon is really listening
$machine->waitForOpenPort(6968);
2018-02-20 17:03:49 +00:00
$machine->succeed("novacom -l");
# Stop the daemon, double-check novacom fails if daemon isn't working
$machine->stopJob("novacomd");
$machine->fail("novacom -l");
# And back again for good measure
$machine->startJob("novacomd");
# make sure the daemon is really listening
$machine->waitForOpenPort(6968);
2018-02-20 17:03:49 +00:00
$machine->succeed("novacom -l");
'';
})