In case an action preceding the continue action fails, not only
the continue flag should not be set, it should be unset if it was set
from a previous run of actions_perform().

Add a runtime test to both osnoise and timerlat tools that checks that
this works properly by creating a temporary file.

Signed-off-by: Tomas Glozar <[email protected]>
---

Depends on "rtla/tests: Extend runtime test coverage" patchset
- 
https://lore.kernel.org/linux-trace-kernel/[email protected]/

 tools/tracing/rtla/tests/osnoise.t  | 2 ++
 tools/tracing/rtla/tests/timerlat.t | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/tools/tracing/rtla/tests/osnoise.t 
b/tools/tracing/rtla/tests/osnoise.t
index 9c2f84a4187d..a7956ab605cd 100644
--- a/tools/tracing/rtla/tests/osnoise.t
+++ b/tools/tracing/rtla/tests/osnoise.t
@@ -65,6 +65,8 @@ check "top stop at failed action" \
        "osnoise top -S 2 --on-threshold shell,command='echo -n abc; false' 
--on-threshold shell,command='echo -n defgh'" 2 "^abc" "defgh"
 check_top_q_hist "with continue" \
        "osnoise TOOL -S 2 -d 5s --on-threshold shell,command='echo TestOutput' 
--on-threshold continue" 0 "^TestOutput$"
+check_top_q_hist "with conditional continue" \
+       "osnoise TOOL -S 2 --on-threshold shell,command='if [ -f a ]; then echo 
2; exit 1; else echo -n 1; touch a; fi' --on-threshold continue" 2 "^12$" "^2$"
 check_top_hist "with trace output at end" \
        "osnoise TOOL -d 1s --on-end trace" 0 "^  Saving trace to 
osnoise_trace.txt$"
 
diff --git a/tools/tracing/rtla/tests/timerlat.t 
b/tools/tracing/rtla/tests/timerlat.t
index f3e5f99e862b..19fd5af26ebb 100644
--- a/tools/tracing/rtla/tests/timerlat.t
+++ b/tools/tracing/rtla/tests/timerlat.t
@@ -94,6 +94,8 @@ check "top stop at failed action" \
        "timerlat top -T 2 --on-threshold shell,command='echo -n abc; false' 
--on-threshold shell,command='echo -n defgh'" 2 "^abc" "defgh"
 check_top_q_hist "with continue" \
        "timerlat TOOL -T 2 -d 5s --on-threshold shell,command='echo 
TestOutput' --on-threshold continue" 0 "^TestOutput$"
+check_top_q_hist "with conditional continue" \
+       "timerlat TOOL -T 2 --on-threshold shell,command='if [ -f a ]; then 
echo 2; exit 1; else echo -n 1; touch a; fi' --on-threshold continue" 2 "^12$" 
"^2$"
 check_top_hist "with trace output at end" \
        "timerlat TOOL -d 1s --on-end trace" 0 "^  Saving trace to 
timerlat_trace.txt$"
 
-- 
2.54.0


Reply via email to