1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-09-16 04:57:23 +00:00
os-autoinst-distri-fedora/tests/check_default_fonts.pm
Lukáš Růžička 1acef21fa5 Automate the i18n_default_fonts testcase for Japanese.
This is the automation of the optional testcase https://fedoraproject.org/wiki/QA:Testcase_i18n_default_fonts.
The test implementation runs the same commands as the mentioned test
case and checks the expected output. It is designed to run in the scope
of postinstall tests when the language is set to "japanese".
2022-05-26 09:54:38 +02:00

66 lines
2.0 KiB
Perl

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");
# 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://lruzicka.fedorapeople.org/$language-reference.txt");
# Compare the test file and the reference file.
assert_script_run("diff 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: