Autopilot: assert window stack throughout install
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubiquity (Ubuntu) |
Fix Released
|
Undecided
|
Dan Chapman |
Bug Description
At various points during the install we can come across various different error dialogs, this is hard to anticipate which dialog will appear at which point for what reason, therefore the current tests ignore this fact and only check for two error dialog during the progress bar section of the installation. Which polling on dbus for non existent dialogs is really hacky and horrible.
We should rather use process manager to get the window stack and assert the visible window stack at the beginning and end of each page load and repeatedly during the progress bar section. If we catch that the window stack has changed it can only be a dialog that's appeared so selecting the visible dialog come up with a way to report which dialog appeared and the info it provides.
Something along the lines of
#at the start of the test on ubiquity loading get the visible window stack
visible_stack = self.process_
#then throughout the test use
self.assertVisi
we need to catch and handle the exception correctly so we can get the info we need before failing the test
Related branches
- Jean-Baptiste Lallement: Approve
-
Diff: 1158 lines (+410/-417)15 files modifiedautopilot/launch_vis (+9/-0)
autopilot/ubiquity-autopilot-runner/custom-installation/iso-override/usr/local/bin/run-autopilot.sh (+2/-0)
autopilot/ubiquity_autopilot_tests/configs/eng_label_values.py (+0/-102)
autopilot/ubiquity_autopilot_tests/configs/english_label_conf.py (+170/-0)
autopilot/ubiquity_autopilot_tests/emulators/gtktoplevel.py (+0/-74)
autopilot/ubiquity_autopilot_tests/tests/__init__.py (+220/-206)
autopilot/ubiquity_autopilot_tests/tests/test_custom_install.py (+1/-1)
autopilot/ubiquity_autopilot_tests/tests/test_english_default.py (+2/-2)
autopilot/ubiquity_autopilot_tests/tests/test_english_encrypt_lvm.py (+1/-1)
autopilot/ubiquity_autopilot_tests/tests/test_english_lvm.py (+1/-1)
autopilot/ubiquity_autopilot_tests/tests/test_nonenglish_default.py (+2/-2)
autopilot/ubiquity_autopilot_tests/tests/test_nonenglish_encrypt_lvm.py (+1/-1)
autopilot/ubiquity_autopilot_tests/tests/test_nonenglish_lvm.py (+1/-1)
autopilot/ubiquity_autopilot_tests/unittests/test_expects.py (+0/-12)
autopilot/ubiquity_autopilot_tests/unittests/test_matchers.py (+0/-14)
Changed in ubiquity (Ubuntu): | |
assignee: | nobody → Dan Chapman (dpniel) |
status: | New → Fix Committed |
Changed in ubiquity (Ubuntu): | |
status: | Fix Committed → Fix Released |