os-autoinst-distri-fedora/tests/_console_avc_crash.pm

41 lines
1.3 KiB
Perl

use base "installedtest";
use strict;
use utils;
use testapi;
sub run {
my $self = shift;
$self->root_console(tty => 3, timeout => 30);
# if this is a non-English, non-switched layout, load US layout
# at this point
# FIXME: this is all kind of a mess, as on such configs we need
# native layout to log in to a console but US layout to type
# anything at a console. the more advanced upstream 'console'
# handling may help us here if we switch to it
console_loadkeys_us;
# check there are no AVCs. We expect an error here: if we don't
# get an error, it means there *are* AVCs.
my $hook_run = 0;
unless (script_run 'ausearch -m avc -ts yesterday > /tmp/avcs.txt 2>&1') {
record_soft_failure "AVC(s) found (see avcs.txt log)";
upload_logs "/tmp/avcs.txt";
# Run the post-fail hook so we have all the logs
$self->post_fail_hook();
$hook_run = 1;
}
# check there are no crashes. Similarly expect an error here
unless (script_run 'coredumpctl list > /tmp/coredumps.txt 2>&1') {
record_soft_failure "Crash(es) found (see coredumps.txt log)";
upload_logs "/tmp/coredumps.txt";
$self->post_fail_hook() unless ($hook_run);
}
}
sub test_flags {
return {fatal => 1};
}
1;
# vim: set sw=4 et: