This PR adds implementations of distribution methods to make them
usable on Fedora. It adds the following methods
* ensure_installed (to install packages)
* become_root (to switch to root account)
* script_sudo (run script with sudo)
* assert_script_sudo (run and assert a sudo script)
It also adds a helper script to the utils.pm
* make_serial_writable
that makes the serial console writable for normal users
and so enables to run commands that check their progress
by sending messages to the serial console. Normally, they
fail, because the messages will not be written their, so
the checking mechanism will never see them.
As of today's Rawhide compose, user accounts added in Rawhide
have admin privs by default. For now we need to handle both
possibilities here (click the box if it's not clicked already);
after F35 EOL we can just drop all handling of that box.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Rawhide had a failure today where the dropdowns moved between
us matching and clicking, so we clicked the wrong one:
https://openqa.fedoraproject.org/tests/1005662
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This fails sometimes just because we're too early, or something.
Also with GNOME Shell 41rc, alt-f1 no longer works to open and
close the overview. super *does* seem to work in KDE these days,
so let's switch from alt-f1 to super everywhere.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
There's a bug in current F35/Rawhide which causes the GOA screen
in g-i-s not to show up. Since failing on that will block a lot
of testing, let's handle it as a soft failure.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
As suggested by @kparal, this adds a test that specifies an
additional repository using a metalink. The repository contains
a single package, 'testpackage', that supplements glibc (so it
should always get installed). The test runs an install then
checks that testpackage got installed.
We also deduplicate a pair of needles which were matching on the
same anaconda UI feature (an "add" button) and use that same
needle in this test.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Remove a whole chunk of needles that haven't matched for more
than 3 months. Also move a few needles to appropriate locations,
simplify some code chunks that relied on removed needles (if
we're not matching the needles, we don't need those chunks any
more), and drop some other no-longer-needed conditionals for
older releases.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We can match on apps_menu_button_active before the overview has
totally loaded in, and it seems the alt-f1 press can be dropped
in that case. Add a wait_still_screen to try and avoid that.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This adds a test for fingerprint-based login, as requested by
@benzea in #223. We use the fprintd dummy device to let us
simulate scanning a fingerprint, and check various scenarios
recommended by @benzea.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This PR adds a new test that automates the above mentioned test case.
It starts the installation in text mode using the `install_text` test
case, which it interrupts using the Anaconda crash trigger.
When the crash happens, it goes through the process of reporting
the bug to Bugzilla, checks that Bugzilla sends a positive
confirmation of the action, but also performs some REST API
calls to do a proper check and then it closes the bug to clean up.
This systemd update went stable ages ago. But now we need to add
a jpegxl update as a workaround to avoid KDE live build tests
failing on the problematic aom->jpegxl-libs->gimp dependency
chain I identified yesterday. It makes KDE live builds pull in
too many packages and fail because they run out of space.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Still hitting a fail sometimes on the spoke after Installation
Destination, when anaconda is still sorting things out and the
test tries to do stuff too fast. e.g.
https://openqa.stg.fedoraproject.org/tests/1206252 . See if this
helps.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Otherwise if it lags a bit we might try and click the Help!
button on the hub, and if that happens before anaconda has caught
up, we won't open Help at all.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Some fixups for anaconda_help. Two runs of it failed today around
handoff from the root password screen to the install progress
screen; add a couple of wait_still_screens there to make it
safer. Drop the added nonlive needles, because they're too
permissive, causing problems for other tests (they're matching
before they should); instead we solve the problem of spokes being
highlighted by just pressing shift-tab a few times. And fix some
tabs to be spaces.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This PR automates the mentioned testcase to test that Help can be
displayed in Anaconda during the installation. It navigates through
the available Help screens and if it can see it, it finishes.
This test runs after `install_default_upload` to override the
installation defaults defined for all primary tests.
Delete a duplicated needle.
Reformat list extensions to make it nicer.
Get rid of wrong export and an empty line.
Delete empty line.
Use _boot_to_anaconda for booting and move subroutine accordingly.
Add variable to templates.fif.json
Delete trailing whitespace.
Fix calling the pretest.
Move help checking to another place.
The Modularity tests rely on an external script to test the modular
behaviour of DNF. There is a potentional risk that the connection
is be down and the script cannot be downloaded.
This enhancement uses a regular OpenQA perl test case script to only
invoke DNF commands and parse their output to test the same behaviour
that we have been testing already.
This enhancement picks a random module for each of the operations,
and thus tries to mimick reality a little bit more.
Make the 'deactivate overview if it's active' thing a bit more
robust by asserting the inactive state after deactivating it,
and add new needles for the new RC (text got a bit brighter).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Drop Firefox and NSS updates which have been stable for a while,
update the systemd one to the latest which should hopefully
finally workaround the DNS issues.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This reverts commit e23df39ee1,
putting the systemd workaround back in place, now we know how to
avoid the bug it causes. It's going stable tomorrow anyway, but
I want to re-run failed tests with the fix right away. Used the
update ID this time, not the build number.
This will avoid us hitting a crash in systemd during update when
systemd is being updated. That's a real bug and it's good that
it's been caught, but we don't want unrelated updates to fail on
this just because systemd is in the update set.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It's causing crashes on update. I tried making us do an offline
update in repo_setup, not online, but that's actually quite hard
to implement so I'm not gonna do it on a Friday night. We'll
just live with unreliable _live_build for a bit longer.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
For consistency, let's just return to the desktop right away. We
also need to handle closing the overview before running installer
on live image boot.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
When we right-click then left-click, we should move away from
the menu to avoid actually clicking anything in it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It's gone stable, but we haven't had a compose yet. Adding it as
a workaround so I can just revert the workaround for the bug
(see previous commit).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
desktop_browser fails frequently on F34 KDE due to #1927972. The
new version should avoid that problem, adding it as a workaround
to hopefully make the test more reliable.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Add FEDORA-2021-263244c071 as a workaround to fix FreeIPA tests
on F34. Drop current 32 and 33 workarounds as they're all stable.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
In GNOME 40, the new-user mode of g-i-s is gone and we get the
welcome tour where we would previously have seen that. This
should handle that, I hope. I probably messed up somewhere.
Signed-off-by: Adam Williamson <awilliam@redhat.com>