+# Minimal kernel version supported for session daemon tests
+KERNEL_MAJOR_VERSION=2
+KERNEL_MINOR_VERSION=6
+KERNEL_PATCHLEVEL_VERSION=27
+
+function print_ok ()
+{
+ # Check if we are a terminal
+ if [ -t 1 ]; then
+ echo -e "\e[1;32mOK\e[0m"
+ else
+ echo -e "OK"
+ fi
+}
+
+function print_fail ()
+{
+ # Check if we are a terminal
+ if [ -t 1 ]; then
+ echo -e "\e[1;31mFAIL\e[0m"
+ else
+ echo -e "FAIL"
+ fi
+}
+
+function print_test_banner ()
+{
+ desc="$1"
+
+ count=$((${#desc}+2))
+ str=$(printf "%${count}s");
+ echo -e "\n"
+ echo -e ${str// /-}
+ echo -e " $desc "
+ echo -e ${str// /-}
+}
+
+function validate_kernel_version ()
+{
+ kern_version=($(uname -r | awk -F. '{ printf("%d.%d.%d\n",$1,$2,$3); }' | tr '.' '\n'))
+ if [ ${kern_version[0]} -gt $KERNEL_MAJOR_VERSION ]; then
+ return 0
+ fi
+ if [ ${kern_version[1]} -gt $KERNEL_MINOR_VERSION ]; then
+ return 0
+ fi
+ if [ ${kern_version[2]} -ge $KERNEL_PATCHLEVEL_VERSION ]; then
+ return 0
+ fi
+ return 1
+}
+
+# Generate a random string
+# $1 = number of characters; defaults to 16
+# $2 = include special characters; 1 = yes, 0 = no; defaults to yes
+function randstring()
+{
+ [ "$2" == "0" ] && CHAR="[:alnum:]" || CHAR="[:graph:]"
+ cat /dev/urandom | tr -cd "$CHAR" | head -c ${1:-16}
+ echo
+}
+
+function spawn_sessiond ()
+{
+ echo ""
+ echo -n "Starting session daemon... "
+ validate_kernel_version
+ if [ $? -ne 0 ]; then
+ echo -e "\n*** Kernel too old for session daemon tests ***\n"
+ return 2
+ fi
+
+ DIR=$(readlink -f $TESTDIR)
+
+ if [ -z $(pidof lt-$SESSIOND_BIN) ]; then
+ $DIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --daemonize --quiet --consumerd32-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd"
+ #$DIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --consumerd32-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$DIR/../src/bin/lttng-consumerd/lttng-consumerd" --verbose-consumer >>/tmp/sessiond.log 2>&1 &
+ if [ $? -eq 1 ]; then
+ print_fail
+ return 1
+ else
+ print_ok
+ fi
+ fi
+
+ return 0
+}
+
+function lttng_enable_kernel_event