diff --git a/needles/gnome/apps/apps_connections_nothanks.json b/needles/gnome/apps/apps_connections_nothanks.json new file mode 100644 index 00000000..5d39a206 --- /dev/null +++ b/needles/gnome/apps/apps_connections_nothanks.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 475, + "ypos": 595, + "width": 77, + "height": 22, + "type": "match" + } + ], + "properties": [], + "tags": [ + "apps_connections_nothanks" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_connections_nothanks.png b/needles/gnome/apps/apps_connections_nothanks.png new file mode 100644 index 00000000..3a213c5d Binary files /dev/null and b/needles/gnome/apps/apps_connections_nothanks.png differ diff --git a/needles/gnome/apps/apps_connections_popup.json b/needles/gnome/apps/apps_connections_popup.json new file mode 100644 index 00000000..ecd512de --- /dev/null +++ b/needles/gnome/apps/apps_connections_popup.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 508, + "ypos": 491, + "width": 160, + "height": 30, + "type": "match" + } + ], + "properties": [], + "tags": [ + "apps_connections_popup" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_connections_popup.png b/needles/gnome/apps/apps_connections_popup.png new file mode 100644 index 00000000..3a213c5d Binary files /dev/null and b/needles/gnome/apps/apps_connections_popup.png differ diff --git a/needles/gnome/apps/apps_menu_connections.json b/needles/gnome/apps/apps_menu_connections.json new file mode 100644 index 00000000..86596e9f --- /dev/null +++ b/needles/gnome/apps/apps_menu_connections.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 480, + "ypos": 234, + "width": 61, + "height": 69, + "type": "match" + } + ], + "properties": [], + "tags": [ + "apps_menu_connections" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_menu_connections.png b/needles/gnome/apps/apps_menu_connections.png new file mode 100644 index 00000000..a21b7a86 Binary files /dev/null and b/needles/gnome/apps/apps_menu_connections.png differ diff --git a/needles/gnome/apps/apps_menu_fmw.json b/needles/gnome/apps/apps_menu_fmw.json new file mode 100644 index 00000000..4f0579a4 --- /dev/null +++ b/needles/gnome/apps/apps_menu_fmw.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 205, + "ypos": 351, + "width": 25, + "height": 34, + "type": "match" + } + ], + "properties": [], + "tags": [ + "apps_menu_fmw" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_menu_fmw.png b/needles/gnome/apps/apps_menu_fmw.png new file mode 100644 index 00000000..9e1d9d23 Binary files /dev/null and b/needles/gnome/apps/apps_menu_fmw.png differ diff --git a/needles/gnome/apps/apps_menu_tour.json b/needles/gnome/apps/apps_menu_tour.json new file mode 100644 index 00000000..a92b8c58 --- /dev/null +++ b/needles/gnome/apps/apps_menu_tour.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 322, + "ypos": 350, + "width": 29, + "height": 38, + "type": "match" + } + ], + "properties": [], + "tags": [ + "apps_menu_tour" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_menu_tour.png b/needles/gnome/apps/apps_menu_tour.png new file mode 100644 index 00000000..863ef80a Binary files /dev/null and b/needles/gnome/apps/apps_menu_tour.png differ diff --git a/needles/gnome/apps/apps_run_connections-20240619.json b/needles/gnome/apps/apps_run_connections-20240619.json new file mode 100644 index 00000000..fd21cdd8 --- /dev/null +++ b/needles/gnome/apps/apps_run_connections-20240619.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 508, + "ypos": 473, + "width": 181, + "height": 36, + "type": "match" + } + ], + "properties": [], + "tags": [ + "apps_run_connections" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_run_connections-20240619.png b/needles/gnome/apps/apps_run_connections-20240619.png new file mode 100644 index 00000000..5e910aaa Binary files /dev/null and b/needles/gnome/apps/apps_run_connections-20240619.png differ diff --git a/needles/gnome/apps/apps_run_fmw.json b/needles/gnome/apps/apps_run_fmw.json new file mode 100644 index 00000000..93777542 --- /dev/null +++ b/needles/gnome/apps/apps_run_fmw.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 440, + "ypos": 113, + "width": 156, + "height": 21, + "type": "match" + } + ], + "properties": [], + "tags": [ + "apps_run_fmw" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_run_fmw.png b/needles/gnome/apps/apps_run_fmw.png new file mode 100644 index 00000000..e71f7d5a Binary files /dev/null and b/needles/gnome/apps/apps_run_fmw.png differ diff --git a/needles/gnome/apps/apps_run_tour.json b/needles/gnome/apps/apps_run_tour.json new file mode 100644 index 00000000..39e9f0a9 --- /dev/null +++ b/needles/gnome/apps/apps_run_tour.json @@ -0,0 +1,15 @@ +{ + "area": [ + { + "xpos": 441, + "height": 31, + "type": "match", + "ypos": 545, + "width": 141 + } + ], + "properties": [], + "tags": [ + "apps_run_tour" + ] +} \ No newline at end of file diff --git a/needles/gnome/apps/apps_run_tour.png b/needles/gnome/apps/apps_run_tour.png new file mode 100644 index 00000000..e6f6624d Binary files /dev/null and b/needles/gnome/apps/apps_run_tour.png differ diff --git a/templates.fif.json b/templates.fif.json index 9c845148..844a0b04 100644 --- a/templates.fif.json +++ b/templates.fif.json @@ -626,6 +626,8 @@ "apps_startstop": { "profiles": { "fedora-KDE-live-iso-x86_64-*-64bit": 40, + "fedora-Silverblue-dvd_ostree-iso-ppc64le-*-ppc64le": 50, + "fedora-Silverblue-dvd_ostree-iso-x86_64-*-64bit": 50, "fedora-Workstation-live-iso-ppc64le-*-ppc64le": 40, "fedora-Workstation-upgrade-x86_64-*-64bit": 40, "fedora-Workstation-live-iso-x86_64-*-64bit": 40, diff --git a/tests/apps_startstop/gnome/abrt.pm b/tests/apps_startstop/gnome/abrt.pm index 9d6cf5bf..d9bfa045 100644 --- a/tests/apps_startstop/gnome/abrt.pm +++ b/tests/apps_startstop/gnome/abrt.pm @@ -7,22 +7,27 @@ use utils; sub run { my $self = shift; + my $subvariant = get_var("SUBVARIANT", "Workstation"); - # Start the application - start_with_launcher('apps_menu_abrt', 'apps_menu_utilities'); - # Check that it is started - assert_screen 'apps_run_abrt'; - # Register application - register_application('gnome-abrt'); - # Close the application - quit_with_shortcut(); + if ($subvariant ne "Silverblue") { + # Start the application + start_with_launcher('apps_menu_abrt', 'apps_menu_utilities'); + # Check that it is started + assert_screen 'apps_run_abrt'; + # Register application + register_application('gnome-abrt'); + # Close the application + quit_with_shortcut(); + } + else { + diag("Abrt is not installed, skipping the test."); + } } sub test_flags { return {}; } - 1; # vim: set sw=4 et: diff --git a/tests/apps_startstop/gnome/boxes.pm b/tests/apps_startstop/gnome/boxes.pm index d9ce5f0f..1af8ec88 100644 --- a/tests/apps_startstop/gnome/boxes.pm +++ b/tests/apps_startstop/gnome/boxes.pm @@ -7,21 +7,27 @@ use utils; sub run { my $self = shift; + my $subvariant = get_var("SUBVARIANT", "Workstation"); - # Start the application - start_with_launcher('apps_menu_boxes'); - assert_screen 'apps_boxes_tutorial'; - send_key 'esc'; - unless (check_screen 'apps_run_boxes', 30) { - record_soft_failure "Single esc didn't clear tutorial - #2005458?"; + if ($subvariant ne "Silverblue") { + # Start the application + start_with_launcher('apps_menu_boxes'); + assert_screen 'apps_boxes_tutorial'; send_key 'esc'; - assert_screen 'apps_run_boxes'; - } + unless (check_screen 'apps_run_boxes', 30) { + record_soft_failure "Single esc didn't clear tutorial - #2005458?"; + send_key 'esc'; + assert_screen 'apps_run_boxes'; + } - # Register application - register_application("gnome-boxes"); - # Close the application - quit_with_shortcut(); + # Register application + register_application("gnome-boxes"); + # Close the application + quit_with_shortcut(); + } + else { + diag("Boxes is not installed, skipping the test."); + } } sub test_flags { diff --git a/tests/apps_startstop/gnome/connections.pm b/tests/apps_startstop/gnome/connections.pm new file mode 100644 index 00000000..75c9e4f7 --- /dev/null +++ b/tests/apps_startstop/gnome/connections.pm @@ -0,0 +1,30 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This test checks that Connections start. + +sub run { + my $self = shift; + + # Start the application + start_with_launcher('apps_menu_connections', 'apps_menu_utilities'); + # The Connections will show a pop up window. Dismiss it. + assert_screen('apps_connections_popup'); + assert_and_click('apps_connections_nothanks'); + # Check that the app is still running + assert_screen('apps_run_connections'); + # Register application + register_application('connections'); + # Close the application + quit_with_shortcut(); +} + +sub test_flags { + return {}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/apps_startstop/gnome/fmw.pm b/tests/apps_startstop/gnome/fmw.pm new file mode 100644 index 00000000..814235ab --- /dev/null +++ b/tests/apps_startstop/gnome/fmw.pm @@ -0,0 +1,33 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This test checks that Fedora Media Writer starts +# on Silverblue. + +sub run { + my $self = shift; + my $subvariant = get_var("SUBVARIANT"); + if ($subvariant eq "Silverblue") { + # Start the application + start_with_launcher('apps_menu_fmw'); + # Check that is started + assert_screen 'apps_run_fmw'; + # Register application + register_application('fedora-media-writer'); + # Close the application + quit_with_shortcut(); + } + else { + diag("Fedora Media Writer is not installed on Workstation by default. Skipping test."); + } +} + +sub test_flags { + return {}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/apps_startstop/gnome/fonts.pm b/tests/apps_startstop/gnome/fonts.pm index 7f7ede40..bd5620b3 100644 --- a/tests/apps_startstop/gnome/fonts.pm +++ b/tests/apps_startstop/gnome/fonts.pm @@ -7,9 +7,14 @@ use utils; sub run { my $self = shift; - # Start the application start_with_launcher('apps_menu_fonts', 'apps_menu_utilities'); + # Fonts might not start on the first attempt, especially on + # Silverblue, if that happens, try again to start it. + unless (check_screen('apps_run_fonts', timeout => 30)) { + record_soft_failure('Fonts crashed immediately or did not start on the first attempt.'); + start_with_launcher('apps_menu_fonts', 'apps_menu_utilities'); + } # Check that is started assert_screen 'apps_run_fonts'; # Register application diff --git a/tests/apps_startstop/gnome/lcalc.pm b/tests/apps_startstop/gnome/lcalc.pm index 1141b31f..8adb05c7 100644 --- a/tests/apps_startstop/gnome/lcalc.pm +++ b/tests/apps_startstop/gnome/lcalc.pm @@ -7,15 +7,21 @@ use utils; sub run { my $self = shift; + my $subvariant = get_var("SUBVARIANT", "Workstation"); - # Start the application - start_with_launcher('apps_menu_lcalc'); - # Check that is started - assert_screen 'apps_run_lcalc'; - # Register application - register_application("libreoffice-calc"); - # Close the application - quit_with_shortcut(); + if ($subvariant ne "Silverblue") { + # Start the application + start_with_launcher('apps_menu_lcalc'); + # Check that is started + assert_screen 'apps_run_lcalc'; + # Register application + register_application("libreoffice-calc"); + # Close the application + quit_with_shortcut(); + } + else { + diag("LibreOffice Calc is not installed, skipping the test."); + } } sub test_flags { diff --git a/tests/apps_startstop/gnome/limpress.pm b/tests/apps_startstop/gnome/limpress.pm index 681dbd98..9fa9c8c7 100644 --- a/tests/apps_startstop/gnome/limpress.pm +++ b/tests/apps_startstop/gnome/limpress.pm @@ -7,16 +7,22 @@ use utils; sub run { my $self = shift; + my $subvariant = get_var("SUBVARIANT", "Workstation"); - # Start the application - start_with_launcher('apps_menu_limpress'); - # Check that is started - assert_and_click 'apps_run_limpress_start'; - assert_screen 'apps_run_limpress'; - # Register application - register_application("libreoffice-impress"); - # Close the application - quit_with_shortcut(); + if ($subvariant ne "Silverblue") { + # Start the application + start_with_launcher('apps_menu_limpress'); + # Check that is started + assert_and_click 'apps_run_limpress_start'; + assert_screen 'apps_run_limpress'; + # Register application + register_application("libreoffice-impress"); + # Close the application + quit_with_shortcut(); + } + else { + diag("LibreOffice Impress is not installed, skipping the test."); + } } sub test_flags { diff --git a/tests/apps_startstop/gnome/lwriter.pm b/tests/apps_startstop/gnome/lwriter.pm index ca9cf4e8..f0a4d866 100644 --- a/tests/apps_startstop/gnome/lwriter.pm +++ b/tests/apps_startstop/gnome/lwriter.pm @@ -7,15 +7,21 @@ use utils; sub run { my $self = shift; + my $subvariant = get_var("SUBVARIANT", "Workstation"); - # Start the application - start_with_launcher('apps_menu_lwriter'); - # Check that is started - assert_screen 'apps_run_lwriter'; - # Register application - register_application("libreoffice-writer"); - # Close the application - quit_with_shortcut(); + if ($subvariant ne "Silverblue") { + # Start the application + start_with_launcher('apps_menu_lwriter'); + # Check that is started + assert_screen 'apps_run_lwriter'; + # Register application + register_application("libreoffice-writer"); + # Close the application + quit_with_shortcut(); + } + else { + diag("LibreOffice Write not installed, skipping the test."); + } } sub test_flags { diff --git a/tests/apps_startstop/gnome/rhythmbox.pm b/tests/apps_startstop/gnome/rhythmbox.pm index 31e5688a..90f285fc 100644 --- a/tests/apps_startstop/gnome/rhythmbox.pm +++ b/tests/apps_startstop/gnome/rhythmbox.pm @@ -7,24 +7,31 @@ use utils; sub run { my $self = shift; + my $subvariant = get_var("SUBVARIANT", "Workstation"); - # Start the application - start_with_launcher('apps_menu_rhythmbox'); - # To give the screen a bit of time. - wait_still_screen(2); - # On June 15th, 2022, we realized that Rhythmbox tends to - # crash on fresh installation when run for the first time. - # When this happens, softfail and try to start it again. - unless (check_screen("apps_run_rhythmbox")) { - record_soft_failure("Rhythmbox probably crashed when launched for the first time."); + if ($subvariant ne "Silverblue") { + # Start the application start_with_launcher('apps_menu_rhythmbox'); + # To give the screen a bit of time. + wait_still_screen(2); + # On June 15th, 2022, we realized that Rhythmbox tends to + # crash on fresh installation when run for the first time. + # When this happens, softfail and try to start it again. + unless (check_screen("apps_run_rhythmbox")) { + record_soft_failure("Rhythmbox probably crashed when launched for the first time."); + start_with_launcher('apps_menu_rhythmbox'); + } + # Check that application has started. + assert_screen 'apps_run_rhythmbox'; + # Register application + register_application("rhythmbox"); + # Close the application + quit_with_shortcut(); } - # Check that application has started. - assert_screen 'apps_run_rhythmbox'; - # Register application - register_application("rhythmbox"); - # Close the application - quit_with_shortcut(); + else { + diag("Rhythmbox not installed, skipping the test."); + } + } sub test_flags { diff --git a/tests/apps_startstop/gnome/scan.pm b/tests/apps_startstop/gnome/scan.pm index 8e216492..d1a97393 100644 --- a/tests/apps_startstop/gnome/scan.pm +++ b/tests/apps_startstop/gnome/scan.pm @@ -7,16 +7,21 @@ use utils; sub run { my $self = shift; + my $subvariant = get_var("SUBVARIANT", "Workstation"); - # Start the application - start_with_launcher('apps_menu_scan'); - # Check that is started - assert_screen 'apps_run_scan'; - # Register application - register_application("simple-scan"); - # Close the application - quit_with_shortcut(); - + if ($subvariant ne "Silverblue") { + # Start the application + start_with_launcher('apps_menu_scan'); + # Check that is started + assert_screen 'apps_run_scan'; + # Register application + register_application("simple-scan"); + # Close the application + quit_with_shortcut(); + } + else { + diag("Scan is not installed, skipping the test."); + } } sub test_flags { diff --git a/tests/apps_startstop/gnome/tour.pm b/tests/apps_startstop/gnome/tour.pm new file mode 100644 index 00000000..4fc068ed --- /dev/null +++ b/tests/apps_startstop/gnome/tour.pm @@ -0,0 +1,26 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +# This test checks that Tour starts. + +sub run { + my $self = shift; + # Start the application + start_with_launcher('apps_menu_tour'); + # Check that is started + assert_screen 'apps_run_tour'; + # Register application + register_application('tour'); + # Close the application + quit_with_shortcut(); +} + +sub test_flags { + return {}; +} + +1; + +# vim: set sw=4 et: diff --git a/tests/apps_startstop/gnome/videos.pm b/tests/apps_startstop/gnome/videos.pm index 1a64113e..7b747ceb 100644 --- a/tests/apps_startstop/gnome/videos.pm +++ b/tests/apps_startstop/gnome/videos.pm @@ -7,15 +7,21 @@ use utils; sub run { my $self = shift; + my $subvariant = get_var("SUBVARIANT", "Workstation"); - # Start the application - start_with_launcher('apps_menu_videos'); - # Check that is started - assert_screen 'apps_run_videos'; - # Register application - register_application("totem"); - # Close the application - quit_with_shortcut(); + if ($subvariant ne "Silverblue") { + # Start the application + start_with_launcher('apps_menu_videos'); + # Check that is started + assert_screen 'apps_run_videos'; + # Register application + register_application("totem"); + # Close the application + quit_with_shortcut(); + } + else { + diag("Videos not installed, skipping the test."); + } } sub test_flags { diff --git a/tests/workstation_core_applications.pm b/tests/workstation_core_applications.pm index 29b6a541..7f335826 100644 --- a/tests/workstation_core_applications.pm +++ b/tests/workstation_core_applications.pm @@ -7,10 +7,17 @@ use utils; sub run { my $self = shift; + my $subvariant = get_var("SUBVARIANT"); $self->root_console(tty => 3); + my @core_applications; # List of applications, that we want to track for their presence. - my @core_applications = ("gnome-software", "firefox", "gnome-terminal", "nautilus", "gnome-text-editor", "gnome-boxes"); + unless ($subvariant eq "Silverblue") { + my @core_applications = ("gnome-software", "firefox", "gnome-terminal", "nautilus", "gnome-text-editor", "gnome-boxes"); + } + else { + my @core_applications = ("gnome-software", "firefox", "gnome-terminal", "nautilus", "gnome-text-editor"); + } # Evaluate the results, make the log files and pass or fail the entire # test suite.