-
Notifications
You must be signed in to change notification settings - Fork 52
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
Reboot check test python version (New) #1338
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1338 +/- ##
==========================================
+ Coverage 44.82% 46.97% +2.15%
==========================================
Files 359 361 +2
Lines 38834 39334 +500
Branches 6585 6663 +78
==========================================
+ Hits 17409 18479 +1070
+ Misses 20756 20157 -599
- Partials 669 698 +29
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
9b8eaed
to
be12244
Compare
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.
Very good, please strip out that custom command runner, I think it is hurting the whole file a bit if you dont have a very good reason to use it.
(Also, sorry this took me so much time to review, hope we can land this soon)
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.
This looks ok, please remember that instead of using check=True
you can almost always use check_(output/call)
calls. Also, you don't need .stdout.decode()
, just use the universal_newlines=True
. Either way, feel free to land this
Description
This PR has the 2 following major changes:
Migrating the original
reboot_check_test.sh
to pythonThe new script splits the original script into 2 tester classes and 1 test function
DeviceInfoCollector
class compares device info gathered after reboots against the ground truth collected at the beginning. For each reboot, it collects output fromiw
,lsub
,lspci
, andls /sys/class/drm
.FwtsTester
class simply callsfwts
and runs thesleep_test_log_check.py
script that lives in the same directoryget_failed_services
returns a list of failed system servicesThis migration does not introduce any changes to the CLI flags except the new
-g
flag for the renderer test.The corresponding test plan,
boot.pxu
, is updated in #1339 with the new file name and the new-g flag.
New hardware renderer test
A check for hardware renderer in warm/cold boot tests is implemented. This checks if the DUT is always using hardware rendering across reboots.
HardwareRendererTester
contains the test implementation. This test only runs if:Resolved issues
Launchpad 2051627
Documentation
python3 reboot_check_test.py -h
shows all the flags and what they meanTests
On 22.04 server image: https://certification.canonical.com/hardware/202405-34022/submission/381261/
On a laptop with 22.04 desktop image: https://certification.canonical.com/hardware/202406-34135/submission/381283/
Run unit tests:
checkbox/providers/base/manage.py test -u