[PATCH stalld 20/52] tests: Replace wait conditionals with asserts
Wander Lairson Costa <[email protected]> Mon, 8 Jun 2026 15:31:30 -0300
| Newsgroups | org.kernel.vger.linux-rt-users |
|---|---|
| Message-ID | <[email protected]> |
Several test files currently use custom conditional blocks to wait for starvation or boost detection, manually handling success and failure logging. Replace these verbose conditionals with flat calls to the existing assert_starvation_detected and assert_boost_detected helpers. The previously nested log assertions are subsequently moved to the top level. The assert helpers provide identical behavior by passing on success or failing and dumping the log on error. Flattening these blocks deduplicates logic already encapsulated in the test helpers and removes unnecessary nesting. This refactoring is a direct prerequisite for introducing fail-fast semantics to the test framework, where calling fail will immediately terminate the test. Signed-off-by: Wander Lairson Costa <[email protected]> Assisted-by: Claude Code:claude-opus-4-6[1m] [PAL] --- tests/functional/test_deadline_boosting.sh | 12 ++---------- tests/functional/test_fifo_boosting.sh | 12 ++---------- .../functional/test_fifo_priority_starvation.sh | 16 +++------------- tests/functional/test_starvation_detection.sh | 16 +++------------- 4 files changed, 10 insertions(+), 46 deletions(-) diff --git a/tests/functional/test_deadline_boosting.sh b/tests/functional/test_deadline_boosting.sh index 5f10b48..50e949c 100755 --- a/tests/functional/test_deadline_boosting.sh +++ b/tests/functional/test_deadline_boosting.sh @@ -36,16 +36,8 @@ start_starvation_gen -c ${TEST_CPU} -p 80 -n 2 -d ${starvation_duration} # Wait for boosting log "Waiting for boost detection..." -if wait_for_boost_detected "${STALLD_LOG}"; then - pass "Boosting occurred" - - # Verify SCHED_DEADLINE was used - assert_log_contains "${STALLD_LOG}" "SCHED_DEADLINE" "SCHED_DEADLINE boosting used (default)" -else - fail "No boosting detected" - log "Log contents:" - cat "${STALLD_LOG}" -fi +assert_boost_detected "${STALLD_LOG}" "Boosting occurred" +assert_log_contains "${STALLD_LOG}" "SCHED_DEADLINE" "SCHED_DEADLINE boosting used (default)" # Cleanup cleanup_scenario "${STARVE_PID}" diff --git a/tests/functional/test_fifo_boosting.sh b/tests/functional/test_fifo_boosting.sh index 8f70c0a..4da1182 100755 --- a/tests/functional/test_fifo_boosting.sh +++ b/tests/functional/test_fifo_boosting.sh @@ -34,16 +34,8 @@ start_stalld_with_log "${STALLD_LOG}" -f -v -g 1 -N -F -A -t $threshold -c ${TES # Wait for boosting log "Waiting for boost detection..." -if wait_for_boost_detected "${STALLD_LOG}"; then - pass "Boosting occurred with -F flag" - - # Verify SCHED_FIFO was used - assert_log_contains "${STALLD_LOG}" "SCHED_FIFO" "SCHED_FIFO boosting used (as requested by -F)" -else - fail "No boosting detected with -F flag" - log "Log contents:" - cat "${STALLD_LOG}" -fi +assert_boost_detected "${STALLD_LOG}" "Boosting occurred with -F flag" +assert_log_contains "${STALLD_LOG}" "SCHED_FIFO" "SCHED_FIFO boosting used (as requested by -F)" # Cleanup cleanup_scenario "${STARVE_PID}" diff --git a/tests/functional/test_fifo_priority_starvation.sh b/tests/functional/test_fifo_priority_starvation.sh index a8d3a31..a4e1a65 100755 --- a/tests/functional/test_fifo_priority_starvation.sh +++ b/tests/functional/test_fifo_priority_starvation.sh @@ -40,19 +40,9 @@ start_stalld_with_log "${STALLD_LOG}" -f -v -l -t $threshold -c ${TEST_CPU} -a $ # Wait for starvation detection log "Waiting for starvation detection..." -if wait_for_starvation_detected "${STALLD_LOG}"; then - pass "FIFO-on-FIFO starvation detected" - - # Verify correct CPU is logged - assert_log_contains "${STALLD_LOG}" "starved on CPU ${TEST_CPU}" "Correct CPU ID logged (CPU ${TEST_CPU})" - - # Verify duration is logged - assert_log_contains "${STALLD_LOG}" "starved on CPU ${TEST_CPU} for [0-9]" "Starvation duration logged" -else - fail "FIFO-on-FIFO starvation not detected" - log "Log contents:" - cat "${STALLD_LOG}" -fi +assert_starvation_detected "${STALLD_LOG}" "FIFO-on-FIFO starvation detected" +assert_log_contains "${STALLD_LOG}" "starved on CPU ${TEST_CPU}" "Correct CPU ID logged (CPU ${TEST_CPU})" +assert_log_contains "${STALLD_LOG}" "starved on CPU ${TEST_CPU} for [0-9]" "Starvation duration logged" # Cleanup cleanup_scenario "${STARVE_PID}" diff --git a/tests/functional/test_starvation_detection.sh b/tests/functional/test_starvation_detection.sh index 943503b..1df6bb0 100755 --- a/tests/functional/test_starvation_detection.sh +++ b/tests/functional/test_starvation_detection.sh @@ -35,19 +35,9 @@ start_stalld_with_log "${STALLD_LOG}" -f -v -N -l -t $threshold -c ${TEST_CPU} - # Wait for starvation detection log "Waiting for starvation detection..." -if wait_for_starvation_detected "${STALLD_LOG}"; then - pass "Starvation detected" - - # Verify correct CPU is logged - assert_log_contains "${STALLD_LOG}" "starved on CPU ${TEST_CPU}" "Correct CPU ID logged (CPU ${TEST_CPU})" - - # Verify duration is logged - assert_log_contains "${STALLD_LOG}" "starved on CPU ${TEST_CPU} for [0-9]" "Starvation duration logged" -else - fail "Starvation not detected" - log "Log contents:" - cat "${STALLD_LOG}" -fi +assert_starvation_detected "${STALLD_LOG}" "Starvation detected" +assert_log_contains "${STALLD_LOG}" "starved on CPU ${TEST_CPU}" "Correct CPU ID logged (CPU ${TEST_CPU})" +assert_log_contains "${STALLD_LOG}" "starved on CPU ${TEST_CPU} for [0-9]" "Starvation duration logged" # Cleanup cleanup_scenario "${STARVE_PID}" -- 2.54.0