summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTon Voon <tonvoon@users.sourceforge.net>2005-12-01 01:05:12 +0000
committerTon Voon <tonvoon@users.sourceforge.net>2005-12-01 01:05:12 +0000
commitf9c07ec61cb09dde465e02ea35b3cc9f832b369c (patch)
treeaf3b2b3cf16e4d121605a92a81a1fce6cb6e40c1
parente5b45d0e143bd3dbfb870cbe9fd33977db1a2b19 (diff)
downloadmonitoring-plugins-f9c07ec61cb09dde465e02ea35b3cc9f832b369c.tar.gz
Run longer test on redhat for spopen/pthread problem. Allow enable/disable of
pthread fix via configure option git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1292 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r--config_test/Makefile6
-rwxr-xr-xconfig_test/run_tests40
-rw-r--r--configure.in29
3 files changed, 50 insertions, 25 deletions
diff --git a/config_test/Makefile b/config_test/Makefile
index 295696e9..1064d569 100644
--- a/config_test/Makefile
+++ b/config_test/Makefile
@@ -1,9 +1,11 @@
1 1
2all: child_test.c 2all: child_test
3
4child_test: child_test.c
3 gcc -o child_test child_test.c 5 gcc -o child_test child_test.c
4 6
5test: 7test:
6 ./run_tests 10 8 ./run_tests 10 100 > /dev/null
7 9
8clean: 10clean:
9 rm -f child_test 11 rm -f child_test
diff --git a/config_test/run_tests b/config_test/run_tests
index e41db232..e7db3cae 100755
--- a/config_test/run_tests
+++ b/config_test/run_tests
@@ -1,16 +1,30 @@
1#!/bin/ksh 1#!/bin/ksh
2# $1 is the number of iterations to run
3# If $2 is specified, this is the number of times you run each iteration
4# If there is a fail at run, exit 1
5# Prints to stdout # of successes and passes
6# Prints to stderr a dot for each run
2 7
3i=0 8total_runs=$2
4success=0 9[[ -z $total_runs ]] && total_runs=1
5fail=0 10run=1
6while [[ $i -lt $1 ]] ; do 11while [[ $run -le $total_runs ]] ; do
7 ./child_test 12 i=0
8 if [[ $? -eq 0 ]] ; then 13 success=0
9 success=$(($success+1)) 14 fail=0
10 else 15 while [[ $i -lt $1 ]] ; do
11 fail=$((fail+1)) 16 ./child_test
12 fi 17 if [[ $? -eq 0 ]] ; then
13 i=$(($i+1)) 18 success=$(($success+1))
19 else
20 fail=$((fail+1))
21 fi
22 i=$(($i+1))
23 done
24 print "Success=$success Fail=$fail"
25 [[ $fail -gt 0 ]] && exit 1
26 run=$(($run+1))
27 [[ $total_runs -gt 1 ]] && print -u2 -n "."
14done 28done
15print "Success=$success Fail=$fail" 29[[ $total_runs -gt 1 ]] && print -u2
16[[ $fail -gt 0 ]] && exit 1 30exit 0
diff --git a/configure.in b/configure.in
index be9fe83a..9303850a 100644
--- a/configure.in
+++ b/configure.in
@@ -1680,17 +1680,26 @@ dnl Wierd problem where ECHILD is returned from a wait call in error
1680dnl Only appears to affect nslookup and dig calls. Only affects redhat around 1680dnl Only appears to affect nslookup and dig calls. Only affects redhat around
1681dnl 2.6.9-11 (okay in 2.6.9-5). Redhat investigating root cause 1681dnl 2.6.9-11 (okay in 2.6.9-5). Redhat investigating root cause
1682dnl We patch plugins/popen.c 1682dnl We patch plugins/popen.c
1683dnl Need to add smp because uname different on those. May need to check 1683dnl Need to add smp because uname different on those
1684dnl Fedora Core too in future 1684dnl Can force patch to be applied with --enable-redhat-pthread-workaround
1685if echo $ac_cv_uname_r | egrep "\.EL(smp)?$" >/dev/null 2>&1 ; then 1685AC_ARG_ENABLE(redhat-pthread-workaround,
1686 AC_MSG_CHECKING(for redhat spopen problem) 1686 AC_HELP_STRING([--enable-redhat-pthread-workaround],
1687 ( cd config_test && make && make test ) > /dev/null 2>&1 1687 [force Redhat patch to be applied (default: test system)]),
1688 if test $? -eq 0 ; then 1688 [ac_cv_enable_redhat_pthread_workaround=$enableval],
1689 AC_MSG_RESULT(okay) 1689 [ac_cv_enable_redhat_pthread_workaround=test])
1690 else 1690if test "$ac_cv_enable_redhat_pthread_workaround" = "test" ; then
1691 AC_MSG_RESULT(error) 1691 if echo $ac_cv_uname_r | egrep "\.EL(smp)?$" >/dev/null 2>&1 ; then
1692 AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, "Problem on redhat with spopen") 1692 AC_MSG_CHECKING(for redhat spopen problem)
1693 ( cd config_test && make && make test ) > /dev/null 2>&1
1694 if test $? -eq 0 ; then
1695 AC_MSG_RESULT(okay)
1696 else
1697 AC_MSG_RESULT(error)
1698 AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, [Workaround on redhat in spopen])
1699 fi
1693 fi 1700 fi
1701elif test "$ac_cv_enable_redhat_pthread_workaround" = "yes" ; then
1702 AC_DEFINE(REDHAT_SPOPEN_ERROR, 1, [Forced workaround on redhat in spopen])
1694fi 1703fi
1695 1704
1696dnl External libraries - see ACKNOWLEDGEMENTS 1705dnl External libraries - see ACKNOWLEDGEMENTS