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/446 | |
download | pcp-47e6e7c84f008a53061e661f31ae96629bc694ef.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/446')
-rwxr-xr-x | qa/446 | 82 |
1 files changed, 82 insertions, 0 deletions
@@ -0,0 +1,82 @@ +#! /bin/sh +# PCP QA Test No. 446 +# checks contents of 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 + +if [ $PCP_PLATFORM = irix ] +then + NM_ARG='-B' + libmajor=1 + DSO_VERSION=$DSO_SUFFIX.$libmajor +elif [ $PCP_PLATFORM = linux -o $PCP_PLATFORM = solaris ] +then + # same options for Linux and OpenSolaris + NM_ARG='--dynamic -B' + libmajor=2 + DSO_VERSION=$DSO_SUFFIX.$libmajor +elif [ $PCP_PLATFORM = darwin ] +then + NM_ARG='' + libmajor=2 + DSO_VERSION=$libmajor.$DSO_SUFFIX +else + echo "Arrgh ... need configuration for $PCP_PLATFORM" + exit 1 +fi + +[ -f $PCP_LIB_DIR/libpcp_trace.$DSO_VERSION ] || _notrun "No trace shared library available" + +status=1 # failure is the default! +trap "$sudo rm -f $tmp.*; exit \$status" 0 1 2 3 15 + +# real QA test starts here +get_syms() +{ + # gets all code symbols, prints the name, & strips internal names + nm $NM_ARG $1 | grep " T " | $PCP_AWK_PROG '{print $3}' | grep -v "_" | grep -v "^.MIPS." +} + +# real QA test starts here +cd $PCP_DEMOS_DIR/trace +unset ROOT TOOLROOT MAKEFLAGS +$sudo make -f Makefile.stub clobber 2>&1 >/dev/null +$sudo make -f Makefile.stub lib/libpcp_trace.$DSO_VERSION 2>&1 >$tmp.make +if [ $? -ne 0 ] +then + echo Stub library make failed. Heres the make output ... + cat $tmp.make +else + echo make succeeded. +fi + +get_syms $PCP_LIB_DIR/libpcp_trace.$DSO_VERSION > $tmp.actual +get_syms $PCP_DEMOS_DIR/trace/lib/libpcp_trace.$DSO_VERSION > $tmp.stub + +diff $tmp.actual $tmp.stub >/dev/null +status=$? + +$PCP_ECHO_PROG $PCP_ECHO_N "checking for actual/stub lib symbol differences ... ""$PCP_ECHO_C" +if [ $status -ne 0 ] +then + $PCP_ECHO_PROG files differ. + echo "--- Symbols from /usr/lib/libpcp_trace.... ---" + cat $tmp.actual + echo + echo "--- Symbols from demos libpcp_trace.... ---" + cat $tmp.stub +else + $PCP_ECHO_PROG none found. +fi + +exit |