#! /bin/sh # PCP QA Test No. # checking trace stub library # # 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 . ./localconfig rm -f $seq.out if [ $PCP_VER -lt 2200 ]; then cat $seq.in >>$seq.out else # tweak output for PCP 2.2... cat $seq.in | perl -e ' @in=<>; $"=""; print "@in[0..$#in-1]"; print "pmtracecounter: counter '\'counter\'', value=101.100000\n"; print "$in[$#in]";' >>$seq.out fi _cleanup() { cd $here if [ -n "$savedtracehost" ] then PCP_TRACE_HOST=$savedtracehost; export PCP_TRACE_HOST fi exit $status } _filter() { sed -e "s#$PCP_DEMOS_DIR/trace/app1#app1#" } status=1 # failure is the default! trap "_cleanup" 0 1 2 3 15 if [ -n "$PCP_TRACE_HOST" ] then savedtracehost=$PCP_TRACE_HOST; unset PCP_TRACE_HOST fi # real QA test starts here echo "Checking trace stub library builds ..." cd $PCP_DEMOS_DIR/trace $sudo make -f Makefile.stub clobber >/dev/null 2>&1 if [ $PCP_PLATFORM = linux -o $PCP_PLATFORM = solaris ] then $sudo make -f Makefile.stub lib/libpcp_trace.so >/dev/null 2>&1 export LD_PRELOAD=$PCP_DEMOS_DIR/trace/lib/libpcp_trace.so.2 elif [ $PCP_PLATFORM = darwin ] then $sudo make -f Makefile.stub >/dev/null 2>&1 DYLD_INSERT_LIBRARIES=$PCP_DEMOS_DIR/trace/lib/libpcp_trace.dylib DYLD_FORCE_FLAT_NAMESPACE=yes export DYLD_INSERT_LIBRARIES DYLD_FORCE_FLAT_NAMESPACE else _notrun "Unknown platform ($PCP_PLATFORM)" fi echo make succeeded. # this uses all of the externally visible libpcp_trace symbols $PCP_DEMOS_DIR/trace/app1 2>&1 | _filter # success, all done status=0 exit