#!/bin/bash
set -xeuo pipefail

# Make sure ftrace is configured in the kernel. Skip this test otherwise.
if [[ "$(mount | awk '/tracefs/{print $5}')" != "tracefs" ]]; then
    echo "skipping test - tracefs not mounted"
    exit 77
fi

# Make sure we have permissions to read /sys/kernel/tracing.
if ! ls /sys/kernel/tracing; then
    echo "skipping test - cannot read /sys/kernel/tracing"
    exit 77
fi

# Run some basic tests using examples form trace-cmd-record(1).
trace-cmd record -e all ls > /dev/null
trace-cmd report

trace-cmd record -p function -e sched_switch ls > /dev/null
trace-cmd report

trace-cmd record --profile sleep 1
trace-cmd report --profile --comm "sleep"
