summary refs log blame commit diff
path: root/nixos/tests/logrotate.nix
blob: 0f6b59f071d452e844fa7636f3b74f9f23a9dfb8 (plain) (tree)


































                                                                             
# Test logrotate service works and is enabled by default

import ./make-test-python.nix ({ pkgs, ...} : rec {
  name = "logrotate";
  meta = with pkgs.lib.maintainers; {
    maintainers = [ martinetd ];
  };

  # default machine
  machine = { ... }: {
  };

  testScript =
    ''
      with subtest("whether logrotate works"):
          machine.succeed(
              # we must rotate once first to create logrotate stamp
              "systemctl start --wait logrotate.service",

              # wtmp is present in default config.
              "rm -f /var/log/wtmp*",
              "echo test > /var/log/wtmp",

              # move into the future and rotate
              "date -s 'now + 1 month + 1 day'",
              # systemd will run logrotate from logrotate.timer automatically
              # on date change, but if we want to wait for it to terminate
              # it's easier to run again...
              "systemctl start --wait logrotate.service",

              # check rotate worked
              "[ -e /var/log/wtmp.1 ]",
          )
    '';
})