os-autoinst-distri-fedora/needles/root_logged_in.json

26 lines
471 B
JSON
Raw Normal View History

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 18:24:40 +00:00
{
"area": [
{
needle tweaks for eurlatgr font in anaconda Summary: I discovered another fun font issue today. Current anaconda images don't use the intended 'default' console font, eurlatgr. Neither do live images, but installed systems *do*. The font they use is the system BIOS font, which in openQA cases means the qemu firmware font. The easiest way to spot the difference is the @ character; the shorter version is from the system BIOS, the slightly taller one is what it looks like in eurlatgr and latarcyrheb-sun16 (the old default). In a test image I built, for some reason, I *did* get eurlatgr in the tmux console, and that broke some needle matches. After figuring all this out, bcl has sent a lorax patch to use eurlatgr in the installer, so it makes sense to add these fixes to the repo for when that kicks in. We shrink the match on root_logged_in.json by one line. This screenshot is taken from a post-install case where the prompt appears in the middle of the screen, and has three black rows above the prompt; in anaconda, when the prompt appears right at the top of the screen, there's only *two* rows of black above it, so the match fails. This fixes that. It's been working so far because installs have been matching root_logged_in_ rawhide20150311, which is taken with the firmware font, but once the installer starts using eurlatgr, that won't match any more. We also add a new needle for the anaconda_install_source_check _repo_added tag, taken with eurlatgr. The existing screenshot was taken either with the firmware font or with latarcyrheb. They both use a curly glyph for a single quote ('), while eurlatgr uses a straight line. This also renames the root_logged_in variant needle to be clearer about why it's there. We'll probably need variants of some needles until we're sure lives, anaconda env, and installed systems are all using eurlatgr. RHBZ #1250262 is a bug I filed for the live images not using eurlatgr. Test Plan: Run the tests with both BIOS font and eurlatgr as the anaconda font and make sure they all work. The latter might be a bit tricky till the change lands upstream, I've no idea how it worked out that way in my test boot.iso. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D483
2015-08-05 16:15:41 +00:00
"height": 16,
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 18:24:40 +00:00
"type": "match",
"width": 40,
"xpos": 7,
needle tweaks for eurlatgr font in anaconda Summary: I discovered another fun font issue today. Current anaconda images don't use the intended 'default' console font, eurlatgr. Neither do live images, but installed systems *do*. The font they use is the system BIOS font, which in openQA cases means the qemu firmware font. The easiest way to spot the difference is the @ character; the shorter version is from the system BIOS, the slightly taller one is what it looks like in eurlatgr and latarcyrheb-sun16 (the old default). In a test image I built, for some reason, I *did* get eurlatgr in the tmux console, and that broke some needle matches. After figuring all this out, bcl has sent a lorax patch to use eurlatgr in the installer, so it makes sense to add these fixes to the repo for when that kicks in. We shrink the match on root_logged_in.json by one line. This screenshot is taken from a post-install case where the prompt appears in the middle of the screen, and has three black rows above the prompt; in anaconda, when the prompt appears right at the top of the screen, there's only *two* rows of black above it, so the match fails. This fixes that. It's been working so far because installs have been matching root_logged_in_ rawhide20150311, which is taken with the firmware font, but once the installer starts using eurlatgr, that won't match any more. We also add a new needle for the anaconda_install_source_check _repo_added tag, taken with eurlatgr. The existing screenshot was taken either with the firmware font or with latarcyrheb. They both use a curly glyph for a single quote ('), while eurlatgr uses a straight line. This also renames the root_logged_in variant needle to be clearer about why it's there. We'll probably need variants of some needles until we're sure lives, anaconda env, and installed systems are all using eurlatgr. RHBZ #1250262 is a bug I filed for the live images not using eurlatgr. Test Plan: Run the tests with both BIOS font and eurlatgr as the anaconda font and make sure they all work. The latter might be a bit tricky till the change lands upstream, I've no idea how it worked out that way in my test boot.iso. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D483
2015-08-05 16:15:41 +00:00
"ypos": 112
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 18:24:40 +00:00
},
{
"height": 14,
"type": "match",
"width": 17,
"xpos": 137,
"ypos": 112
}
],
"properties": [],
"tags": [
"root_logged_in",
"root_console",
"ENV-DISTRI-fedora",
"ENV-FLAVOR-server"
]
needle tweaks for eurlatgr font in anaconda Summary: I discovered another fun font issue today. Current anaconda images don't use the intended 'default' console font, eurlatgr. Neither do live images, but installed systems *do*. The font they use is the system BIOS font, which in openQA cases means the qemu firmware font. The easiest way to spot the difference is the @ character; the shorter version is from the system BIOS, the slightly taller one is what it looks like in eurlatgr and latarcyrheb-sun16 (the old default). In a test image I built, for some reason, I *did* get eurlatgr in the tmux console, and that broke some needle matches. After figuring all this out, bcl has sent a lorax patch to use eurlatgr in the installer, so it makes sense to add these fixes to the repo for when that kicks in. We shrink the match on root_logged_in.json by one line. This screenshot is taken from a post-install case where the prompt appears in the middle of the screen, and has three black rows above the prompt; in anaconda, when the prompt appears right at the top of the screen, there's only *two* rows of black above it, so the match fails. This fixes that. It's been working so far because installs have been matching root_logged_in_ rawhide20150311, which is taken with the firmware font, but once the installer starts using eurlatgr, that won't match any more. We also add a new needle for the anaconda_install_source_check _repo_added tag, taken with eurlatgr. The existing screenshot was taken either with the firmware font or with latarcyrheb. They both use a curly glyph for a single quote ('), while eurlatgr uses a straight line. This also renames the root_logged_in variant needle to be clearer about why it's there. We'll probably need variants of some needles until we're sure lives, anaconda env, and installed systems are all using eurlatgr. RHBZ #1250262 is a bug I filed for the live images not using eurlatgr. Test Plan: Run the tests with both BIOS font and eurlatgr as the anaconda font and make sure they all work. The latter might be a bit tricky till the change lands upstream, I've no idea how it worked out that way in my test boot.iso. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D483
2015-08-05 16:15:41 +00:00
}