ArmSuspendResumeTesting
Launchpad Entry: mobile-lucid-arm-suspend-resume-testplan
Created: 2009-11-02
Contributors: AlexanderSack, PaulLarson
Packages affected:
Summary
Suspend/Resume is an essential use-case for netbook/smartbook users and as such requires extensive testing during development cycle and before release. Hence, this spec is supposed to adds extensive suspend/resume testing to the arm image and hardware testing efforts. This spec identifies required testcases, prioritizes them and defines abstract actions as applicable.
Rationale
By extending and improving the checkbox tests for suspend/resume we can ease the ability to do suspend/resume testing.
Design
The implementation section defines testcases, assigns priorities to them and gives background where available. We will allocate one action for each testcase that will deal with doing the research and filling in the missing details of this specification.
The goal is to get the testcases implemented and merged into checkbox - preferably fully automated and in a way that non-arm architectures might also benefit from this work in the future.
Implementation
Testcase |
Summary |
Priority |
Status |
Comments |
memory/ECC |
compare /proc/meminfo before/after resume |
Base |
DONE |
automated |
network |
ping after resume still working |
Base |
DONE |
automated |
graphics |
no artifacts or glitches in graphics after resume |
Base |
DONE |
manual |
HID devices |
verify input devices working after resume, also remove or attach during sleep |
Base |
DONE |
manual: mice, accelerometers, touchscreen, electrostatic button bars, fingerprint and other auth devices |
cpufreq/voltage |
run something before/after resume, make sure cputime for execution is reasonably close |
Base |
DONE |
|
usb/usb otg |
add and remove device during sleep |
STD |
DONE |
block devs, not char devs which are covered under HID |
media playback |
suspend during audio/video playback, should resume from where it left off |
STD |
DONE |
|
SD card/SDIO |
remove during sleep |
STD |
DONE |
|
wireless soft switch |
compare rfkill list before/after, ask if nm reset correctly |
STD |
DONE |
|
keyboard soft switches |
capslock, numlock, etc should be in same state as before suspend |
STD |
DONE |
|
v4l |
video capture devices should still function after resume, suspend during capture may be an interesting test as well |
Extra |
|
|
multi-display |
connect second display, xrandr, second display should still be active after resume, also disconnecting while sleeping should not cause problems |
Extra |
|
|
bluetooth adapters/devices |
NEEDINFO |
Extra |
|
|
pcie |
NEEDINFO |
Extra |
|
|
PCMCIA |
NEEDINFO |
Extra |
|
|
eSATA |
remove device during suspended state |
Extra |
|
|
network file systems |
suspend/resume while mounted |
Extra |
|
|
network block devices (nbd, iSCSI, etc) |
suspend/resume while mounted |
Extra |
|
|
multicore tests |
NEEDINFO all cores should still be in the same state, processes pinned to cpus should be on the same core, etc |
Extra |
|
|
Mobile radio/telephony devices |
NEEDINFO |
Extra |
|
|
fan/cooling |
functioning correctly on resume |
Extra |
|
|
Encryption Engines |
NEEDINFO |
Extra |
|
|
NAND/MTD |
NEEDINFO |
Extra |
|
should only be relevant during boot, not on resume. persia may have some ideas here |
backlight |
restore to previous state |
Extra |
|
|
Notes/Gobby Transscript
https://blueprints.edge.launchpad.net/ubuntu/+spec/mobile-lucid-arm-suspend-resume-testplan
https://wiki.ubuntu.com/KernelTeam/SuspendResumeTesting 300 consecutive suspend/resume uses wake alarm scripts RTC wakeup
Works for freescale, works for marvell
How can you make sure that every driver has reinitialized properly on resume? * something has to be done on each resume to test them all * could add a lot of manual tests to do this * existing test scripts do not currently cover this * drivers have to be checked after suspend/resume and hibernate
- - memory / ECC - suspend resume during media playback (audio/video) - v4L - network could be checked with ping - graphics will need manual look
- - xrandr - second display - disconnect display
- remove card during sleep (manual test)
- remove card during sleep
- - mouse - accelerometers - touchscreen - electrostatic button bars (persia) - fingerprint readers / authentication devices
- - backlight - fan / cooling - sensors? (may not be right place)
- - soft switches for wireless control - soft switches / keys for keyboard media functions
Discussion about the implications of suspend/resume on local media playback
- - expected to resume where it left off after resume
- it is possible using known power management hooks to prevent sleep or ConsoleKit to pause media before suspend and play media after resume
ACTIONS:
- Identify what of the ones above can be tested automatically
- Gather input from QA/OEM team about what is already done
- Identify what parts can be added to checkbox
- Identify what parts are really special to mobile
- Ensure that things that are not mobile specific are getting done too (not necessarily by mobile team).
- Check what is different for hibernation (compared to suspend)
Two QA leads, people will have to volunteer to test some of these subsystems Write up test cases so that volunteers can run them Write up automated test cases - QA
Specs/Mobile/Lucid/ArmSuspendResumeTesting (last edited 2010-07-12 14:51:17 by cpe-76-93-11-183)