Compare commits

...

4 Commits

Author SHA1 Message Date
Adam Williamson 5698525cc7 Enable the buildroot repository for Rawhide update tests
Per discussion at https://pagure.io/fedora-ci/general/issue/376
it really feels like this is the right thing to do. There are no
buildroot overrides for Rawhide, so we don't have to worry about
cross-pollution. The buildroot repo only contains builds that
have been tagged stable since the most recent Rawhide compose,
and thus will go into the next one. It makes sense to test later
updates against these. This avoids issues like:
https://openqa.fedoraproject.org/tests/overview?distri=fedora&version=38&build=Update-FEDORA-2022-30a952e331&groupid=2
where the tests of an update failed because it requires another
update which had been submitted and tagged stable previously, but
after the last compose.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-08 14:28:09 -08:00
Adam Williamson f752b4c00a Don't snapshot after wait_login tests (usually)
We currently snapshot after every run of _console_wait_login or
_graphical_wait_login, which means we snapshot *twice* on most
update tests as those modules get run twice. However, we almost
never use those snapshots. Snapshotting takes quite some time,
and hits the disk pretty hard, so we should avoid it unless it
is really needed.

We only have a few modules that are not fatal (and so might use
the snapshots), and most of those don't run after one of these
tests, or run after a later module that's also a milestone. Best
I can tell, only two test suites really need to use a snapshot
from a login test: server_cockpit_updates and modularity_tests.
To handle these and potential future cases, we'll add a new
module that does nothing, but is marked 'milestone', so it will
take a snapshot, and load that test after the login test if the
var LOGIN_SNAPSHOT is set, and set that var for those two suites.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-08 09:59:23 -08:00
Adam Williamson 27a45493e1 Just remove abrt_runs_found_problem needle
it's really just a dupe of the -problems needles, it turns out,
Lukas was reinventing that wheel. He had to add another one
today because I broke the JSON in this one when I was simplifying
it yesterday, but I think this one on the new -problems needle
are really just dupes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-08 09:53:34 -08:00
Lukáš Růžička b4d6d73c47 Add another needle for Abrt as font has changed again. 2022-12-08 17:32:21 +01:00
11 changed files with 51 additions and 25 deletions

View File

@ -556,6 +556,7 @@ sub _repo_setup_updates {
return if (get_var("_ADVISORY_REPO_DONE"));
my $version = get_var("VERSION");
my $currrel = get_var("CURRREL", "0");
my $arch = get_var("ARCH");
# this can be used for debugging repo config if something is wrong
# unless (script_run 'pushd /etc/yum.repos.d && tar czvf yumreposd.tar.gz * && popd') {
# upload_logs "/etc/yum.repos.d/yumreposd.tar.gz";
@ -590,6 +591,11 @@ sub _repo_setup_updates {
repos_mirrorlist();
# Disable updates-testing so other bad updates don't break us
disable_updates_repos(both => 0) if ($version > $currrel);
# use the buildroot repo on Rawhide: see e.g.
# https://pagure.io/fedora-ci/general/issue/376 for why
if (get_var("VERSION") eq get_var("RAWREL")) {
assert_script_run 'printf "[koji-rawhide]\nname=koji-rawhide\nbaseurl=https://kojipkgs.fedoraproject.org/repos/rawhide/latest/' . $arch . '/\ncost=2000\nenabled=1\ngpgcheck=0\n" > /etc/yum.repos.d/koji-rawhide.repo';
}
# set up the workaround repo
setup_workaround_repo;
if (get_var("CANNED")) {
@ -622,7 +628,7 @@ sub _repo_setup_updates {
my $kojitime = 600;
# texlive has a ridiculous number of subpackages
$kojitime = 1500 if ((rindex $nvr, "texlive", 0) == 0);
if (script_run "koji download-build --arch=" . get_var("ARCH") . " --arch=noarch $nvr 2> download.log", $kojitime) {
if (script_run "koji download-build --arch=$arch --arch=noarch $nvr 2> download.log", $kojitime) {
# if the error was because the build has no packages
# for our arch, that's okay, skip it. otherwise, die
if (script_run "grep 'No .*available for $nvr' download.log") {
@ -633,7 +639,7 @@ sub _repo_setup_updates {
}
elsif (get_var("KOJITASK")) {
# Koji task case (KOJITASK will be set)
assert_script_run "koji download-task --arch=" . get_var("ARCH") . " --arch=noarch " . get_var("KOJITASK"), 600;
assert_script_run "koji download-task --arch=$arch --arch=noarch " . get_var("KOJITASK"), 600;
}
else {
die "Neither ADVISORY_NVRS nor KOJITASK set! Don't know what to do";

View File

@ -246,6 +246,7 @@ sub _load_early_postinstall_tests {
# Appropriate login method for install type
if (get_var("DESKTOP")) {
_load_instance("tests/_graphical_wait_login", $instance);
_load_instance("tests/_snapshot_only") if (get_var("LOGIN_SNAPSHOT"));
}
# Test non-US input at this point, on language tests
if (get_var("SWITCHED_LAYOUT") || get_var("INPUT_METHOD")) {
@ -261,6 +262,7 @@ sub _load_early_postinstall_tests {
# the installation is interrupted on purpose.
unless (get_var("DESKTOP") || get_var("CRASH_REPORT")) {
_load_instance("tests/_console_wait_login", $instance);
_load_instance("tests/_snapshot_only") if (get_var("LOGIN_SNAPSHOT"));
}
}

View File

@ -0,0 +1,20 @@
{
"area": [
{
"xpos": 364,
"type": "match",
"width": 88,
"height": 15,
"ypos": 232
}
],
"properties": [
{
"value": "workaround for bug 2060540 (window is too large for screen). this needle version is for when there *is* a crash",
"name": "workaround"
}
],
"tags": [
"abrt_runs"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -1,20 +0,0 @@
{
"properties": [
{
"name": "workaround",
"value": "Abrt reported issues"
}
],
"tags": [
"abrt_runs",
],
"area": [
{
"xpos": 394,
"ypos": 231,
"width": 63,
"height": 17,
"type": "match"
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

View File

@ -2237,6 +2237,7 @@
"settings": {
"BOOTFROM": "c",
"HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2",
"LOGIN_SNAPSHOT": "1",
"POSTINSTALL": "modularity_module_list modularity_enable_disable_module modularity_install_module",
"ROOT_PASSWORD": "weakpassword",
"START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%",
@ -2385,6 +2386,7 @@
"+HDD_1": "disk_%MACHINE%_cockpit.qcow2",
"+START_AFTER_TEST": "server_cockpit_default",
"BOOTFROM": "c",
"LOGIN_SNAPSHOT": "1",
"POSTINSTALL": "server_cockpit_updates server_cockpit_autoupdate",
"ROOT_PASSWORD": "weakpassword",
"USER_LOGIN": "false"

View File

@ -32,7 +32,7 @@ sub run {
}
sub test_flags {
return {};
return {fatal => 1};
}
1;

View File

@ -37,7 +37,7 @@ sub run {
}
sub test_flags {
return {fatal => 1, milestone => 1};
return {fatal => 1};
}
1;

View File

@ -121,7 +121,7 @@ sub run {
}
sub test_flags {
return {fatal => 1, milestone => 1};
return {fatal => 1};
}
1;

16
tests/_snapshot_only.pm Normal file
View File

@ -0,0 +1,16 @@
use base "installedtest";
use strict;
use testapi;
use utils;
sub run {
my $self = shift;
}
sub test_flags {
return {fatal => 1, milestone => 1};
}
1;
# vim: set sw=4 et: