os-autoinst-distri-rocky-mi.../needles
Adam Williamson 4b8e411479 create fedora base class, factor out console login
Summary:
Root console in anaconda got broken by RHBZ #1222413 - no
shell on tty2. Decided to clean up console use in general as
part of fixing it.

This creates a class 'fedorabase' and has 'anacondalog' and
'fedoralog' both inherit from it. boot_to_login_screen is
moved there (as it seems appropriate) and it has a new
method, console_login, which basically handles 'get me a
shell on a console': if we're already at one it returns,
if not it'll type the user name and the password *if
necessary* (sometimes it's not) and return once it sees a
prompt. It takes a hash of named parameters for user,
password and 'check', which is whether it should die if it
fails to reach a console or not (some users don't want it
to).

anacondalog and fedoralog both get 'root_console' methods
which do something appropriate and then call
console_login; both have a hash of named parameters,
anacondalog's version only bothers with 'check', while
fedoralog's also accepts 'tty' to pick the tty to use.

This also adjusts all things which try to get to a console
prompt to use either root_console or console_login as
appropriate.

It also tweaks the needle tags a bit, drops some unneeded
needles, and adds a new 'user console prompt' needle; we
really just need two versions of the root prompt needle
and two of the user prompt needle (one for <F23, one for
F23+ - the console font changed in F23, and the @ character
at least doesn't match between the two). I think we still
need the <F23 case for upgrade tests, for now.

Test Plan:
Do a full test run and see that more tests
succeed. I've done a run on happyassassin with a hack to
workaround the SELinux issue for interactive installs,
and the results look good. I also fiddled about a bit to
test some different cases, like forcing a failure in a
live test to test post_fail_hook (and hence root_console)
in that scenario, and forcing failures after some console
commands had been run to check that it DTRT when we've
already reached a console, etc.

Reviewers: jskladan, garretraziel

Reviewed By: jskladan, garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D462
2015-07-22 11:24:40 -07:00
..
.keep Decoupled tools from tests 2015-01-26 14:43:01 +01:00
anaconda_error.json upload Anaconda ABRT directory 2015-04-03 13:42:59 +02:00
anaconda_error.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_delete_all_btn.json Added 'server_delete_pata' testsuite 2015-01-27 14:22:35 +01:00
anaconda_install_destination_delete_all_btn.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_encrypt_data.json Disk guided encrypted 2015-02-04 17:16:21 +01:00
anaconda_install_destination_encrypt_data.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_pony.json Added few more tests 2015-01-27 13:35:27 +01:00
anaconda_install_destination_pony.png Added few more tests 2015-01-27 13:35:27 +01:00
anaconda_install_destination_reclaim_space_btn.json Added 'server_delete_pata' testsuite 2015-01-27 14:22:35 +01:00
anaconda_install_destination_reclaim_space_btn.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_reclaim_space_delete_btn.json New tests 2015-02-13 09:51:24 +01:00
anaconda_install_destination_reclaim_space_delete_btn.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_reclaim_space_first_partition.json New tests 2015-02-13 09:51:24 +01:00
anaconda_install_destination_reclaim_space_first_partition.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_reclaim_space_second_partition.json New tests 2015-02-13 09:51:24 +01:00
anaconda_install_destination_reclaim_space_second_partition.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_save_passphrase.json Disk guided encrypted 2015-02-04 17:16:21 +01:00
anaconda_install_destination_save_passphrase.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_select_disk_1.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_select_disk_1.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_select_disk_2.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_select_disk_2.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_two_disks2.json add multiple disks test 2015-03-05 13:57:47 +01:00
anaconda_install_destination_two_disks2.png add multiple disks test 2015-03-05 13:57:47 +01:00
anaconda_install_destination_two_disks.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_destination_two_disks.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_done.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_done.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_root_password_screen.json avoid branded areas, tighten 'Done' button matches 2015-06-11 09:57:40 -07:00
anaconda_install_root_password_screen.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_root_password.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_root_password.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_source_check_repo_added_inst_repo.json Inst-repo HTTP variation 2015-02-04 14:45:37 +01:00
anaconda_install_source_check_repo_added_inst_repo.png Inst-repo HTTP variation 2015-02-04 14:45:37 +01:00
anaconda_install_source_check_repo_added.json Minor fix to the check_repo_added needle 2015-02-11 12:05:25 +01:00
anaconda_install_source_check_repo_added.png Minor fix to the check_repo_added needle 2015-02-11 12:05:25 +01:00
anaconda_install_source_http_selected.json changes in user creation, http mirrors 2015-02-19 14:15:29 +01:00
anaconda_install_source_http_selected.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_source_https_selected.json changes in user creation, http mirrors 2015-02-19 14:15:29 +01:00
anaconda_install_source_https_selected.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_source_on_the_network.json Install source graphical mirrorlist + repo 2015-02-04 13:02:54 +01:00
anaconda_install_source_on_the_network.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_source_repo_select_mirrorlist.json Install source graphical mirrorlist + repo 2015-02-04 13:02:54 +01:00
anaconda_install_source_repo_select_mirrorlist.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_user_creation_blacktext.json changes in user creation, http mirrors 2015-02-19 14:15:29 +01:00
anaconda_install_user_creation_blacktext.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_user_creation_make_admin.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_user_creation_make_admin.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_user_creation_screen.json avoid branded areas, tighten 'Done' button matches 2015-06-11 09:57:40 -07:00
anaconda_install_user_creation_screen.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_user_creation.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_install_user_creation.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_main_hub_begin_installation.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_main_hub_begin_installation.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_main_hub_install_destination_already_done.json Disk guided encrypted 2015-02-04 17:16:21 +01:00
anaconda_main_hub_install_destination_already_done.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_main_hub_install_destination.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_main_hub_install_destination.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_main_hub_installation_source.json Install source graphical mirrorlist + repo 2015-02-04 13:02:54 +01:00
anaconda_main_hub_installation_source.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_main_hub_live.json Support for live image testing 2015-03-18 14:28:03 -07:00
anaconda_main_hub_live.png Support for live image testing 2015-03-18 14:28:03 -07:00
anaconda_main_hub_nonlive.json Support for live image testing 2015-03-18 14:28:03 -07:00
anaconda_main_hub_nonlive.png Support for live image testing 2015-03-18 14:28:03 -07:00
anaconda_main_hub_select_packages.json add package select minimal 2015-02-03 15:02:52 +01:00
anaconda_main_hub_select_packages.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_manual_partitioning.json add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_manual_partitioning.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_minimal_highlighted.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_minimal_highlighted.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_minimal_selected.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_minimal_selected.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_accept_changes.json add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_part_accept_changes.png add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_part_add_mountpoint.json add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_part_add_mountpoint.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_desired_capacity.json add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_part_desired_capacity.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_device_type.json add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_part_device_type.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_list_box_boot.json add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_part_list_box_boot.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_list_box_button.json add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_part_list_box_button.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_list_box_root.json add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_part_list_box_root.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_list_box_swap.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_list_box_swap.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_plus_button.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_plus_button.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_raid_list.json add software RAID test suite 2015-03-06 10:36:25 +01:00
anaconda_part_raid_list.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_update_settings.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_part_update_settings.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_rawhide_accept_fate.json update needles 2015-02-03 13:59:40 +01:00
anaconda_rawhide_accept_fate.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_report_btn.json upload Anaconda ABRT directory 2015-04-03 13:42:59 +02:00
anaconda_report_btn.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_select_install_lang_continue.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_select_install_lang_continue.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_select_install_lang_english_filtered.json update needles 2015-02-03 13:59:40 +01:00
anaconda_select_install_lang_english_filtered.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_select_install_lang_english_selected.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_select_install_lang_english_selected.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_select_install_lang_input.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_select_install_lang_input.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_select_install_lang.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_select_install_lang.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_spoke_done.json re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_spoke_done.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
anaconda_user_creation_password_input.json try to fix anaconda user creation 2015-04-03 10:27:31 +02:00
anaconda_user_creation_password_input.png re-do most anaconda screenshots for 96dpi 2015-07-20 09:10:37 -07:00
boot_enter_passphrase2.json changes to solve 173 and 167 2015-04-10 10:38:28 +02:00
boot_enter_passphrase2.png changes to solve 173 and 167 2015-04-10 10:38:28 +02:00
boot_enter_passphrase.json Disk guided encrypted 2015-02-04 17:16:21 +01:00
boot_enter_passphrase.png Disk guided encrypted 2015-02-04 17:16:21 +01:00
bootloader_bios_live.json Support for live image testing 2015-03-18 14:28:03 -07:00
bootloader_bios_live.png Support for live image testing 2015-03-18 14:28:03 -07:00
bootloader_bios_offline.json Support for live image testing 2015-03-18 14:28:03 -07:00
bootloader_bios_offline.png Support for live image testing 2015-03-18 14:28:03 -07:00
console_command_success2.json Add fedup_minimal test 2015-05-13 13:03:23 +02:00
console_command_success2.png fixing some issues - doublequotes and type_string 2015-03-13 12:58:03 +01:00
console_command_success.json Add fedup_minimal test 2015-05-13 13:03:23 +02:00
console_command_success.png fixed disk guided multiselect 2015-01-27 16:24:12 +01:00
console_f22_installed.json Add fedup_minimal test 2015-05-13 13:03:23 +02:00
console_f22_installed.png Add fedup_minimal test 2015-05-13 13:03:23 +02:00
console_password_required2.json Add fedup_minimal test 2015-05-13 13:03:23 +02:00
console_password_required2.png Add fedup_minimal test 2015-05-13 13:03:23 +02:00
console_password_required.json Added few more tests 2015-01-27 13:35:27 +01:00
console_password_required.png Added few more tests 2015-01-27 13:35:27 +01:00
console_raid_used.json add software RAID test suite 2015-03-06 10:36:25 +01:00
console_raid_used.png add software RAID test suite 2015-03-06 10:36:25 +01:00
console_two_disks_mounted_lvm.json add multiple disks test 2015-03-05 13:57:47 +01:00
console_two_disks_mounted_lvm.png add multiple disks test 2015-03-05 13:57:47 +01:00
gnome_desktop_clean.json Support for live image testing 2015-03-18 14:28:03 -07:00
gnome_desktop_clean.png Support for live image testing 2015-03-18 14:28:03 -07:00
graphical_login_gdm_input.json add fedup desktop test 2015-07-17 12:52:56 +02:00
graphical_login_gdm_input.png add fedup desktop test 2015-07-17 12:52:56 +02:00
graphical_login_gdm.json add fedup desktop test 2015-07-17 12:52:56 +02:00
graphical_login_gdm.png add fedup desktop test 2015-07-17 12:52:56 +02:00
grub_fedup.json Add fedup_minimal test 2015-05-13 13:03:23 +02:00
grub_fedup.png Add fedup_minimal test 2015-05-13 13:03:23 +02:00
password_required2.json fixing some issues - doublequotes and type_string 2015-03-13 12:58:03 +01:00
password_required2.png fixing some issues - doublequotes and type_string 2015-03-13 12:58:03 +01:00
password_required.json wait for Password: prompt 2015-03-11 16:35:54 +01:00
password_required.png wait for Password: prompt 2015-03-11 16:35:54 +01:00
provided_disk_intact.json fixed disk guided multiselect 2015-01-27 16:24:12 +01:00
provided_disk_intact.png fixed disk guided multiselect 2015-01-27 16:24:12 +01:00
provided_second_partition_intact.json completed delete partial testsuite 2015-02-13 12:11:47 +01:00
provided_second_partition_intact.png completed delete partial testsuite 2015-02-13 12:11:47 +01:00
root_logged_in_rawhide20150311.json create fedora base class, factor out console login 2015-07-22 11:24:40 -07:00
root_logged_in_rawhide20150311.png Support for live image testing 2015-03-18 14:28:03 -07:00
root_logged_in.json create fedora base class, factor out console login 2015-07-22 11:24:40 -07:00
root_logged_in.png Add fedup_minimal test 2015-05-13 13:03:23 +02:00
text_console_login.json add fedup desktop test 2015-07-17 12:52:56 +02:00
text_console_login.png add fedup desktop test 2015-07-17 12:52:56 +02:00
tmp_failed_proc.json Add fedup_minimal test 2015-05-13 13:03:23 +02:00
tmp_failed_proc.png Add fedup_minimal test 2015-05-13 13:03:23 +02:00
user_logged_in_20150721f23.json create fedora base class, factor out console login 2015-07-22 11:24:40 -07:00
user_logged_in_20150721f23.png create fedora base class, factor out console login 2015-07-22 11:24:40 -07:00
user_logged_in.json create fedora base class, factor out console login 2015-07-22 11:24:40 -07:00
user_logged_in.png Added few more tests 2015-01-27 13:35:27 +01:00
workstation_live_initial.json Support for live image testing 2015-03-18 14:28:03 -07:00
workstation_live_initial.png Support for live image testing 2015-03-18 14:28:03 -07:00