+++ /dev/null
-#!/bin/bash
-#
-# Copyright (C) - 2012 Christian Babeux <christian.babeux@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
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-TEST_DESC="Health check - Thread exit"
-
-CURDIR=$(dirname $0)/
-TESTDIR=$CURDIR/../..
-LTTNG_BIN="lttng"
-SESSION_NAME="health_thread_exit"
-EVENT_NAME="bogus"
-HEALTH_CHECK_BIN="health_check"
-SESSIOND_PRELOAD=".libs/libhealthexit.so"
-
-source $TESTDIR/utils.sh
-
-print_test_banner "$TEST_DESC"
-
-if [ ! -f "$CURDIR/$SESSIOND_PRELOAD" ]; then
- echo -e "libhealthexit.so not available for this test. Skipping."
- exit 0
-fi
-
-function test_thread_exit
-{
- test_thread_exit_name="$1"
- test_thread_exit_code="$2"
-
- echo ""
- echo -e "=== Testing health failure with ${test_thread_exit_name}"
-
- # Activate testpoints
- export LTTNG_TESTPOINT_ENABLE=1
-
- # Activate specific thread exit
- export ${test_thread_exit_name}_EXIT=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_exit_name}_EXIT
-
- # Check initial health status
- $CURDIR/$HEALTH_CHECK_BIN &> /dev/null
-
- echo -n "Validating thread ${test_thread_exit_name} failure... "
-
- # 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
- 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"
- "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_exit "${THREAD[$i]}" "${EXIT_CODE[$i]}"
-
- if [ $? -eq 1 ]; then
- exit 1
- fi
-
- let "i++"
-done
-
-# Special case manage consumer, need to spawn consumer via commands.
-#"LTTNG_THREAD_MANAGE_CONSUMER"