-
-
Notifications
You must be signed in to change notification settings - Fork 109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various test improvement, especially for testing minimal templates #639
Conversation
e01beb9
to
58871e8
Compare
This allows more effective skipping tests for specific templates - without doing any setUp/tearDown.
... using another template for management dvm. That other template can be selected with QUBES_TEST_MGMT_TPL variable. For this to fully work, test updating a template instead of AppVM, as it will use updates proxy which should work with minimal template (contrary to direct network access).
This makes sense for testing if in-vm kernel works out of the box in selected templates. QubesOS/qubes-issues#5212
Plain minimial template wont work, but this allows testing if minimal + just networking packages installed. Specifically, this tests if installing qubes-core-agent-networking is enough to get networking working with minimal template.
58871e8
to
469e147
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #639 +/- ##
=======================================
Coverage 69.49% 69.49%
=======================================
Files 58 58
Lines 12465 12465
=======================================
Hits 8663 8663
Misses 3802 3802
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
OpenQA test summaryComplete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2024121004-4.3&flavor=pull-requests Test run included the following:
New failures, excluding unstableCompared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2024111705-4.3&flavor=update
Failed tests4 failures
Fixed failuresCompared to: https://openqa.qubes-os.org/tests/119126#dependencies 2 fixed
Unstable tests
|
c1495c0
to
cd42d76
Compare
a44064f
to
a1d8b07
Compare
Skip only the direct (no-proxy) update test, as minimal template doesn't have networking packages included. But do test all scenarios with proxy, just use the default template for repo-hosting VM.
HVM has disabled memory hotplug (due to incompatibility with QEMU), and so needs more RAM to fit everything + memory accounting for full maxmem. While at it, adjust the test to check if kernel-related settings are correctly inherited from the template.
0c2c171
to
e418cf3
Compare
qubes/tests/integ/audio.py
Outdated
@@ -338,7 +338,7 @@ def _configure_audio_recording(self, vm): | |||
str(source_index), | |||
] | |||
if audiovm.name != "dom0": | |||
self.loop.run_until_complete(audiovm.run(" ".join(cmd))) | |||
self.loop.run_until_complete(audiovm.run_for_stdio(" ".join(cmd))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this escape each element?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not necessary, the command is built literally few lines above and doesn't contain spaces or other fancy chars (and if it would, it should explode)
2344942
to
301f33d
Compare
When QUBES_TEST_WAIT_ON_FAIL=1 is set, do not wait if the test raises SkipTest exception. It's an expected behavior, not a real failure.
It seems pactl still exits with code 0 even if the change wasn't made. There is no info about it on stderr either. Verify if source-output was changed after the call, and if not - retry.
It's faster as the test is skipped before calling setUp().
Those do not have usage info available, so return None for metadata usage, instead of crashing on `float('')` call. Fixes: 6dffbf9 "storage/lvm: allow starting a VM even if not all its volumes are active"
Wait for the local repo to become available - python3 -m http may take a moment, and if the other parts are quick, the test would fail on connection refused error.
The point of the test is not its speed, but whether it eventually happens. On the other hand, some of the test runners can be quite slow under load.
301f33d
to
452b6a3
Compare
No description provided.