diff options
| author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 | 
|---|---|---|
| committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 | 
| commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
| tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/643 | |
| download | pcp-debian.tar.gz | |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/643')
| -rwxr-xr-x | qa/643 | 79 | 
1 files changed, 79 insertions, 0 deletions
| @@ -0,0 +1,79 @@ +#! /bin/sh +# PCP QA Test No. 643 +# concurrent PMDA removals trash the PMNS? +# +# Copyright (c) 1995-2002 Silicon Graphics, Inc.  All Rights Reserved. +# + +seq=`basename $0` +echo "QA output created by $seq" + +# get standard environment, filters and checks +. ./common.product +. ./common.filter +. ./common.check + +signal=$PCP_BINADM_DIR/pmsignal +status=0	# success is the default! +$sudo rm -rf $tmp.* +done_clean=false + +install_on_cleanup=false +pminfo trivial >/dev/null 2>&1 && install_on_cleanup=true + +_cleanup() +{ +    if $done_clean +    then +	: +    else +	( cd $PCP_PMDAS_DIR/trivial ; $sudo make >/dev/null 2>&1 ) +	if $install_on_cleanup +	then +	    ( cd $PCP_PMDAS_DIR/trivial; $sudo ./Install </dev/null >/dev/null 2>&1 ) +	else +	    ( cd $PCP_PMDAS_DIR/trivial; $sudo ./Remove </dev/null >/dev/null 2>&1 ) +	fi +	[ -f $tmp.pmcd.conf ] && $sudo cp $tmp.pmcd.conf $PCP_PMCDCONF_PATH +	$sudo $PCP_RC_DIR/pcp restart | _filter_pcp_start +	_wait_for_pmcd +	_wait_for_pmlogger +	done_clean=true +    fi +    $sudo rm -f $tmp.* +    exit $status +} + +trap "_cleanup; exit \$status" 0 1 2 3 15 + +# copy the pmcd config file to restore state later. +$sudo cp $PCP_PMCDCONF_PATH $tmp.pmcd.conf + +# real QA test starts here +cd $PCP_PMDAS_DIR/trivial +unset ROOT TOOLROOT MAKEFLAGS +$sudo ./Remove </dev/null >/dev/null 2>&1 +pminfo -n $PCP_VAR_DIR/pmns/root >$tmp.pmns.start + +for i in 1 2 3 4 5 +do +    $sudo ./Remove </dev/null >$tmp.out.$i 2>&1 & +done + +wait + +for i in 1 2 3 4 5 +do +    echo +    echo "=== remove #$i ===" +    _filter_pmda_install <$tmp.out.$i +done + +echo +echo "=== PMNS differences (none expected) ===" +pminfo -n $PCP_VAR_DIR/pmns/root \ +| diff - $tmp.pmns.start +echo + +# success, all done +exit | 
