use base "installedtest"; use strict; use testapi; use utils; sub run { my $self = shift; # Prepare the environment: # # Become root $self->root_console(tty => 3); # Create a text file with content to print script_run "cd /home/test/"; assert_script_run "echo 'A quick brown fox jumps over a lazy dog.' > testfile.txt"; script_run "chmod 666 testfile.txt"; # Install the Cups-PDF package to use the Cups-PDF printer assert_script_run "dnf -y install cups-pdf", 180; # FIXME: log version of cups-pdf and check it for output location # this is only necessary as long as the test may run on cups-pdf # 3.0.1-11 or lower, as soon as that's not true we can cut it my $cpdfver = script_output 'rpm -q cups-pdf --queryformat "%{VERSION}-%{RELEASE}\n"'; assert_script_run "dnf -y install rpmdevtools", 180; my $cpdfvercmp = script_run "rpmdev-vercmp $cpdfver 3.0.1-11.5"; # Leave the root terminal and switch back to desktop. desktop_vt(); my $desktop = get_var("DESKTOP"); # some simple variances between desktops. defaults are for GNOME my $editor = "gedit"; my $viewer = "evince"; my $maximize = "super-up"; if ($desktop eq "kde") { $editor = "kwrite"; $viewer = "okular"; $maximize = "super-pgup"; } # Open the text editor and print the file. wait_screen_change { send_key "alt-f2"; }; wait_still_screen(stilltime => 5, similarity_level => 45); type_very_safely "$editor /home/test/testfile.txt\n"; wait_still_screen(stilltime => 5, similarity_level => 44); # Print the file using the Cups-PDF printer send_key "ctrl-p"; wait_still_screen(stilltime => 5, similarity_level => 45); if ($desktop eq 'gnome') { assert_and_click "printing_select_pdfprinter"; } else { # It seems that on newly installed KDE systems with no # printer, the Cups-PDF printer is already pre-selected. # We only check that it is correct. assert_screen "printing_pdfprinter_ready"; } wait_still_screen(stilltime => 2, similarity_level => 45); assert_and_click "printing_print"; # Exit the application send_key "alt-f4"; # Wait out confirmation on GNOME if (check_screen "printing_print_completed", 1) { sleep 30; } # Open the pdf file and check the print send_key "alt-f2"; wait_still_screen(stilltime => 5, similarity_level => 45); # output location is different for cups-pdf 3.0.1-12 or later (we # checked this above) if ($cpdfvercmp eq "12") { # older cups-pdf type_safely "$viewer /home/test/Desktop/testfile.pdf\n"; } else { type_safely "$viewer /home/test/Desktop/testfile-job_1.pdf\n"; } wait_still_screen(stilltime => 5, similarity_level => 45); # Resize the window, so that the size of the document fits the bigger space # and gets more readable. send_key $maximize; wait_still_screen(stilltime => 2, similarity_level => 45); # make sure we're at the start of the document send_key "ctrl-home" if ($desktop eq "kde"); # Check the printed pdf. assert_screen "printing_check_sentence"; } sub test_flags { return {fatal => 1}; } 1; # vim: set sw=4 et: