1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-23 06:23:09 +00:00
os-autoinst-distri-fedora/tests/check_default_fonts.pm

69 lines
2.2 KiB
Perl
Raw Normal View History

use base "installedtest";
use strict;
use testapi;
use utils;
# This test cases automates the Testcase_i18n_default_fonts, see
# https://fedoraproject.org/wiki/QA:Testcase_i18n_default_fonts.
sub run {
my $self = shift;
# On the console, the fonts might differ than in GUI.
# We will perform the tests in the gnome-terminal.
# First, open it!
desktop_switch_layout 'ascii';
wait_still_screen(2);
menu_launch_type("terminal");
# Similarly to _graphical_input.pm, repeat running the command
# if it fails the first time (it often does).
unless (check_screen "apps_run_terminal", 30) {
check_desktop;
menu_launch_type("terminal");
}
assert_screen("apps_run_terminal");
wait_still_screen(stilltime => 5, similarity_level => 42);
# Run the test commands and record their output in the test file.
enter_cmd("fc-match sans > test.txt");
sleep(2);
enter_cmd("fc-match serif >> test.txt");
sleep(2);
enter_cmd("fc-match monospace >> test.txt");
sleep(2);
# Depending on the selected language (Japanese or Arabic), we
# will download a reference file and compare it with the test
# file obtained in the previous step.
my $language = get_var("LANGUAGE");
my @supported = qw(japanese arabic);
# If the language is among supported languages
if ($language ~~ @supported) {
# Go to root console for script assertions.
$self->root_console(tty => 3);
# Load us keys to be used on console
script_run("loadkeys us");
# Navigate to the home directory.
my $username = get_var("USER_LOGIN") // "test";
script_run("cd /home/$username/");
# Download the language reference file.
script_run("wget https://fedorapeople.org/groups/qa/openqa-fonts/$language-reference.txt");
# upload the log for debugging.
upload_logs "test.txt", failok => 1;
# Compare the test file and the reference file.
assert_script_run("diff -u test.txt $language-reference.txt");
}
# For the rest of languages that are not currently defined, do nothing.
}
sub test_flags {
return {fatal => 0};
}
1;
# vim: set sw=4 et: