FIX: release_identification for Rocky Linux 9 #116

Merged
tcooper merged 8 commits from release_ident_9 into 9.0_release_fixes 2022-07-01 22:33:02 +00:00
25 changed files with 201 additions and 19 deletions

View File

@ -5,9 +5,10 @@ use strict;
use base 'Exporter'; use base 'Exporter';
use Exporter; use Exporter;
use feature "switch";
use lockapi; use lockapi;
use testapi; use testapi;
our @EXPORT = qw/run_with_error_check type_safely type_very_safely desktop_vt boot_to_login_screen console_login console_switch_layout desktop_switch_layout console_loadkeys_us do_bootloader boot_decrypt check_release menu_launch_type repo_setup setup_workaround_repo cleanup_workaround_repo console_initial_setup handle_welcome_screen gnome_initial_setup anaconda_create_user check_desktop download_modularity_tests quit_firefox advisory_get_installed_packages advisory_check_nonmatching_packages start_with_launcher quit_with_shortcut lo_dismiss_tip disable_firefox_studies select_rescue_mode copy_devcdrom_as_isofile get_release_number check_left_bar check_top_bar check_prerelease check_version spell_version_number _assert_and_click is_branched rec_log click_unwanted_notifications repos_mirrorlist register_application get_registered_applications solidify_wallpaper/; our @EXPORT = qw/run_with_error_check type_safely type_very_safely desktop_vt boot_to_login_screen console_login console_switch_layout desktop_switch_layout console_loadkeys_us do_bootloader boot_decrypt check_release menu_launch_type repo_setup setup_workaround_repo cleanup_workaround_repo console_initial_setup handle_welcome_screen gnome_initial_setup anaconda_create_user check_desktop download_modularity_tests quit_firefox advisory_get_installed_packages advisory_check_nonmatching_packages start_with_launcher quit_with_shortcut lo_dismiss_tip disable_firefox_studies select_rescue_mode copy_devcdrom_as_isofile get_release_number get_code_name check_left_bar check_top_bar check_prerelease check_version spell_version_number _assert_and_click is_branched rec_log click_unwanted_notifications repos_mirrorlist register_application get_registered_applications solidify_wallpaper/;
# We introduce this global variable to hold the list of applications that have # We introduce this global variable to hold the list of applications that have
# registered during the apps_startstop_test when they have sucessfully run. # registered during the apps_startstop_test when they have sucessfully run.
@ -62,6 +63,22 @@ sub get_release_number {
return $version return $version
} }
sub get_code_name {
my $code_name = 'Green Obsidian';
my $version = get_var('VERSION');
my $ver_major = substr($version, 0, index($version, q/./));
given($ver_major){
when ('9') { $code_name = 'Blue Onyx'; }
when ('10') { $code_name = 'Smoky Quartz'; }
when ('11') { $code_name = 'Lavender Calcite'; }
default{
$code_name = 'Green Obsidian';
}
}
return $code_name;
}
# Figure out what tty the desktop is on, switch to it. Assumes we're # Figure out what tty the desktop is on, switch to it. Assumes we're
# at a root console # at a root console
sub desktop_vt { sub desktop_vt {
@ -1360,8 +1377,8 @@ sub register_application {
} }
# The KDE desktop tests are very difficult to maintain, because the transparency # The KDE desktop tests are very difficult to maintain, because the transparency
# of the menu requires a lot of different needles to cover the elements. # of the menu requires a lot of different needles to cover the elements.
# Therefore it is useful to change the background to a solid colour. # Therefore it is useful to change the background to a solid colour.
# Since many needles have been already created with a black background # Since many needles have been already created with a black background
# we will keep it that way. The following code has been taken from the # we will keep it that way. The following code has been taken from the
# KDE startstop tests but it is good to have it here, because it will be # KDE startstop tests but it is good to have it here, because it will be

View File

@ -0,0 +1,16 @@
{
"area": [
{
"height": 35,
"xpos": 9,
"width": 384,
"type": "match",
"ypos": 126
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"anaconda_help_create_user"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"height": 21,
"xpos": 38,
"width": 195,
"type": "match",
"ypos": 102
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"anaconda_help_language_support"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"type": "match",
"ypos": 292,
"xpos": 21,
"width": 400,
"height": 20
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"anaconda_help_localization_link"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"height": 35,
"width": 454,
"xpos": 8,
"ypos": 125,
"type": "match"
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"anaconda_help_root_password"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"height": 36,
"width": 488,
"xpos": 7,
"ypos": 125,
"type": "match"
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"anaconda_help_select_packages"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"ypos": 263,
"type": "match",
"width": 225,
"xpos": 38,
"height": 20
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"anaconda_help_time_date"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

View File

@ -0,0 +1,17 @@
{
"area": [
{
"height": 31,
"type": "match",
"ypos": 621,
"xpos": 33,
"width": 35
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"LANGUAGE-english",
"anaconda_custom_part_add"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"xpos": 394,
"width": 74,
"type": "match",
"ypos": 147,
"height": 22
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"device_root_resized_twelve"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"width": 45,
"xpos": 775,
"ypos": 472,
"type": "match",
"height": 19
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"anaconda_part_fs_ext4"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -0,0 +1,16 @@
{
"area": [
{
"type": "match",
"ypos": 381,
"xpos": 39,
"width": 90,
"height": 18
}
],
"properties": [],
"tags": [
"ENV-DISTRI-rocky",
"anaconda_part_use_current"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -39,18 +39,22 @@ sub run {
# $NAME is "Rocky Linux" not just "Rocky" # $NAME is "Rocky Linux" not just "Rocky"
my $fullname = $name . " Linux"; my $fullname = $name . " Linux";
my $version_id = get_var("VERSION"); # Should be the version number. my $version_id = get_var("VERSION"); # Should be the version number.
my ($ver_major, $ver_minor) = split /\./, $version_id; my $ver_major = substr($version_id, 0, index($version_id, q/./));
my $varstr = spell_version_number($version_id); my $ver_minor = substr($version_id, index($version_id, q/./), length($version_id));
my $target = lc($ver_major); my $target = lc($ver_major);
if ( $ver_major = '9' ) {
$target = lc($version_id);
}
my $reltag = script_output 'rpm -q rocky-release --qf "%{RELEASE}\n"'; my $reltag = script_output 'rpm -q rocky-release --qf "%{RELEASE}\n"';
my ($relver, $eltag) = split /\./, $reltag; my $relver = substr($reltag, 0, rindex($reltag, q/./));
my $eltag = substr($reltag, rindex($reltag, q/./)+1, length($reltag));
my $code_name = get_var("CODENAME", 'Green Obsidian'); my $code_name = get_code_name();
my $version = "$version_id ($code_name)"; my $version = "$version_id ($code_name)";
my $platform_id = "platform:$eltag"; my $platform_id = "platform:$eltag";
my $pretty = "$fullname $version_id ($code_name)"; my $pretty = "$fullname $version_id ($code_name)";
#Now. we can start testing the real values from the installed system. #Now. we can start testing the real values from the installed system.
my @fails = (); my @fails = ();
@ -65,7 +69,7 @@ sub run {
rec_log "VERSION should be $version and is $strip", $strip eq $version, $failref; rec_log "VERSION should be $version and is $strip", $strip eq $version, $failref;
# Test for version_id # Test for version_id
$strip = strip_marks($content{'VERSION_ID'}); $strip = strip_marks($content{'VERSION_ID'});
rec_log "VERSION_ID should be $version_id and is $strip", $strip eq $version_id, $failref; rec_log "VERSION_ID should be $version_id and is $strip", $strip eq $version_id, $failref;
# Test for platform_id # Test for platform_id
@ -78,10 +82,14 @@ sub run {
# Test for Rocky Support Product # Test for Rocky Support Product
$strip = strip_marks($content{'ROCKY_SUPPORT_PRODUCT'}); $strip = strip_marks($content{'ROCKY_SUPPORT_PRODUCT'});
rec_log "ROCKY_SUPPORT_PRODUCT should be $name and is $strip", $strip eq $fullname, $failref; if ( $ver_major = '9' ) {
$fullname = qq/$fullname $ver_major/;
$fullname =~ s/ /-/g;
}
rec_log "ROCKY_SUPPORT_PRODUCT should be $fullname and is $strip", $strip eq $fullname, $failref;
# Test for Rocky Support Product Version # Test for Rocky Support Product Version
$strip = strip_marks($content{ROCKY_SUPPORT_PRODUCT_VERSION}); $strip = strip_marks($content{ROCKY_SUPPORT_PRODUCT_VERSION});
rec_log "ROCKY_SUPPORT_PRODUCT_VERSION should be $target and is $strip", $strip eq $target, $failref; rec_log "ROCKY_SUPPORT_PRODUCT_VERSION should be $target and is $strip", $strip eq $target, $failref;
# VERSION_ID should be 8.4 and is "8.4" # VERSION_ID should be 8.4 and is "8.4"
@ -89,10 +97,6 @@ sub run {
# ROCKY_SUPPORT_PRODUCT should be Rocky and is Rocky Linux # ROCKY_SUPPORT_PRODUCT should be Rocky and is Rocky Linux
# ROCKY_SUPPORT_PRODUCT_VERSION should be and is 8 at /var/lib/openqa/share/tests/rocky/tests/os_release.pm line 95. # ROCKY_SUPPORT_PRODUCT_VERSION should be and is 8 at /var/lib/openqa/share/tests/rocky/tests/os_release.pm line 95.
# Check for fails, count them, collect their messages and die if something was found. # Check for fails, count them, collect their messages and die if something was found.
my $failcount = scalar @fails; my $failcount = scalar @fails;
script_run "echo \"There were $failcount failures in total.\" >> /tmp/os-release.log"; script_run "echo \"There were $failcount failures in total.\" >> /tmp/os-release.log";

View File

@ -20,7 +20,7 @@ sub run {
# Version as defined in the VERSION variable. # Version as defined in the VERSION variable.
my $expectver = get_var('VERSION'); my $expectver = get_var('VERSION');
# Code Name as defined in the CODENAME variable or default. # Code Name as defined in the CODENAME variable or default.
my $code_name = get_var('CODENAME', "Green Obsidian"); my $code_name = get_code_name();
# Create the expected content of the release file # Create the expected content of the release file
# and compare it with its real counterpart. # and compare it with its real counterpart.
my $expected = "Rocky Linux release $expectver ($code_name)"; my $expected = "Rocky Linux release $expectver ($code_name)";