health check tests: test relayd and consumerd
[lttng-tools.git] / tests / regression / tools / health / test_thread_stall
index dc9d850f45b1d7270b96cdbffe9098a71a2a58e6..93144ac884fb985175f20891357b87caad23a850 100755 (executable)
@@ -1,6 +1,7 @@
 #!/bin/bash
 #
 # Copyright (C) - 2012 Christian Babeux <christian.babeux@efficios.com>
+# Copyright (C) - 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
 #
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License, version 2 only, as
 
 TEST_DESC="Health check - Thread stall"
 
-CURDIR=$(dirname $0)/
-TESTDIR=$CURDIR/../../..
-LTTNG_BIN="lttng"
 SESSION_NAME="health_thread_stall"
-EVENT_NAME="bogus"
-HEALTH_CHECK_BIN="health_check"
 SESSIOND_PRELOAD=".libs/libhealthstall.so"
+TEST_SUFFIX="STALL"
+CURDIR=$(dirname $(readlink -f $0))
 
-source $TESTDIR/utils/utils.sh
-
-print_test_banner "$TEST_DESC"
-
-if [ ! -f "$CURDIR/$SESSIOND_PRELOAD" ]; then
-       echo -e "libhealthstall.so not available for this test. Skipping."
-       exit 0
-fi
-
-function test_thread_stall
-{
-       test_thread_stall_name="$1"
-       test_thread_exit_code="$2"
-
-       echo ""
-       echo -e "=== Testing health failure with ${test_thread_stall_name}"
-
-       # Activate testpoints
-       export LTTNG_TESTPOINT_ENABLE=1
-
-       # Activate specific thread exit
-       export ${test_thread_stall_name}_STALL=1
-
-       # Spawn sessiond with preload healthexit lib
-       export LD_PRELOAD="$CURDIR/$SESSIOND_PRELOAD"
-       start_lttng_sessiond
-
-       # Cleanup some env. var.
-       unset LD_PRELOAD
-       unset ${test_thread_stall_name}_STALL
-
-       # Check initial health status
-       $CURDIR/$HEALTH_CHECK_BIN &> /dev/null
-
-       echo -n "Validating that ${test_thread_stall_name} is stalled... "
-
-       # Wait
-       sleep 25
-
-       # Check health status, exit code should indicate failure
-       $CURDIR/$HEALTH_CHECK_BIN &> /dev/null
-
-       health_check_exit_code=$?
-
-       if [ $health_check_exit_code -eq $test_thread_exit_code ]; then
-               print_ok
-       else
-               print_fail
-               echo -e "Health returned: $health_check_exit_code\n"
-
-               stop_lttng_sessiond
-               return 1
-       fi
-
-       echo -n "Validating that ${test_thread_stall_name} is no longer stalled... "
-
-       # Wait
-       sleep 40
-
-       # Check health status, exit code should now pass
-       $CURDIR/$HEALTH_CHECK_BIN &> /dev/null
-
-       health_check_exit_code=$?
-
-       if [ $health_check_exit_code -eq 0 ]; then
-               print_ok
-               stop_lttng_sessiond
-       else
-               print_fail
-               echo -e "Health returned: $health_check_exit_code\n"
-               stop_lttng_sessiond
-               return 1
-       fi
-
-
-}
-
-THREAD=("LTTNG_THREAD_MANAGE_CLIENTS"
-       "LTTNG_THREAD_MANAGE_APPS"
-# This thread is a little bit tricky to stall,
-# need to send some commands and setup an app.
-#      "LTTNG_THREAD_REG_APPS"
-       "LTTNG_THREAD_MANAGE_KERNEL")
-
-# Exit code value to indicate specific thread failure
-EXIT_CODE=(1
-          2
-#         4
-          8)
-
-THREAD_COUNT=${#THREAD[@]}
-i=0
-while [ "$i" -lt "$THREAD_COUNT" ]; do
-       test_thread_stall "${THREAD[$i]}" "${EXIT_CODE[$i]}"
-
-       if [ $? -eq 1 ]; then
-               exit 1
-       fi
-
-       let "i++"
-done
+source ${CURDIR}/test_health.sh
This page took 0.026295 seconds and 5 git commands to generate.