mirror of
https://github.com/rocky-linux/os-autoinst-distri-rocky.git
synced 2024-11-16 02:01:25 +00:00
461f3a6132
Summary: This adds some logging related to the update testing workflow, so we have some idea what we actually tested. We log precisely which packages were actually downloaded from the update - this is important as updates can be edited and when examining results we'll want to know which packages actually got used. We also add a new module which runs at the end of postinstall and tries to figure out which packages from the update were installed in the course of the test. This still isn't a guarantee the test actually *tested them* in any way, but it at least means they got installed successfully and didn't interfere with the test. Test Plan: Run the update test workflow, check the logs get uploaded and seem accurate (sometimes some RPM garbage messages wind up in the package log, I'm not too worried about that at present). Run the compose test workflow and check it didn't break. Reviewers: jsedlak Reviewed By: jsedlak Subscribers: tflink Differential Revision: https://phab.qa.fedoraproject.org/D1149
29 lines
996 B
Perl
29 lines
996 B
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use utils;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
# figure out which packages from the update actually got installed
|
|
# (if any) as part of this test
|
|
$self->root_console(tty=>3);
|
|
assert_script_run 'rpm -qa --qf "%{SOURCERPM} %{EPOCH} %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -u > /tmp/allpkgs.txt';
|
|
# this finds lines which appear in both files
|
|
# http://www.unix.com/unix-for-dummies-questions-and-answers/34549-find-matching-lines-between-2-files.html
|
|
assert_script_run 'comm -12 /tmp/allpkgs.txt /var/log/updatepkgs.txt > /var/log/testedpkgs.txt';
|
|
upload_logs "/var/log/testedpkgs.txt";
|
|
}
|
|
|
|
sub test_flags {
|
|
# without anything - rollback to 'lastgood' snapshot if failed
|
|
# 'fatal' - whole test suite is in danger if this fails
|
|
# 'milestone' - after this test succeeds, update 'lastgood'
|
|
# 'important' - if this fails, set the overall state to 'fail'
|
|
return { fatal => 1 };
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|