IPA & RMNET tests: robust module handling, /dev node checks, dmesg scan, ShellCheck fixes #131
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR updates only the IPA and RMNET testcases (and the shared helpers they use) to be platform-agnostic and CI friendly.
What changed
IPA (Runner/suites/Kernel/Baseport/IPA/run.sh)
Gate on CONFIG_QCOM_IPA with check_kernel_config (no more broken-pipe spam).
Load ipa only if not already loaded; unload only if we loaded it.
/dev/ipa presence checked with wait_for_path; absence leads to SKIP, not FAIL.
Uses scan_dmesg_errors "ipa" … "handshake_complete.*error" "IPA Q6 handshake completed" to:
Warn on error patterns.
Log PASS when the success line appears.
Cleaner logging and final .res output strictly IPA PASS|FAIL|SKIP.
RMNET (Runner/suites/Kernel/Baseport/RMNET/run.sh)
Gate on CONFIG_RMNET.
Load/unload rmnet symmetrically (respect preloaded state).
/dev/rmnet* checked; if missing, WARN only (common when no data call yet).
dmesg scanned for rmnet errors via scan_dmesg_errors "rmnet" "." "panic|oops|fault"; logs issues without hard failing unless desired.
Optional ip link info printed, but never fails the test if interfaces aren’t up.
Shared helpers (functestlib.sh)
scan_dmesg_errors(label, out_dir, extra_err, ok_kw)
Logs both error and success patterns.
Return codes: 0=errors seen, 1=no errors, 2=no OK match, 3=misuse.
check_kernel_config() now uses zgrep when available; gzip fallback removed the “Broken pipe” noise.