mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-09-12 11:27:21 +00:00
This adds a new script - cleanup-needles.py - to use for cleaning up old needles. It has to be used in conjunction with a database query; the comment at the top explains how to do that query and export the needed information. It produces a git commit with needles that haven't matched since a certain date (specified in the sql query) removed, subject to a 'keeplist' of needles we keep even if they seem to be old. I also enhanced check-needles.py to check for cases where tests seem to be trying to match a tag we have no needles for. This was necessary to find cases where the cleanup script was too aggressive (i.e. the things that wound up in the 'keeplist'), but it also turned out to find quite a lot of cases where the code really *was* looking for a needle that had gone in a previous cleanup or that never existed; the commits before this one clean up a lot of those cases. The code to decide which string literals are needle tags is pretty dumb and hacky and needs some manual cueing sometimes - that's what the `# testtag` changes in this commit are for. Making it smarter would probably require this script to get a lot more complicated and either incorporate or become a tokenizer, which I don't really want to do. Signed-off-by: Adam Williamson <awilliam@redhat.com>
65 lines
1.9 KiB
Perl
65 lines
1.9 KiB
Perl
use base "anacondatest";
|
|
use strict;
|
|
use testapi;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
# Anaconda hub
|
|
assert_screen "anaconda_main_hub", 300;
|
|
|
|
# Select package set. Minimal is the default, if 'default' is specified, skip selection,
|
|
# but verify correct default in some cases
|
|
my $packageset = get_var('PACKAGE_SET', 'minimal');
|
|
if ($packageset eq 'default') {
|
|
# we can't or don't want to check the selected package set in this case
|
|
return if (get_var('CANNED') || get_var('LIVE') || get_var('MEMCHECK'));
|
|
$self->root_console;
|
|
my $env = 'custom-environment';
|
|
if (get_var('SUBVARIANT') eq 'Server') {
|
|
$env = 'server-product-environment';
|
|
}
|
|
elsif (get_var('SUBVARIANT') eq 'Workstation') {
|
|
$env = 'workstation-product-environment';
|
|
}
|
|
# line looks like:
|
|
# 07:40:26,614 DBG ui.lib.software: Selecting the 'custom-environment' environment.
|
|
assert_script_run "grep 'Selecting the.*environment' /tmp/anaconda.log /tmp/packaging.log | tail -1 | grep $env";
|
|
send_key "ctrl-alt-f6";
|
|
assert_screen "anaconda_main_hub", 30;
|
|
return;
|
|
}
|
|
|
|
assert_and_click "anaconda_main_hub_select_packages";
|
|
|
|
# Focus on "base environment" list
|
|
send_key "tab";
|
|
wait_still_screen 1;
|
|
send_key "tab";
|
|
wait_still_screen 1;
|
|
|
|
# select desired environment
|
|
# go through the list 20 times at max (to prevent infinite loop when it's missing)
|
|
for (my $i = 0; !check_screen("anaconda_${packageset}_highlighted", 1) && $i < 20; $i++) {
|
|
send_key "down";
|
|
}
|
|
|
|
send_key "spc";
|
|
|
|
# check that desired environment is selected
|
|
assert_screen "anaconda_${packageset}_selected";
|
|
|
|
assert_and_click "anaconda_spoke_done";
|
|
|
|
# Anaconda hub
|
|
assert_screen "anaconda_main_hub", 50;
|
|
|
|
}
|
|
|
|
sub test_flags {
|
|
return {fatal => 1};
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|