Implemented a single wrapper script which can be used
to execute _most_ of the rpc-tirpc test binaries.

Signed-off-by: Stanislav Kholmanskikh <[email protected]>
---
 testcases/network/rpc/rpc-tirpc/Makefile    |    5 ++
 testcases/network/rpc/rpc-tirpc/rpc_test.sh |  100 +++++++++++++++++++++++++++
 2 files changed, 105 insertions(+), 0 deletions(-)
 create mode 100755 testcases/network/rpc/rpc-tirpc/rpc_test.sh

diff --git a/testcases/network/rpc/rpc-tirpc/Makefile 
b/testcases/network/rpc/rpc-tirpc/Makefile
index 1620b2c..2006616 100644
--- a/testcases/network/rpc/rpc-tirpc/Makefile
+++ b/testcases/network/rpc/rpc-tirpc/Makefile
@@ -19,4 +19,9 @@
 top_srcdir             ?= ../../../..
 
 include        $(top_srcdir)/include/mk/env_pre.mk
+
+INSTALL_TARGETS                := rpc_test.sh
+
+MAKE_TARGETS           :=
+
 include $(top_srcdir)/include/mk/generic_trunk_target.mk
diff --git a/testcases/network/rpc/rpc-tirpc/rpc_test.sh 
b/testcases/network/rpc/rpc-tirpc/rpc_test.sh
new file mode 100755
index 0000000..3352911
--- /dev/null
+++ b/testcases/network/rpc/rpc-tirpc/rpc_test.sh
@@ -0,0 +1,100 @@
+#!/bin/sh
+#
+# Copyright (c) 2014 Oracle and/or its affiliates. All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it would be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+#
+# This is a wrapper script to execute tests from the RPC/TI-RPC tests
+# suite (http://nfsv4.bullopensource.org/doc/rpc_testsuite.php) in LTP
+
+RHOST=${RHOST:-`hostname`}
+SERVER=""
+CLIENT=""
+CLIENT_EXTRA_OPTS=""
+CLEANER=""
+PROGNUMNOSVC=536875000
+SERVERTIMEOUT=1
+
+cleanup()
+{
+       if [ ! -z "$SERVER" ]; then
+               rsh -n "$RHOST" "killall -9 $SERVER"
+               rsh -n "$RHOST" "$CLEANER $PROGNUMNOSVC"
+       fi
+}
+
+usage()
+{
+       echo "USAGE: $0 [-s sprog] -c clprog [ -e extra ]"
+       echo ""
+       echo "sprog   - server program binary"
+       echo "clprog  - client program binary"
+       echo "extra   - extra client options"
+       echo ""
+       echo "This scripts connects to the RHOST host by rsh and starts"
+       echo "sprog there. After that it executes clprog passing it the"
+       echo "RHOST value."
+       echo "After the test completes, this script kills sprog on RHOST"
+       echo "and performs a cleaning operation."
+       echo ""
+       echo "If RHOST is not set, the local host is used."
+
+       exit 1
+}
+
+while getopts s:c:e:h arg; do
+       case $arg in
+               s) SERVER="$LTPROOT/testcases/bin/$OPTARG" ;;
+               c) CLIENT="$OPTARG" ;;
+               e) CLIENT_EXTRA_OPTS="$OPTARG" ;;
+               h) usage ;;
+       esac
+done
+
+if [ ! -z "$SERVER" ]; then
+       if `echo "$SERVER" | grep -e '^tirpc'`; then
+               CLEANER="$LTPROOT/testcases/bin/tirpc_cleaner"
+       else
+               CLEANER="$LTPROOT/testcases/bin/rpc_cleaner"
+       fi
+fi
+
+if [ -z "$CLIENT" ]; then
+       echo "client program not set"
+       echo ""
+       usage
+fi
+
+TCID="$CLIENT"
+TST_TOTAL=1
+TST_COUNT=1
+. test.sh
+TST_CLEANUP=cleanup
+
+if [ ! -z "$SERVER" ]; then
+       rsh -n "$RHOST" "$SERVER $PROGNUMNOSVC" &
+       sleep "$SERVERTIMEOUT"
+fi
+
+"$CLIENT" "$RHOST" "$PROGNUMNOSVC" $CLIENT_EXTRA_OPTS
+ret=$?
+
+if [ "$ret" -eq 0 ]; then
+       tst_resm TPASS "Test passed"
+else
+       tst_resm TFAIL "Test failed"
+fi
+
+tst_exit
-- 
1.7.1


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to