Skip to content

test: add Device Power service group coverage#99

Draft
slingappa wants to merge 10 commits into
stack/slingapp_tests2/pr-8-clock-testsfrom
stack/slingapp_tests2/pr-9-device-power-tests
Draft

test: add Device Power service group coverage#99
slingappa wants to merge 10 commits into
stack/slingapp_tests2/pr-8-clock-testsfrom
stack/slingapp_tests2/pr-9-device-power-tests

Conversation

@slingappa

@slingappa slingappa commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

This PR adds Device Power service-group test coverage.

Stack

Depends on: PR-8

Changes

  • Add Device Power service-group tests for:
    • Domain count and attributes
    • State set/get mutation via platform callbacks
    • Invalid domains, short requests, and unsupported power-state rejection

Validation

  • make LIBRPMI_TEST=y CROSS_COMPILE= && make check CROSS_COMPILE=

Subrahmanya Lingappa added 10 commits May 15, 2026 12:32
Propagate per-test mismatches into scenario return status so
make check fails when a comparison fails.

Also copy request flags into the RPMI message header, verify ACK
header identity for normal requests, and reject unexpected ACKs for
posted requests. This makes the existing tests validate protocol
behavior instead of only printing failures.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Add BASE probe coverage for unregistered, experimental, and vendor
service group IDs, plus an invalid BASE service ID case.

This complements the existing positive BASE service tests and relies
on the shared harness ACK header checks to verify token, service group,
and service ID mirroring for normal requests.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Track reset callback invocation count and reset type so posted
SYSTEM_RESET requests are validated beyond response payload checks.

Cover both configured reset types, shutdown and cold reboot, and add
an unsupported reset-type posted request to verify the platform callback
is not invoked. The shared harness also verifies that posted requests do
not generate acknowledgements.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Add coverage for HSM_GET_SUSPEND_TYPES with no configured suspend
types, HSM_GET_SUSPEND_INFO for an invalid type, and HSM_HART_SUSPEND
with a full invalid-type request.

These cases cover previously untested HSM service IDs and distinguish a
malformed short suspend request from a valid-length request with an
invalid suspend type.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Add a dedicated SYSTEM_MSI test scenario and register it in the test
object list.

The scenario covers notification unsupported behavior, group attributes,
MSI attributes, MSI state set/get, MSI target set/get, invalid MSI
indexes, and invalid target address handling.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Add a dedicated SYSTEM_SUSPEND test scenario and register it in the test
object list.

The scenario covers notification unsupported behavior, attributes for
supported and unsupported suspend types, valid suspend callback flow,
and invalid suspend type handling using a single-hart HSM fixture.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Add a dedicated CPPC test scenario and register it in the test object
list.

The scenario covers notification unsupported behavior, register
probe/read/write paths, fast-channel region and offset discovery,
hart-list discovery, invalid register IDs, unsupported registers,
invalid harts, and denied writes to read-only registers.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Add a dedicated Voltage test scenario and register it in the test object
list.

The scenario covers notification unsupported behavior, domain count
reporting, attributes, discrete and linear supported-level queries,
config set/get, voltage level set/get, invalid domains, short requests,
bad config values, and unsupported voltage levels.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Add a dedicated Clock test scenario and register it in the test object
list.

The scenario covers notification unsupported behavior, clock count
reporting, attributes, discrete and linear supported-rate queries,
config set/get, 64-bit rate set/get, invalid clock IDs, bad rate
indexes, short requests, invalid rate-match flags, zero rates, and
unsupported rates.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Add a dedicated Device Power test scenario and register it in the test
object list.

The scenario covers notification unsupported behavior, domain count
reporting, attributes, state set/get mutation through platform
callbacks, invalid domain IDs, short requests, and unsupported
power-state rejection.

Signed-off-by: Subrahmanya Lingappa <subrahmanya.lingappa@qti.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant