mirror of
				https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
				synced 2025-10-31 07:06:00 +00:00 
			
		
		
		
	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".
This commit is contained in:
		
							parent
							
								
									66bc59de1d
								
							
						
					
					
						commit
						1acef21fa5
					
				
							
								
								
									
										6
									
								
								main.pm
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								main.pm
									
									
									
									
									
								
							| @ -251,6 +251,12 @@ sub _load_early_postinstall_tests { | |||||||
|     if (get_var("SWITCHED_LAYOUT") || get_var("INPUT_METHOD")) { |     if (get_var("SWITCHED_LAYOUT") || get_var("INPUT_METHOD")) { | ||||||
|         _load_instance("tests/_graphical_input", $instance); |         _load_instance("tests/_graphical_input", $instance); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     if (get_var("LANGUAGE") eq "japanese" || get_var("LANGUAGE") eq "arabic") { | ||||||
|  |         _load_instance("tests/check_default_fonts", $instance); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|     # We do not want to run this on Desktop installations or when |     # We do not want to run this on Desktop installations or when | ||||||
|     # the installation is interrupted on purpose. |     # the installation is interrupted on purpose. | ||||||
|     unless (get_var("DESKTOP") || get_var("CRASH_REPORT")) { |     unless (get_var("DESKTOP") || get_var("CRASH_REPORT")) { | ||||||
|  | |||||||
							
								
								
									
										23
									
								
								needles/gnome/apps/apps_run_terminal-20220519.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								needles/gnome/apps/apps_run_terminal-20220519.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | |||||||
|  | { | ||||||
|  |   "area": [ | ||||||
|  |     { | ||||||
|  |       "xpos": 151, | ||||||
|  |       "ypos": 6, | ||||||
|  |       "width": 65, | ||||||
|  |       "height": 23, | ||||||
|  |       "type": "match" | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       "type": "match", | ||||||
|  |       "ypos": 112, | ||||||
|  |       "xpos": 194, | ||||||
|  |       "width": 25, | ||||||
|  |       "height": 20 | ||||||
|  |     } | ||||||
|  |   ], | ||||||
|  |   "properties": [], | ||||||
|  |   "tags": [ | ||||||
|  |     "apps_run_terminal", | ||||||
|  |     "LANGUAGE-japanese" | ||||||
|  |   ] | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								needles/gnome/apps/apps_run_terminal-20220519.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								needles/gnome/apps/apps_run_terminal-20220519.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 312 KiB | 
							
								
								
									
										16
									
								
								needles/gnome/japanese/layout_ascii_japanese-20220518.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								needles/gnome/japanese/layout_ascii_japanese-20220518.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | |||||||
|  | { | ||||||
|  |   "area": [ | ||||||
|  |     { | ||||||
|  |       "height": 17, | ||||||
|  |       "ypos": 9, | ||||||
|  |       "xpos": 885, | ||||||
|  |       "width": 18, | ||||||
|  |       "type": "match" | ||||||
|  |     } | ||||||
|  |   ], | ||||||
|  |   "properties": [], | ||||||
|  |   "tags": [ | ||||||
|  |     "gnome_layout_ascii", | ||||||
|  |     "LANGUAGE-japanese" | ||||||
|  |   ] | ||||||
|  | } | ||||||
							
								
								
									
										
											BIN
										
									
								
								needles/gnome/japanese/layout_ascii_japanese-20220518.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								needles/gnome/japanese/layout_ascii_japanese-20220518.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 613 KiB | 
| @ -56,7 +56,7 @@ sub run { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| sub test_flags { | sub test_flags { | ||||||
|     return { fatal => 1 }; |     return { fatal => 1, always_rollback => 1 }; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 1; | 1; | ||||||
|  | |||||||
							
								
								
									
										65
									
								
								tests/check_default_fonts.pm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								tests/check_default_fonts.pm
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,65 @@ | |||||||
|  | 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: | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user