Merge ~liaou3/checkbox-iiotg/+git/checkbox-provider-intliotg:replace_powermanagement_jobs_with_ppc into ~checkbox-dev/checkbox-iiotg/+git/checkbox-provider-intliotg:master

Proposed by Vincent Liao
Status: Merged
Approved by: Vincent Liao
Approved revision: efba9a57b6b22649c1eac2571d76773180be47f3
Merged at revision: f3b61bf03faa5c5dd2d20f71079900efe30a16a7
Proposed branch: ~liaou3/checkbox-iiotg/+git/checkbox-provider-intliotg:replace_powermanagement_jobs_with_ppc
Merge into: ~checkbox-dev/checkbox-iiotg/+git/checkbox-provider-intliotg:master
Diff against target: 347 lines (+6/-56)
4 files modified
dev/null (+0/-44)
units/test-plan-core.pxu (+2/-4)
units/test-plan-desktop.pxu (+2/-4)
units/test-plan-server.pxu (+2/-4)
Reviewer Review Type Date Requested Status
Vic Liu Approve
Rick Wu Approve
Patrick Liu Pending
StanleyHuang Pending
PeiYao Chang Pending
Review via email: mp+454566@code.launchpad.net

Commit message

Modify: Replace current power-management-cpu-cstate jobs with checkbox ppc jobs

Description of the change

Currently we have power-management-cpu-cstate jobs in checkbox base provider, so there's no need for us to create our own jobs in checkbox-iiotg provider.
Submission: https://certification.canonical.com/hardware/202212-30958/submission/339813/

To post a comment you must log in.
Revision history for this message
Rick Wu (rickwu4444) wrote :

@Vicent, What's the reason that we don't need after-suspend any more?

Revision history for this message
Rick Wu (rickwu4444) wrote :

LGTM

review: Approve
Revision history for this message
Vincent Liao (liaou3) wrote :

> @Vicent, What's the reason that we don't need after-suspend any more?
Since those tests are to check the performance under c state which is an idle statement, there's no need for `after-suspend` And it's also why in checkbox ppc provider [1] we don't have the `after-suspend` test for these.

[1] https://github.com/canonical/checkbox/blob/40d2f3f56adbe570f1ce816a88203a39737061ed/providers/base/units/power-management/test-plan.pxu#L114

Revision history for this message
Vic Liu (zongminl) :
review: Needs Information
Revision history for this message
Vic Liu (zongminl) wrote :

LGTM, thank you.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/bin/screenoff.sh b/bin/screenoff.sh
2deleted file mode 100755
3index 2ca3a36..0000000
4--- a/bin/screenoff.sh
5+++ /dev/null
6@@ -1,38 +0,0 @@
7-#!/bin/bash
8-
9-while read -r line;
10-do
11- if [ "${line:0:7}" = "N: Name" ]; then
12- name="${line:9:-1}"
13- fi
14- if [ "${line:0:8}" = "S: Sysfs" ] && [ "$keyboard" -eq 1 ]; then
15- sysfs="${line:9}"
16- break
17- fi
18- if [ "$name" = "AT Translated Set 2 keyboard" ] ||
19- [ "${name:0:26}" = "Logitech Wireless Keyboard" ]; then
20- keyboard=1
21- else
22- keyboard=0
23- fi
24-done </proc/bus/input/devices
25-
26-event_sysfs=$(find "/sys$sysfs" -name "event*")
27-event_idx=$(echo "$event_sysfs" | awk -F/ '{print $NF}')
28-device="/dev/input/$event_idx"
29-
30-evemu-event "${device}" --type EV_MSC --code MSC_SCAN --value 219
31-evemu-event --sync "${device}" --type EV_KEY --code KEY_LEFTMETA --value 1
32-evemu-event "${device}" --type EV_MSC --code MSC_SCAN --value 38
33-evemu-event --sync "${device}" --type EV_KEY --code KEY_L --value 1
34-evemu-event "${device}" --type EV_MSC --code MSC_SCAN --value 38
35-evemu-event --sync "${device}" --type EV_KEY --code KEY_L --value 0
36-evemu-event "${device}" --type EV_MSC --code MSC_SCAN --value 219
37-evemu-event --sync "${device}" --type EV_KEY --code KEY_LEFTMETA --value 0
38-sleep "$1"
39-evemu-event "${device}" --type EV_MSC --code MSC_SCAN --value 28
40-evemu-event --sync "${device}" --type EV_KEY --code KEY_ENTER --value 1
41-evemu-event "${device}" --type EV_MSC --code MSC_SCAN --value 28
42-evemu-event --sync "${device}" --type EV_KEY --code KEY_ENTER --value 0
43-loginctl unlock-session
44-
45diff --git a/units/power-management-cpu-cstate/category.pxu b/units/power-management-cpu-cstate/category.pxu
46deleted file mode 100644
47index a2267af..0000000
48--- a/units/power-management-cpu-cstate/category.pxu
49+++ /dev/null
50@@ -1,3 +0,0 @@
51-unit: category
52-id: power-management-cpu-cstate
53-_name: Power Management CPU cstate
54diff --git a/units/power-management-cpu-cstate/jobs.pxu b/units/power-management-cpu-cstate/jobs.pxu
55deleted file mode 100644
56index 88a6d1e..0000000
57--- a/units/power-management-cpu-cstate/jobs.pxu
58+++ /dev/null
59@@ -1,124 +0,0 @@
60-# tests originally copied from
61-# https://git.launchpad.net/plainbox-provider-checkbox/tree/units/power-management/jobs.pxu
62-#
63-# Original tests:
64-# com.canonical.certification::power-management/idle-screen-on-residency-check
65-# com.canonical.certification::power-management/cpu-low-power-idle
66-# com.canonical.certification::power-management/system-low-power-idle
67-
68-id: power-management-cpu-cstate/idle-screen-on-residency-check
69-category_id: power-management-cpu-cstate
70-_summary: Test if CPU records time in desired low power C-state when idle
71-_description:
72- When the system has the screen on, but the CPU is idle, it should enter deeper idle state
73- to reduce power consumption. The expected states are identified as PC8, PC9 and PC10.
74- For more detail refer to https://01.org/blogs/qwang59/2020/linux-s0ix-troubleshooting
75-unit: job
76-plugin: shell
77-imports:
78- from com.canonical.certification import cpuinfo
79- from com.canonical.certification import sleep
80-requires:
81- cpuinfo.type == 'GenuineIntel'
82- sleep.mem_sleep == 's2idle'
83-flags: also-after-suspend
84-command:
85- short-idle-check.sh -s 20
86- RET=$?
87- if [ $RET -ne 0 ]; then
88- echo "The CPU package target idle state residency is 0."
89- echo "It will consume more power when the system has the screen on, but the CPU is idle."
90- echo "More detail is in https://01.org/blogs/qwang59/2020/linux-s0ix-troubleshooting."
91- exit 1
92- fi
93-user: root
94-estimated_duration: 22
95-
96-id: power-management-cpu-cstate/cpu-low-power-idle
97-category_id: power-management-cpu-cstate
98-_summary: CPU low power idle residency check
99-_description:
100- Check if CPU can achieve low power idle when screen off.
101- For more detail, please refer to https://www.kernel.org/doc/html/latest/firmware-guide/acpi/lpit.html.
102-unit: job
103-plugin: shell
104-imports:
105- from com.canonical.certification import cpuinfo
106- from com.canonical.certification import sleep
107-requires:
108- cpuinfo.cpu_lpi_file in ('low_power_idle_cpu_residency_us', 'package_cstate_show')
109- sleep.mem_sleep == 's2idle'
110-flags: also-after-suspend
111-command:
112- cpu_lpi_file=$("$CHECKBOX_RUNTIME"/providers/checkbox-provider-resource/bin/cpuinfo_resource.py | grep cpu_lpi_file | awk '{ print $2 }')
113- if [ "$cpu_lpi_file" == "low_power_idle_cpu_residency_us" ]; then
114- before=$(cat /sys/devices/system/cpu/cpuidle/low_power_idle_cpu_residency_us)
115- screenoff.sh 20
116- after=$(cat /sys/devices/system/cpu/cpuidle/low_power_idle_cpu_residency_us)
117- residency=$((after-before))
118- echo "/sys/devices/system/cpu/cpuidle/low_power_idle_cpu_residency_us after/before screen off is $residency"
119- else
120- echo "The system doesn't have hardware-based residency counter."
121- echo "please check https://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf"
122- before=$(cat < /sys/kernel/debug/pmc_core/package_cstate_show | grep C10 | awk '{ print $4 }')
123- screenoff.sh 20
124- after=$(cat < /sys/kernel/debug/pmc_core/package_cstate_show | grep C10 | awk '{ print $4 }')
125- residency=$((after-before))
126- echo "/sys/kernel/debug/pmc_core/package_cstate_show after/before screen off is $residency"
127- fi
128- if [ $residency -eq 0 ]; then
129- echo "The cpu can't enter low power idle when screen off."
130- echo "please refer to https://www.kernel.org/doc/html/latest/firmware-guide/acpi/lpit.html."
131- exit 1
132- fi
133-user: root
134-estimated_duration: 25
135-
136-id: power-management-cpu-cstate/system-low-power-idle
137-after: com.canonical.certification::suspend/suspend_advanced_auto
138-category_id: power-management-cpu-cstate
139-_summary: System low power idle residency check
140-_description:
141- Check if system can achieve low power idle in suspend.
142- For more detail, plesae refer to https://www.kernel.org/doc/html/latest/firmware-guide/acpi/lpit.html.
143-unit: job
144-plugin: shell
145-imports:
146- from com.canonical.certification import cpuinfo
147- from com.canonical.certification import sleep
148-requires:
149- cpuinfo.sys_lpi_file in ('low_power_idle_system_residency_us', 'slp_s0_residency_usec')
150- sleep.mem_sleep == 's2idle'
151-command:
152- sys_lpi_file=$("$CHECKBOX_RUNTIME"/providers/checkbox-provider-resource/bin/cpuinfo_resource.py | grep sys_lpi_file | awk '{ print $2 }')
153- echo "mem_sleep: $(cat /sys/power/mem_sleep)"
154- dmesg | grep ACPI | grep supports | sed 's/\[.*ACPI/ACPI/'
155- echo "Content of /etc/default/grub:"
156- cat /etc/default/grub
157- if [ "$sys_lpi_file" == "low_power_idle_system_residency_us" ]; then
158- before=$(cat /sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us)
159- rtcwake --mode freeze -s 10
160- after=$(cat /sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us)
161- residency=$((after-before))
162- echo "/sys/devices/system/cpu/cpuidle/low_power_idle_system_residency_us after/before suspend is $residency"
163- else
164- echo "The system doesn't have hardware-based residency counter."
165- echo "please check https://www.uefi.org/sites/default/files/resources/Intel_ACPI_Low_Power_S0_Idle.pdf"
166- before=$(cat /sys/kernel/debug/pmc_core/slp_s0_residency_usec)
167- rtcwake --mode freeze -s 10
168- after=$(cat /sys/kernel/debug/pmc_core/slp_s0_residency_usec)
169- residency=$((after-before))
170- echo "/sys/kernel/debug/pmc_core/slp_s0_residency_usec after/before suspend is $residency"
171- fi
172- # shellcheck disable=SC2086
173- if [ $residency -eq 0 ]; then
174- echo "The system can't enter s0 when suspended."
175- echo "please refer to https://www.kernel.org/doc/html/latest/firmware-guide/acpi/lpit.html."
176- if [ -f /sys/kernel/debug/suspend_stats ]; then
177- echo "cat /sys/kernel/debug/suspend_stats"
178- cat /sys/kernel/debug/suspend_stats
179- fi
180- exit 1
181- fi
182-user: root
183-estimated_duration: 15
184diff --git a/units/power-management-cpu-cstate/test-plan.pxu b/units/power-management-cpu-cstate/test-plan.pxu
185deleted file mode 100644
186index 9814220..0000000
187--- a/units/power-management-cpu-cstate/test-plan.pxu
188+++ /dev/null
189@@ -1,44 +0,0 @@
190-id: power-management-cpu-cstate-full
191-_name: Power Management CPU cstate (Full)
192-unit: test plan
193-include:
194-nested_part:
195- power-management-cpu-cstate-manual
196- power-management-cpu-cstate-automated
197-
198-id: after-suspend-power-management-cpu-cstate-full
199-_name: After Suspend Power Management CPU cstate (Full)
200-unit: test plan
201-include:
202-nested_part:
203- after-suspend-power-management-cpu-cstate-manual
204- after-suspend-power-management-cpu-cstate-automated
205-
206-id: power-management-cpu-cstate-manual
207-_name: Power Management CPU cstate (Manual)
208-unit: test plan
209-include:
210-nested_part:
211-
212-id: power-management-cpu-cstate-automated
213-_name: Power Management CPU cstate (Automated)
214-unit: test plan
215-include:
216- power-management-cpu-cstate/idle-screen-on-residency-check
217- power-management-cpu-cstate/cpu-low-power-idle
218-nested_part:
219-
220-id: after-suspend-power-management-cpu-cstate-manual
221-_name: After Suspend Power Management CPU cstate (Manual)
222-unit: test plan
223-include:
224-nested_part:
225-
226-id: after-suspend-power-management-cpu-cstate-automated
227-_name: After Suspend Power Management CPU cstate (Automated)
228-unit: test plan
229-include:
230- power-management-cpu-cstate/system-low-power-idle
231- after-suspend-power-management-cpu-cstate/idle-screen-on-residency-check
232- after-suspend-power-management-cpu-cstate/cpu-low-power-idle
233-nested_part:
234diff --git a/units/test-plan-core.pxu b/units/test-plan-core.pxu
235index 0cae768..955d16f 100644
236--- a/units/test-plan-core.pxu
237+++ b/units/test-plan-core.pxu
238@@ -89,7 +89,6 @@ include:
239 nested_part:
240 device-connections-tp # must come first
241 watchdog-intliotg-automated
242- power-management-cpu-cstate-automated
243 qep-automated
244 com.canonical.certification::edac-automated
245 usb-dwc3-automated
246@@ -98,7 +97,7 @@ nested_part:
247 intel-mei-automated
248 com.canonical.qa.ceoem::ce-oem-automated
249 com.canonical.certification::client-cert-iot-ubuntucore-22-automated
250- after-suspend-power-management-cpu-cstate-automated
251+ com.canonical.certification::power-management-cpu-cstate-cert-automated
252 com.canonical.qa.ceoem::after-suspend-ce-oem-automated
253 exclude:
254 com.canonical.certification::tpm2.0_4.1.1/.*
255@@ -118,7 +117,6 @@ include:
256 nested_part:
257 device-connections-tp # must come first
258 watchdog-intliotg-automated
259- power-management-cpu-cstate-automated
260 qep-automated
261 com.canonical.certification::edac-automated
262 usb-dwc3-automated
263@@ -126,7 +124,7 @@ nested_part:
264 thermal-automated
265 intel-mei-automated
266 com.canonical.certification::client-cert-iot-ubuntucore-20-automated
267- after-suspend-power-management-cpu-cstate-automated
268+ com.canonical.certification::power-management-cpu-cstate-cert-automated
269 exclude:
270 com.canonical.certification::tpm2.0_4.1.1/.*
271 com.canonical.certification::watchdog/.*
272diff --git a/units/test-plan-desktop.pxu b/units/test-plan-desktop.pxu
273index c1553e0..f6fd321 100644
274--- a/units/test-plan-desktop.pxu
275+++ b/units/test-plan-desktop.pxu
276@@ -91,7 +91,6 @@ _description:
277 include:
278 nested_part:
279 watchdog-intliotg-automated
280- power-management-cpu-cstate-automated
281 qep-automated
282 com.canonical.certification::edac-automated
283 usb-dwc3-automated
284@@ -101,7 +100,7 @@ nested_part:
285 intel-mei-automated
286 com.canonical.qa.ceoem::ce-oem-automated
287 com.canonical.certification::client-cert-desktop-22-04-automated
288- after-suspend-power-management-cpu-cstate-automated
289+ com.canonical.certification::power-management-cpu-cstate-cert-automated
290 com.canonical.qa.ceoem::after-suspend-ce-oem-automated
291 exclude:
292 com.canonical.qa.ceoem::.*ce-oem-mtd.*
293@@ -115,7 +114,6 @@ _description:
294 include:
295 nested_part:
296 watchdog-intliotg-automated
297- power-management-cpu-cstate-automated
298 qep-automated
299 com.canonical.certification::edac-automated
300 usb-dwc3-automated
301@@ -124,7 +122,7 @@ nested_part:
302 thermal-automated
303 intel-mei-automated
304 com.canonical.certification::client-cert-desktop-20-04-automated
305- after-suspend-power-management-cpu-cstate-automated
306+ com.canonical.certification::power-management-cpu-cstate-cert-automated
307 exclude:
308 com.canonical.qa.ceoem::.*ce-oem-mtd.*
309
310diff --git a/units/test-plan-server.pxu b/units/test-plan-server.pxu
311index 87b8ef8..8226394 100644
312--- a/units/test-plan-server.pxu
313+++ b/units/test-plan-server.pxu
314@@ -80,7 +80,6 @@ _description:
315 include:
316 nested_part:
317 watchdog-intliotg-automated
318- power-management-cpu-cstate-automated
319 qep-automated
320 com.canonical.certification::edac-automated
321 usb-dwc3-automated
322@@ -89,7 +88,7 @@ nested_part:
323 intel-mei-automated
324 com.canonical.qa.ceoem::ce-oem-automated
325 com.canonical.certification::client-cert-iot-server-22-04-automated
326- after-suspend-power-management-cpu-cstate-automated
327+ com.canonical.certification::power-management-cpu-cstate-cert-automated
328 com.canonical.qa.ceoem::after-suspend-ce-oem-automated
329 exclude:
330 com.canonical.certification::watchdog/.*
331@@ -104,7 +103,6 @@ _description:
332 include:
333 nested_part:
334 watchdog-intliotg-automated
335- power-management-cpu-cstate-automated
336 qep-automated
337 com.canonical.certification::edac-automated
338 usb-dwc3-automated
339@@ -112,7 +110,7 @@ nested_part:
340 thermal-automated
341 intel-mei-automated
342 com.canonical.certification::client-cert-iot-server-20-04-automated
343- after-suspend-power-management-cpu-cstate-automated
344+ com.canonical.certification::power-management-cpu-cstate-cert-automated
345 exclude:
346 com.canonical.certification::watchdog/.*
347 com.canonical.qa.ceoem::.*ce-oem-mtd.*

Subscribers

People subscribed via source and target branches