use base "installedtest"; use strict; use testapi; use utils; sub run { my $self = shift; # switch to TTY3 for both, graphical and console tests $self->root_console(tty => 3); # we could make this slightly more 'efficient' by assuming chronyd # is always going to be enabled/running at first, but it's safer # to force an expected starting state. script_run "systemctl stop chronyd.service"; script_run "systemctl disable chronyd.service"; script_run "reboot", 0; boot_to_login_screen; $self->root_console(tty => 3); # note the use of ! here is a bash-ism, but it sure makes life easier assert_script_run '! systemctl is-enabled chronyd.service'; assert_script_run '! systemctl is-active chronyd.service'; assert_script_run '! ps -C chronyd'; script_run "systemctl start chronyd.service"; assert_script_run '! systemctl is-enabled chronyd.service'; assert_script_run 'systemctl is-active chronyd.service'; assert_script_run 'ps -C chronyd'; script_run "systemctl stop chronyd.service"; assert_script_run '! systemctl is-enabled chronyd.service'; assert_script_run '! systemctl is-active chronyd.service'; assert_script_run '! ps -C chronyd'; script_run "systemctl enable chronyd.service"; assert_script_run 'systemctl is-enabled chronyd.service'; assert_script_run '! systemctl is-active chronyd.service'; assert_script_run '! ps -C chronyd'; script_run "reboot", 0; boot_to_login_screen; $self->root_console(tty => 3); assert_script_run 'systemctl is-enabled chronyd.service'; assert_script_run 'systemctl is-active chronyd.service'; assert_script_run 'ps -C chronyd'; script_run "systemctl disable chronyd.service"; script_run "reboot", 0; boot_to_login_screen; $self->root_console(tty => 3); assert_script_run '! systemctl is-enabled chronyd.service'; assert_script_run '! systemctl is-active chronyd.service'; assert_script_run '! ps -C chronyd'; } sub test_flags { return {fatal => 1}; } 1; # vim: set sw=4 et: