+function validate_trace_count
+{
+ local event_name=$1
+ local trace_path=$2
+ local expected_count=$3
+
+ which $BABELTRACE_BIN >/dev/null
+ if [ $? -ne 0 ]; then
+ skip 0 "Babeltrace binary not found. Skipping trace validation"
+ fi
+
+ cnt=0
+ OLDIFS=$IFS
+ IFS=","
+ for i in $event_name; do
+ traced=$($BABELTRACE_BIN $trace_path 2>/dev/null | grep $i | wc -l)
+ if [ "$traced" -ne 0 ]; then
+ pass "Validate trace for event $i, $traced events"
+ else
+ fail "Validate trace for event $i"
+ diag "Found $traced occurences of $i"
+ fi
+ cnt=$(($cnt + $traced))
+ done
+ IFS=$OLDIFS
+ test $cnt -eq $expected_count
+ ok $? "Read a total of $cnt events, expected $expected_count"
+}
+
+function trace_first_line
+{
+ local trace_path=$1
+
+ which $BABELTRACE_BIN >/dev/null
+ if [ $? -ne 0 ]; then
+ skip 0 "Babeltrace binary not found. Skipping trace validation"
+ fi
+
+ $BABELTRACE_BIN $trace_path 2>/dev/null | head -n 1
+}
+