[PATCH stalld 09/52] tests: Fix boost verification in runtime and duration tests
Wander Lairson Costa <[email protected]> Mon, 8 Jun 2026 15:31:19 -0300
| Newsgroups | org.kernel.vger.linux-rt-users |
|---|---|
| Message-ID | <[email protected]> |
The boost runtime and duration tests were previously passing the log-only flag (-l) to stalld. This caused the daemon to detect starvation but never actually boost tasks. Furthermore, the tests used assert_starvation_detected, which only verified that starvation was noticed rather than confirming a successful boost. As a result, the tests passed trivially without validating the -r and -d options. Remove the log-only flag so stalld operates in normal mode and switch the assertions to assert_boost_detected. Signed-off-by: Wander Lairson Costa <[email protected]> Assisted-by: Claude Code:claude-opus-4-6[1m] [PAL] --- tests/functional/test_boost_duration.sh | 24 ++++++++++++------------ tests/functional/test_boost_runtime.sh | 24 ++++++++++++------------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/tests/functional/test_boost_duration.sh b/tests/functional/test_boost_duration.sh index e9a2135..aa46e84 100755 --- a/tests/functional/test_boost_duration.sh +++ b/tests/functional/test_boost_duration.sh @@ -22,15 +22,15 @@ test_section "Test 1: Default boost duration (no -d specified)" threshold=3 log "Starting stalld with ${threshold}s threshold (default boost duration)" -start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -l +start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} # Create starvation starvation_duration=15 log "Creating starvation on CPU ${TEST_CPU} for ${starvation_duration}s" start_starvation_gen -c "${TEST_CPU}" -p 80 -n 2 -d ${starvation_duration} -# Wait for starvation detection -assert_starvation_detected "${STALLD_LOG}" "Starvation detection occurred with default duration" +# Wait for actual boosting +assert_boost_detected "${STALLD_LOG}" "Boost with default duration" # Cleanup cleanup_scenario "${STARVE_PID}" @@ -44,14 +44,14 @@ short_duration=1 rm -f "${STALLD_LOG}" log "Starting stalld with ${threshold}s threshold and ${short_duration}s boost duration" -start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -d ${short_duration} -l +start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -d ${short_duration} # Create starvation log "Creating starvation on CPU ${TEST_CPU} for ${starvation_duration}s" start_starvation_gen -c "${TEST_CPU}" -p 80 -n 2 -d ${starvation_duration} -# Wait for starvation detection -assert_starvation_detected "${STALLD_LOG}" "Starvation detection with ${short_duration}s duration" +# Wait for actual boosting +assert_boost_detected "${STALLD_LOG}" "Boost with ${short_duration}s duration" # Cleanup cleanup_scenario "${STARVE_PID}" @@ -67,14 +67,14 @@ threshold=10 rm -f "${STALLD_LOG}" log "Starting stalld with ${threshold}s threshold and ${long_duration}s boost duration" -start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -d ${long_duration} -l +start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -d ${long_duration} # Create starvation log "Creating starvation on CPU ${TEST_CPU} for ${long_starvation}s" start_starvation_gen -c "${TEST_CPU}" -p 80 -n 2 -d ${long_starvation} -# Wait for starvation detection -assert_starvation_detected "${STALLD_LOG}" "Starvation detection with ${long_duration}s duration" +# Wait for actual boosting +assert_boost_detected "${STALLD_LOG}" "Boost with ${long_duration}s duration" # Cleanup cleanup_scenario "${STARVE_PID}" @@ -89,14 +89,14 @@ duration=2 rm -f "${STALLD_LOG}" log "Starting stalld with ${threshold}s threshold and ${duration}s boost duration" -start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -d ${duration} -l +start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -d ${duration} # Create starvation with a specific task we can track log "Creating starvation on CPU ${TEST_CPU} for 15s" start_starvation_gen -c "${TEST_CPU}" -p 80 -n 1 -d 15 -# Wait for starvation detection -assert_starvation_detected "${STALLD_LOG}" "Starvation detection with ${duration}s boost duration" +# Wait for actual boosting +assert_boost_detected "${STALLD_LOG}" "Boost with ${duration}s boost duration" # Cleanup cleanup_scenario "${STARVE_PID}" diff --git a/tests/functional/test_boost_runtime.sh b/tests/functional/test_boost_runtime.sh index dfecccc..caaeb1d 100755 --- a/tests/functional/test_boost_runtime.sh +++ b/tests/functional/test_boost_runtime.sh @@ -22,15 +22,15 @@ test_section "Test 1: Default runtime (no -r specified)" threshold=3 log "Starting stalld with ${threshold}s threshold (default boost runtime)" -start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -l +start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} # Create starvation starvation_duration=10 log "Creating starvation on CPU ${TEST_CPU} for ${starvation_duration}s" start_starvation_gen -c "${TEST_CPU}" -p 80 -n 2 -d ${starvation_duration} -# Wait for detection and boosting -assert_starvation_detected "${STALLD_LOG}" "Starvation detection with default runtime" +# Wait for actual boosting +assert_boost_detected "${STALLD_LOG}" "Boost with default runtime" # Cleanup cleanup_scenario "${STARVE_PID}" @@ -44,14 +44,14 @@ custom_runtime=10000 rm -f "${STALLD_LOG}" log "Starting stalld with ${threshold}s threshold and ${custom_runtime}ns runtime" -start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -r ${custom_runtime} -l +start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -r ${custom_runtime} # Create starvation log "Creating starvation on CPU ${TEST_CPU} for ${starvation_duration}s" start_starvation_gen -c "${TEST_CPU}" -p 80 -n 2 -d ${starvation_duration} -# Wait for detection and boosting -assert_starvation_detected "${STALLD_LOG}" "Starvation detection with custom runtime ${custom_runtime}ns" +# Wait for actual boosting +assert_boost_detected "${STALLD_LOG}" "Boost with custom runtime ${custom_runtime}ns" # Cleanup cleanup_scenario "${STARVE_PID}" @@ -65,14 +65,14 @@ large_runtime=100000 rm -f "${STALLD_LOG}" log "Starting stalld with ${threshold}s threshold and ${large_runtime}ns runtime" -start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -r ${large_runtime} -l +start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -r ${large_runtime} # Create starvation log "Creating starvation on CPU ${TEST_CPU} for ${starvation_duration}s" start_starvation_gen -c "${TEST_CPU}" -p 80 -n 2 -d ${starvation_duration} -# Wait for detection and boosting -assert_starvation_detected "${STALLD_LOG}" "Starvation detection with large runtime ${large_runtime}ns" +# Wait for actual boosting +assert_boost_detected "${STALLD_LOG}" "Boost with large runtime ${large_runtime}ns" # Cleanup cleanup_scenario "${STARVE_PID}" @@ -88,14 +88,14 @@ period=1000000000 rm -f "${STALLD_LOG}" log "Starting stalld with runtime ${valid_runtime}ns < period ${period}ns" -start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -r ${valid_runtime} -p ${period} -l +start_stalld_with_log "${STALLD_LOG}" -f -v -c "${TEST_CPU}" -a ${STALLD_CPU} -t ${threshold} -r ${valid_runtime} -p ${period} # Create starvation log "Creating starvation on CPU ${TEST_CPU} for ${starvation_duration}s" start_starvation_gen -c "${TEST_CPU}" -p 80 -n 2 -d ${starvation_duration} -# Wait for detection and boosting -assert_starvation_detected "${STALLD_LOG}" "Starvation detection with runtime < period" +# Wait for actual boosting +assert_boost_detected "${STALLD_LOG}" "Boost with runtime ${valid_runtime}ns < period ${period}ns" # Cleanup cleanup_scenario "${STARVE_PID}" -- 2.54.0