This adds custom partitioning tests for testing blivet-gui. I've added
new function to anaconda library, because it doesn't make much sense adapting existing
helper functions (e. g. custom_change_type or custom_change_fs), because of how
differently blivet-gui works. I'm not running these tests on UEFI, because one needs
to add all partitions by hand (UEFI needs one additional partition and there is currently
a bug in blivet-gui where new partitions are added at the beggining of disk rather then
at the end). This is still missing BTRFS and iSCSI tests, because I need to ask vtrefny
what needs to be done in blivet-gui to replicate behaviour of old partitioning systen.
Details
- Reviewers
adamwill jskladan - Maniphest Tasks
- T938: Duplicate custom partitioning tests for blivet-gui
- Commits
- rOPENQATESTS140c5f0a4293: Add custom partitioning tests for blivet
Run all new tests.
Diff Detail
- Repository
- rOPENQATESTS os-autoinst-distri-fedora
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
So far just some minor notes on read-through, overall looks fine. I'm going to deploy this to staging and re-run today's composes, to see how it behaves in the real world, before acking. Thanks a lot for the quick work on this, you rock!
lib/anaconda.pm | ||
---|---|---|
83 | "otherwise" | |
107 | ..."and free space is selected", or so? | |
108 | clarify that this is a needle? e.g. "needle anaconda_blivet_devicetype_$devicetype should exist"? | |
111 | "exist"? | |
120 | I kinda like the perl-y $args{devicetype} = "raid" if $args{raid1};, it saves two lines and a bunch of braces. but I think we've had this argument before :P | |
134 | isn't this just the same as send_key "tab"; ? type_safely doesn't mean anything for single keystrokes, except it does a wait_still_screen after the keystroke... | |
139 | I'm not quite sure what this comment means? I mean, it's in an if $args{raid1} block. RAID1 has been specifically requested. | |
146 | I think this would fail for a combination of raid1 and size, right? we've already hit tab once in that case, so we'd only want to hit it twice more? | |
templates | ||
902 | I think we should give the tests the same priority as the corresponding current 'custom' tests. We need to update the matrices, but logically speaking, since the two 'custom' interfaces are presented with exactly equal weight in the UI, it doesn't seem reasonably to consider blivet-gui less important or supported; I'm working on the basis we should treat them as equal, any bug that would be a blocker in regular 'custom partitioning' should also be a blocker in blivet-gui. | |
tests/disk_custom_blivet_ext3.pm | ||
10 | In every test, you could update this comment to say "Because PARTITIONING starts with 'custom_blivet', this will select blivet-gui." |
the anaconda_blivet_mountpoint_obscured needle actually indicates a bug, doesn't it - failure to include a scroll bar or something when the contents of that dialog are too tall for the space...have you reported that?
lib/anaconda.pm | ||
---|---|---|
140 | maybe call this needle (both file and tag) anaconda_blivet_raidlevel_select? | |
142 | maybe call this needle (both file and tag) anaconda_blivet_raidlevel_raid1 or so, to make it clearer what it's about? | |
needles/anaconda/partitioning/blivet/anaconda_blivet_part_devicetype-20170420.json | ||
10 ↗ | (On Diff #3019) | this seems kinda inconsistent between the two part_devicetype needles - one includes the label, one doesn't? also, I think it'd be clearer to disambiguate these by name somehow rather than just date, there's nothing intrinsically date-related about the difference between them. I'd call one part_devicetype_partition_selected and the other part_devicetype_lvm2_selected or something, maybe? |
needles/anaconda/partitioning/blivet/anaconda_blivet_part_devicetype_raid-20170419.json | ||
7 ↗ | (On Diff #3019) | There's kinda a lot of unnecessary whitespace in the match here. I'd suggest trimming it down, just in case GTK+ gets tweaked so there's less space between entries in future or something. |
OK, so testing this on Fedora 26 20170420.n.0 nightly I had to revise several of the needles, it seems like something changed a bit in current Fedora compared to whatever image you used to create the needles (fonts or GTK+ layout or something). You can see all the needles I had to add in the needles/ directory on staging, I'll leave them there for you to look at. Can you take a look at that and revise the needles in the diff? I don't think we'll need both versions, we only need the needles that work for the most recent 26 (and Rawhide, I guess). Thanks!
Oh, apart from some of the needles just not quite matching any more, one of them is a necessary *addition*: the anaconda_blivet_part_fs_xfs_selected needle. On Server images, since anaconda was fixed to set the right default filesystem for blivet-gui recently, the default filesystem will be xfs, while on other images, it'll be ext4. So we should have needles for both cases there. The tests will almost always run on Server images and so hit the xfs needle, but we should keep the ext4 needle just in case I guess.
This is actually by design. Scrollbar is shown only when user moves with cursor and that would be hard to do in openQA.
lib/anaconda.pm | ||
---|---|---|
134 | Right. There were more keystrokes before, but I kept editing this. | |
139 | It means that we are using RAID1 (and not RAID0) in this test, because we are testing RAID1 in non-blivet custom part test and we can reuse postinstall test for both. That's why this function lets you specify only raid1 => 1, but not raid0. I'll remove this comment, it's baffling and unnecessary. |
Thanks for the update. I've pushed the latest version to staging, we'll see how it runs.
"otherwise"