162306a36Sopenharmony_ci#!/bin/sh
262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
362306a36Sopenharmony_ci# description: event trigger - test stacktrace-trigger
462306a36Sopenharmony_ci# requires: set_event events/sched/sched_process_fork/trigger
562306a36Sopenharmony_ci
662306a36Sopenharmony_cifail() { #msg
762306a36Sopenharmony_ci    echo $1
862306a36Sopenharmony_ci    exit_fail
962306a36Sopenharmony_ci}
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciFEATURE=`grep stacktrace events/sched/sched_process_fork/trigger`
1262306a36Sopenharmony_ciif [ -z "$FEATURE" ]; then
1362306a36Sopenharmony_ci    echo "stacktrace trigger is not supported"
1462306a36Sopenharmony_ci    exit_unsupported
1562306a36Sopenharmony_cifi
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciecho "Test stacktrace trigger"
1862306a36Sopenharmony_ciecho 0 > trace
1962306a36Sopenharmony_ciecho 0 > options/stacktrace
2062306a36Sopenharmony_ciecho 'stacktrace' > events/sched/sched_process_fork/trigger
2162306a36Sopenharmony_ci( echo "forked")
2262306a36Sopenharmony_cigrep "<stack trace>" trace > /dev/null || \
2362306a36Sopenharmony_ci    fail "stacktrace trigger on sched_process_fork did not work"
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_cireset_trigger
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciecho "Test stacktrace semantic errors"
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci! echo "stacktrace:foo" > events/sched/sched_process_fork/trigger
3062306a36Sopenharmony_ciecho "stacktrace" > events/sched/sched_process_fork/trigger
3162306a36Sopenharmony_ci! echo "stacktrace" > events/sched/sched_process_fork/trigger
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciexit 0
34