summaryrefslogtreecommitdiff
path: root/qa/446
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
commit47e6e7c84f008a53061e661f31ae96629bc694ef (patch)
tree648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/446
downloadpcp-47e6e7c84f008a53061e661f31ae96629bc694ef.tar.gz
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/446')
-rwxr-xr-xqa/44682
1 files changed, 82 insertions, 0 deletions
diff --git a/qa/446 b/qa/446
new file mode 100755
index 0000000..35fd834
--- /dev/null
+++ b/qa/446
@@ -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