[Ocfstest-commits] colinzhu commits r37 - in trunk/ocfs2test/src/TestSuites/ocfs2test: . tset tset/tpmultibinode tset/tpmultibinode/manual_cases tset/tpmultiotf tset/tpmultiotf/manual_cases

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Thu May 19 13:47:15 CDT 2005


Author: colinzhu
Date: 2005-05-19 13:47:13 -0500 (Thu, 19 May 2005)
New Revision: 37

Added:
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/manual_cases/tpmultibim25.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/setup.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/testenv.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim16.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim17.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim18.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim23.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim26.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim27.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim28.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim29.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim30.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim31.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/Makefile
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/basicrw
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/basicrw.c
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/dirproc.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/manual_cases/
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/manual_cases/tpmultiotfr8.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/manual_cases/tpmultiotfr9.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr1.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr2.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr3.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr4.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr5.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr6.sh
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr7.sh
Modified:
   trunk/ocfs2test/src/TestSuites/ocfs2test/tet_scen
   trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tet_scen
Log:
Some scripts didn't interaged into test suites added



Modified: trunk/ocfs2test/src/TestSuites/ocfs2test/tet_scen
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tet_scen	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tet_scen	2005-05-19 18:47:13 UTC (rev 37)
@@ -7,6 +7,8 @@
 	"Starting build of OCFSv2 Testing Suite"
 #	/tset/test1/tc1.sh
 	/tset/setup.sh
+	/tset/testenv.sh
+	/tset/test.config
 	/tset/count.sh
 	/tset/wrap.sh
 	/tset/tpmultibinode/dirproc1.sh
@@ -24,6 +26,20 @@
 	/tset/tpmultibinode/tpmultibim1.sh
 	/tset/tpmultibinode/tpmultibim4.sh
 	/tset/tpmultibinode/tpmultibim7.sh
+        /tset/tpmultibinode/tpmultibim14.sh
+        /tset/tpmultibinode/tpmultibim16.sh
+        /tset/tpmultibinode/tpmultibim17.sh
+        /tset/tpmultibinode/tpmultibim18.sh
+        /tset/tpmultibinode/tpmultibim23.sh
+        /tset/tpmultibinode/tpmultibim24.sh
+        /tset/tpmultibinode/tpmultibim26.sh
+        /tset/tpmultibinode/tpmultibim27.sh
+        /tset/tpmultibinode/tpmultibim28.sh
+        /tset/tpmultibinode/tpmultibim29.sh
+        /tset/tpmultibinode/tpmultibim30.sh
+        /tset/tpmultibinode/tpmultibim31.sh
+        /tset/tpmultibinode/tpmultibim32.sh
+        /tset/tpmultibinode/tpmultibim33.sh
         /tset/tpstress/tpstresss1.sh
         /tset/tpstress/tpstresss2.sh
         /tset/tpstress/tpstresss3.sh
@@ -31,6 +47,13 @@
         /tset/tpstress/tpstresss5.sh
         /tset/tpstress/tpstresss6.sh
         /tset/tpstress/tpstresss7.sh
+	/tset/tpmultiotf/tpmultiotfr1.sh
+	/tset/tpmultiotf/tpmultiotfr2.sh
+	/tset/tpmultiotf/tpmultiotfr3.sh
+	/tset/tpmultiotf/tpmultiotfr4.sh
+	/tset/tpmultiotf/tpmultiotfr5.sh
+	/tset/tpmultiotf/tpmultiotfr6.sh
+	/tset/tpmultiotf/tpmultiotfr7.sh
 
 	"OCFSv2 Testing Suite build complete"
 
@@ -46,6 +69,20 @@
 	/tpmultibinode/tpmultibim7.sh
 	/tpmultibinode/tpmultibim8.sh
 	/tpmultibinode/tpmultibim9.sh
+        /tpmultibinode/tpmultibim14.sh
+        /tpmultibinode/tpmultibim16.sh
+        /tpmultibinode/tpmultibim17.sh
+        /tpmultibinode/tpmultibim18.sh
+        /tpmultibinode/tpmultibim23.sh
+        /tpmultibinode/tpmultibim24.sh
+        /tpmultibinode/tpmultibim26.sh
+        /tpmultibinode/tpmultibim27.sh
+        /tpmultibinode/tpmultibim28.sh
+        /tpmultibinode/tpmultibim29.sh
+        /tpmultibinode/tpmultibim30.sh
+        /tpmultibinode/tpmultibim31.sh
+        /tpmultibinode/tpmultibim32.sh
+        /tpmultibinode/tpmultibim33.sh
         /tpstress/tpstresss1.sh
         /tpstress/tpstresss2.sh
         /tpstress/tpstresss3.sh
@@ -53,6 +90,13 @@
         /tpstress/tpstresss5.sh
         /tpstress/tpstresss6.sh
         /tpstress/tpstresss7.sh
+        /tpmultiotf/tpmultiotfr1.sh
+        /tpmultiotf/tpmultiotfr2.sh
+        /tpmultiotf/tpmultiotfr3.sh
+        /tpmultiotf/tpmultiotfr4.sh
+        /tpmultiotf/tpmultiotfr5.sh
+        /tpmultiotf/tpmultiotfr6.sh
+        /tpmultiotf/tpmultiotfr7.sh
 	"OCFSv2 Testing Suite All scenario complete"
 
 tpsinglebasic  
@@ -77,6 +121,13 @@
 
 tpmultiotf     
 	"Starting OCFSv2 Testing Suite Multi-node Oracle Test Framework scenario"
+	/tpmultiotf/tpmultiotfr1.sh
+	/tpmultiotf/tpmultiotfr2.sh
+	/tpmultiotf/tpmultiotfr3.sh
+	/tpmultiotf/tpmultiotfr4.sh
+	/tpmultiotf/tpmultiotfr5.sh
+	/tpmultiotf/tpmultiotfr6.sh
+	/tpmultiotf/tpmultiotfr7.sh
 	"OCFSv2 Testing Suite Multi-node Oracle Test Framework scenario complete"
 
 tpmultibinode  
@@ -90,6 +141,20 @@
 	/tpmultibinode/tpmultibim7.sh
 	/tpmultibinode/tpmultibim8.sh
 	/tpmultibinode/tpmultibim9.sh
+	/tpmultibinode/tpmultibim14.sh
+	/tpmultibinode/tpmultibim16.sh
+	/tpmultibinode/tpmultibim17.sh
+	/tpmultibinode/tpmultibim18.sh
+	/tpmultibinode/tpmultibim23.sh
+	/tpmultibinode/tpmultibim24.sh
+	/tpmultibinode/tpmultibim26.sh
+	/tpmultibinode/tpmultibim27.sh
+	/tpmultibinode/tpmultibim28.sh
+	/tpmultibinode/tpmultibim29.sh
+	/tpmultibinode/tpmultibim30.sh
+	/tpmultibinode/tpmultibim31.sh
+	/tpmultibinode/tpmultibim32.sh
+	/tpmultibinode/tpmultibim33.sh
 	"OCFSv2 Testing Suite Multi-node bi-node scenario complete"
 
 tpstress

Modified: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tet_scen
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tet_scen	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tet_scen	2005-05-19 18:47:13 UTC (rev 37)
@@ -7,6 +7,8 @@
 	"Starting build of OCFSv2 Testing Suite"
 #	/tset/test1/tc1.sh
 	/tset/setup.sh
+	/tset/testenv.sh
+	/tset/test.config
 	/tset/count.sh
 	/tset/wrap.sh
 	/tset/tpmultibinode/dirproc1.sh
@@ -24,6 +26,20 @@
 	/tset/tpmultibinode/tpmultibim1.sh
 	/tset/tpmultibinode/tpmultibim4.sh
 	/tset/tpmultibinode/tpmultibim7.sh
+        /tset/tpmultibinode/tpmultibim14.sh
+        /tset/tpmultibinode/tpmultibim16.sh
+        /tset/tpmultibinode/tpmultibim17.sh
+        /tset/tpmultibinode/tpmultibim18.sh
+        /tset/tpmultibinode/tpmultibim23.sh
+        /tset/tpmultibinode/tpmultibim24.sh
+        /tset/tpmultibinode/tpmultibim26.sh
+        /tset/tpmultibinode/tpmultibim27.sh
+        /tset/tpmultibinode/tpmultibim28.sh
+        /tset/tpmultibinode/tpmultibim29.sh
+        /tset/tpmultibinode/tpmultibim30.sh
+        /tset/tpmultibinode/tpmultibim31.sh
+        /tset/tpmultibinode/tpmultibim32.sh
+        /tset/tpmultibinode/tpmultibim33.sh
         /tset/tpstress/tpstresss1.sh
         /tset/tpstress/tpstresss2.sh
         /tset/tpstress/tpstresss3.sh
@@ -31,6 +47,13 @@
         /tset/tpstress/tpstresss5.sh
         /tset/tpstress/tpstresss6.sh
         /tset/tpstress/tpstresss7.sh
+	/tset/tpmultiotf/tpmultiotfr1.sh
+	/tset/tpmultiotf/tpmultiotfr2.sh
+	/tset/tpmultiotf/tpmultiotfr3.sh
+	/tset/tpmultiotf/tpmultiotfr4.sh
+	/tset/tpmultiotf/tpmultiotfr5.sh
+	/tset/tpmultiotf/tpmultiotfr6.sh
+	/tset/tpmultiotf/tpmultiotfr7.sh
 
 	"OCFSv2 Testing Suite build complete"
 
@@ -46,6 +69,20 @@
 	/tpmultibinode/tpmultibim7.sh
 	/tpmultibinode/tpmultibim8.sh
 	/tpmultibinode/tpmultibim9.sh
+        /tpmultibinode/tpmultibim14.sh
+        /tpmultibinode/tpmultibim16.sh
+        /tpmultibinode/tpmultibim17.sh
+        /tpmultibinode/tpmultibim18.sh
+        /tpmultibinode/tpmultibim23.sh
+        /tpmultibinode/tpmultibim24.sh
+        /tpmultibinode/tpmultibim26.sh
+        /tpmultibinode/tpmultibim27.sh
+        /tpmultibinode/tpmultibim28.sh
+        /tpmultibinode/tpmultibim29.sh
+        /tpmultibinode/tpmultibim30.sh
+        /tpmultibinode/tpmultibim31.sh
+        /tpmultibinode/tpmultibim32.sh
+        /tpmultibinode/tpmultibim33.sh
         /tpstress/tpstresss1.sh
         /tpstress/tpstresss2.sh
         /tpstress/tpstresss3.sh
@@ -53,6 +90,13 @@
         /tpstress/tpstresss5.sh
         /tpstress/tpstresss6.sh
         /tpstress/tpstresss7.sh
+        /tpmultiotf/tpmultiotfr1.sh
+        /tpmultiotf/tpmultiotfr2.sh
+        /tpmultiotf/tpmultiotfr3.sh
+        /tpmultiotf/tpmultiotfr4.sh
+        /tpmultiotf/tpmultiotfr5.sh
+        /tpmultiotf/tpmultiotfr6.sh
+        /tpmultiotf/tpmultiotfr7.sh
 	"OCFSv2 Testing Suite All scenario complete"
 
 tpsinglebasic  
@@ -77,6 +121,13 @@
 
 tpmultiotf     
 	"Starting OCFSv2 Testing Suite Multi-node Oracle Test Framework scenario"
+	/tpmultiotf/tpmultiotfr1.sh
+	/tpmultiotf/tpmultiotfr2.sh
+	/tpmultiotf/tpmultiotfr3.sh
+	/tpmultiotf/tpmultiotfr4.sh
+	/tpmultiotf/tpmultiotfr5.sh
+	/tpmultiotf/tpmultiotfr6.sh
+	/tpmultiotf/tpmultiotfr7.sh
 	"OCFSv2 Testing Suite Multi-node Oracle Test Framework scenario complete"
 
 tpmultibinode  
@@ -90,6 +141,20 @@
 	/tpmultibinode/tpmultibim7.sh
 	/tpmultibinode/tpmultibim8.sh
 	/tpmultibinode/tpmultibim9.sh
+	/tpmultibinode/tpmultibim14.sh
+	/tpmultibinode/tpmultibim16.sh
+	/tpmultibinode/tpmultibim17.sh
+	/tpmultibinode/tpmultibim18.sh
+	/tpmultibinode/tpmultibim23.sh
+	/tpmultibinode/tpmultibim24.sh
+	/tpmultibinode/tpmultibim26.sh
+	/tpmultibinode/tpmultibim27.sh
+	/tpmultibinode/tpmultibim28.sh
+	/tpmultibinode/tpmultibim29.sh
+	/tpmultibinode/tpmultibim30.sh
+	/tpmultibinode/tpmultibim31.sh
+	/tpmultibinode/tpmultibim32.sh
+	/tpmultibinode/tpmultibim33.sh
 	"OCFSv2 Testing Suite Multi-node bi-node scenario complete"
 
 tpstress

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/manual_cases/tpmultibim25.sh
===================================================================

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/setup.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/setup.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/setup.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,159 @@
+# Copyright @2004 Intel.
+# Initial Author:  yukun.chen at intel.com
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+# Neither the name of the Intel nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+export REMOTE=node2
+export TESTDIR=/ocfs2/testdir
+export TESTFILE="/ocfs2/ocfs_locktest"
+export MOUNTPOINT=/ocfs2
+export SRCDIR=/tmp
+export OCFSROOT=$MOUNTPOINT
+
+. ./testenv.sh
+
+export OCFSDEV=$OCFS2_DEVICE
+
+create_testfile(){
+    for (( i=0; i<100; i++))
+    do
+	echo "test fstat" >> $TESTFILE
+    done
+}
+
+clear_testdir(){
+	rm $OCFS2_MOUNT_POINT/* -Rf
+}
+
+format_ocfs2(){
+	#mkfs.ocfs2 --clustersize=4096 --device=$OCFSDEV --label="ocfs2"
+	$MKFS_OCFS2_CMD -C 4096 -L "ocfs2" -x -F $OCFSDEV
+}
+
+setup()
+{
+	fs=`cat /proc/mounts|awk '$2=="$OCFS2_MOUNT_POINT" {print $3}'`
+	if [ x$fs == x"ocfs2" ];then
+		return 0
+	fi
+	cat /proc/modules|grep ocfs2
+	if [ $? -ne 0 ];then
+		$LOAD_OCFS2_CMD
+	fi
+	mkdir $OCFS2_MOUNT_POINT 2>/dev/null
+	if [ x$NOFORMAT != xyes ];then
+	echo "mkfs.ocfs2 first..."
+	format_ocfs2
+	echo "mkfs.ocfs2 ok..."
+	fi
+
+	mount_ocfs2
+	if [ $? -ne 0 ];then
+		return 1
+	fi
+	return 0
+}
+
+remotesetup()
+{
+
+	fs=`ssh $REMOTE cat /proc/mounts | awk '$2=="$OCFS2_MOUNT_POINT" {print $3}'`
+
+	if [ x$fs != x"ocfs2" ];then
+            remoterun "modprobe ext3 2>/dev/null"
+	    remoterun "cat /proc/modules|grep ocfs2"
+	    if [ $? -ne 0 ];then
+		remoterun "$LOAD_OCFS2_CMD"
+	    	if [ $? -ne 0 ];then
+			echo "Fail to mount $OCFS2_MOUNT_POINT on ${remotenode}"
+			umount $OCFS2_MOUNT_POINT
+			$UNLOAD_OCFS2_CMD
+			exit 1
+		fi
+	    fi
+	else
+	    return 0 
+	fi
+	
+	remoterun "mkdir -p $OCFS2_MOUNT_POINT 2>/dev/null"
+
+	remoterun "mount $OCFSDEV $OCFS2_MOUNT_POINT -t ocfs2"
+	if [ $? -ne 0 ];then
+	    echo "Fail to mount $OCFS2_MOUNT_POINT on ${remotenode}"
+	    remoterun "$UNLOAD_OCFS2_CMD"
+	    umount $OCFS2_MOUNT_POINT
+	    $UNLOAD_OCFS2_CMD
+	    exit 1
+	fi
+}
+
+mount_ocfs2()
+{
+	fs=`cat /proc/mounts|awk '$2=="$OCFS2_MOUNT_POINT" {print $3}'`
+	if [ x$fs == x"ocfs2" ];then
+		return 0
+	fi
+
+	mount $OCFSDEV $OCFS2_MOUNT_POINT -t ocfs2
+	if [ $? -ne 0 ];then
+		return 1
+	fi
+	return 0
+}
+
+umount_ocfs2()
+{
+	fs=`cat /proc/mounts|awk '$2=="$OCFS2_MOUNT_POINT" {print $3}'`
+	if [ x$fs != x"ocfs2" ];then
+		return 0
+	fi
+		
+	umount $OCFSDEV 
+	if [ $? -ne 0 ];then
+		return 1
+	fi
+	return 0
+}
+
+remote_umount_ocfs2()
+{
+	fs=`ssh $REMOTE cat /proc/mounts|awk '$2=="$OCFS2_MOUNT_POINT" {print $3}'`
+	if [ x$fs != x"ocfs2" ];then
+		return 0
+	fi
+		
+	remoterun "umount $OCFSDEV"
+	if [ $? -ne 0 ];then
+		return 1
+	fi
+	return 0
+}
+
+remoterun()
+{
+	echo ssh $REMOTE "$*"
+	ssh $REMOTE "$*"
+}
+

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/testenv.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/testenv.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/testenv.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,23 @@
+#!/bin/bash
+#
+# Conf for OCFSv2 Test Plan
+#
+# testenv.sh
+#
+# System settings depending on special server environment should be setup here
+# All the commands here are related with ocfs2, linux generic commands are not setup here.
+#
+# TODO : Maybe add judgement of root here?
+
+export LOAD_OCFS2_CMD='/etc/init.d/o2cb start'
+export UNLOAD_OCFS2_CMD='/etc/init.d/o2cb stop'
+
+export OCFS2_DEVICE='/dev/sda1'
+export MKFS_OCFS2_CMD='mkfs.ocfs2'
+export MKFS_EXT2_CMD='mkfs.ext2'
+
+export OCFS2_MOUNT_POINT='/ocfs2'
+
+export FSCK_OCFS2_CMD='fsck.ocfs2'
+
+export WORK_DIR=`pwd`


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/testenv.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim16.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim16.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim16.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim16.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim17.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim17.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim17.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim17.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim18.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim18.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim18.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim18.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim23.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim23.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim23.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim23.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim26.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim26.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim26.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim26.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim27.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim27.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim27.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim27.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim28.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim28.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim28.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim28.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim29.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim29.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim29.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim29.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim30.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim30.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim30.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim30.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim31.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim31.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim31.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,125 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Create directory on multiple nodes   (M16) 
+#**
+#**    Copyright 2005 Oracle Corp.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Nan Zhu <colin.zhu at oracle.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. ../setup.sh
+
+loop_times=1000
+
+remoteproc()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+remotedel()
+{
+	scp  dirproc1.sh $REMOTE:
+	remoterun "./dirproc1.sh $TESTDIR del" 
+	if [ $? -ne 0 ];then	
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < ${loop_times}; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+localls()
+{ 
+	ls $TESTDIR
+	return $?
+}
+
+remotels()
+{
+    remoterun "ls $TESTDIR"
+    return $?
+}
+
+tp1()
+{
+	tvs_test_purpose_start "Create directory on multiple nodes (M16) start"
+	wait
+	sleep 10
+	cat tpmultibim16_1.rst >tpmultibim16.dir
+	cat tpmultibim16_2.rst >>tpmultibim16.dir
+	diff tpmultibim16.dir tpmultibim16.std
+	remoterun "date >>tpmultibim16_2.rst"
+
+	if [ $? -eq 0 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+	tet_infoline "Begin ocfs2 test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir test on different node test..."
+}
+
+. ../test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultibinode/tpmultibim31.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/Makefile
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/Makefile	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/Makefile	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,74 @@
+# Copyright (c) <2002>, Intel Corporation
+# All rights reserved.
+# 
+# Redistribution and use in source and binary forms, with or 
+# without modification, are permitted provided that the following 
+# conditions are met:
+# 
+# Redistributions of source code must retain the above copyright 
+# notice, this list of conditions and the following disclaimer.
+# Redistributions in binary form must reproduce the above copyright 
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the distribution.
+# 
+# Neither the name of Intel Corporation, nor the names 
+# of its contributors may be used to endorse or promote products 
+# derived from this software without specific prior written permission.
+# 
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+# OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# Makefile for tpmultibinode cases.        Colin Zhu <colin.zhu at oracle.com>
+
+# Check that the definitions below are correct for your system
+DEPTH = ../../../../..
+LIBDIR	= $(TET_ROOT)/lib/tet3
+TVSLIBDIR = $(DEPTH)/src/Framework
+TVSINCDIR = $(DEPTH)/src/Framework
+INCDIR	= $(TET_ROOT)/inc/tet3
+#CC	= cc
+# GNU CC
+CC	= gcc
+
+CFLAGS	= -I$(INCDIR) -I$(TVSINCDIR)
+# for SunOS4.1
+#CFLAGS =  -I$(INCDIR) -D_POSIX_SOURCE -DNSIG=32 -DEXIT_SUCCESS=0 -DEXIT_FAILURE=1 -DNULL=0
+
+# when using Distributed TETware on systems such as SVR4 and Solaris
+# SYSLIBS = -lsocket -lnsl
+SYSLIBS =
+
+CTESTCASES=basicrw 
+
+CFLAGS += -g
+
+
+all:	install 
+build:	$(CTESTCASES)
+	chmod a+x $(CTESTCASES)
+
+install: build 
+	mkdir -p  ${DEPTH}/tsets/ocfs2test/tpmultiotf
+	cp $(CTESTCASES) ${DEPTH}/tsets/ocfs2test/tpmultiotf
+	# install tpstresss*.sh *proc.sh and misc .sh
+	cp *.sh ${DEPTH}/tsets/ocfs2test/tpmultiotf
+	cp ../*.sh ${DEPTH}/tsets/ocfs2test/
+	cp ../test.config ${DEPTH}/tsets/ocfs2test/
+
+tc1:	tc1.c $(INCDIR)/tet_api.h $(TVSINCDIR)/TVSFunctions.h $(TVSLIBDIR)/TVSFunctions.o
+	$(CC) $(CFLAGS) -o tc1 tc1.c $(TVSLIBDIR)/TVSFunctions.o $(LIBDIR)/tcm.o $(LIBDIR)/libapi.a $(SYSLIBS)
+
+clean:
+	rm -f *.o
+	rm -f $(CTESTCASES)
+	rm -f ${DEPTH}/tsets/ocfs2test/tpmultiotf/*
+


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/Makefile
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/basicrw
===================================================================
(Binary files differ)


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/basicrw
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/basicrw.c
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/basicrw.c	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/basicrw.c	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,665 @@
+/******************************************************************************
+*******************************************************************************
+**
+**    Copyright 2004 Intel, Inc.
+**
+**    This is free software released under the GNU General Public License.
+**    There is no warranty for this software.  See the file COPYING for
+**    details.
+**
+**
+**    This file is maintained by:
+**      Aaron,Chen <yukun.chen at intel.com>
+**
+*******************************************************************************
+******************************************************************************/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/mman.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <errno.h>
+
+#define OP_FILE_WRITE    1
+#define OP_FILE_READ     2
+#define OP_INVALID       0
+#define OP_FILE_ATTRIB   3
+#define OP_FILE_GROWTH   4
+#define OP_FILE_SHRINK   5
+#define OP_FILE_DOHOLE   6
+
+#define FALSE 0
+#define TRUE  1
+#define MAX_PARAM_SIZE  256
+
+char filename[256];
+char logfile[256];
+char results_str[256];
+
+#define SIZE 1024 * 4
+int bufsize = SIZE;
+char buf1[SIZE+1];
+char buf2[SIZE+1];
+int loop_times = 0;
+
+int attrib_log = 0;
+
+errmsg(char * str){
+        fprintf(stderr, " error msg:  %s, system error: %s, line %d\n", 
+	    str, strerror(errno),__LINE__);
+}
+help()
+{
+ 	printf("usage: <-t> <-o> <-n> <-s> <-l>\n"
+        "-t w-write, r-read , a-file attrib, g-file growth, s-file shrink\n"
+        "-o offset \n"
+        "-n times to do the operation\n"
+        "-s the value to be written\n"
+	"-l log file to write the test results"
+	"-h help"
+	);
+ 
+}
+
+/*generate the result string in a pre-defined format*/
+void  gen_results(int ret){
+  sprintf(results_str,"TEST_RESULT %d\n",ret);
+}
+
+int log_fileattr(){
+    struct stat fstats;
+    int fd, err;
+    char *str;
+
+    if (stat(filename, &fstats) == -1){
+        fprintf(stderr, "fail to get the file attribute of file %s\n",filename);
+	close(fd);
+	return EXIT_FAILURE;
+    }
+
+    fd = open(logfile, O_CREAT | O_RDWR );
+    if (fd < 0) {
+	fprintf(stderr, " can't open logfile file %s: %s\n",
+		logfile, strerror(errno));
+	return EXIT_FAILURE;
+    }
+
+    err = lseek(fd, 0, SEEK_END);	
+    if(err == -1) {
+	fprintf(stderr, "lseek fail\n");
+	close(fd);
+	return EXIT_FAILURE;
+    }
+   
+    str = malloc(sizeof(char)*256);
+    snprintf(str, 256, "FILE_SIZE %d \n", fstats.st_size);
+    write(fd, str, strlen(str));
+	
+    snprintf(str, 256, "UID %d \n", fstats.st_uid);
+    write(fd, str, strlen(str));
+
+    snprintf(str, 256, "GID %d \n", fstats.st_gid);
+    write(fd, str, strlen(str));
+
+    free(str);	
+    close(fd);
+
+
+    return EXIT_SUCCESS;
+}
+
+int log2file(int ret){
+        int fd, i, c;
+	int err;	
+
+	fd = open(logfile, O_CREAT | O_RDWR );
+	if (fd < 0) {
+		fprintf(stderr, " can't open logfile file %s: %s\n",
+			logfile, strerror(errno));
+		return EXIT_FAILURE;
+	}
+
+	err = lseek(fd, 0, SEEK_END);	
+	if(err == -1) {
+		fprintf(stderr, "lseek fail\n");
+		close(fd);
+		return EXIT_FAILURE;
+	}
+
+        gen_results(ret);
+	write(fd, results_str, strlen(results_str));
+	
+	close(fd);
+	return EXIT_SUCCESS;      
+}
+
+void getfilename()
+{
+	char *ocfsroot;
+
+	ocfsroot = getenv("OCFSROOT");
+	if(ocfsroot == NULL)
+		ocfsroot = "/ocfs";
+
+	snprintf(filename, 255, "%s/ocfs_locktest", ocfsroot);
+        //fprintf(stderr, "the file name is %s\n",filename);
+	filename[255] = 0;
+}
+/*__do_hole_ext1__*/
+int __do_hole_ext1(char *filename, unsigned offset, unsigned int pace, char *str){
+
+  int i=0, fd;
+  unsigned long long out;
+  char *buf1=NULL;
+
+while(i<loop_times){
+
+  fd = open (filename, O_CREAT | O_RDWR);
+  if (fd < 0){
+    fprintf(stderr, "do_hole:  error opening %s:  %s\n", 
+	    filename, strerror(errno));
+    return EXIT_FAILURE;
+  }
+
+  if (i*pace+offset >(0xfffffffe)) break;
+
+    out = lseek(fd, i*pace+offset, SEEK_SET);
+    
+    if ((offset+i*pace) != out) {
+        fprintf(stderr, "do_hole:  error doing lseek():  %s Line: %d\n", 
+	    strerror(errno),__LINE__);
+	fprintf(stderr, "do_hole:  file pos is :  %x\n", 
+	    offset+i*pace);
+	fprintf(stderr, "do_hole:  out is :  %x\n", 
+	    out);
+	if (buf1) free(buf1);
+	return EXIT_FAILURE;
+    }
+    
+    if (write(fd, str, strlen(str)) < 0){
+        fprintf(stderr, "do_hole:  error doing write():  %s\n", 
+	    strerror(errno));
+	if (buf1) free(buf1);
+	return EXIT_FAILURE;
+    }
+
+    out = lseek(fd, i*pace+offset, SEEK_SET);
+    if ((offset+i*pace) != out) {
+        fprintf(stderr, "do_hole:  error doing lseek():  %s\n", 
+	    strerror(errno));
+	if (buf1) free(buf1);
+	return EXIT_FAILURE;
+    }
+  
+    if (!buf1) buf1 = malloc(1024*sizeof(char));
+
+    if (read(fd, buf1, strlen(str)) < 0) {
+        fprintf(stderr, "do_hole:  error doing read):  %s\n", 
+	    strerror(errno));
+	free(buf1);
+	return EXIT_FAILURE;
+    }
+  
+    if ( strcmp(str, buf1) ){
+        fprintf(stderr, "do_hole: the  value we read is not the same as what we wrote");
+	close(fd);
+	free(buf1);
+	return EXIT_FAILURE;
+    }
+
+  if (close(fd) < 0) {
+    fprintf(stderr, "do_hole:  error doing close():  %s\n", 
+	    strerror(errno));
+    return EXIT_FAILURE;
+  }
+
+    i++;
+ } /*while*/
+
+  if (buf1) free(buf1);
+  return EXIT_SUCCESS;
+}
+
+/*__do_hole_ext1__*/
+
+
+/*__do_hole_ext
+The function will be called to do the actual work for hole-making
+ at fd--file to be tested
+ at offset--where we write to
+ at pace--the distance we write in continuous times
+ at str--the value to be written
+
+return EXIT_FAILURE if failure otherwise EXIT_SUCCESS
+
+note: fd will not be close in this function
+*/
+int __do_hole_ext(int fd, unsigned offset, unsigned int pace, char *str){
+  int i=0;
+  unsigned long long out;
+  char *buf1=NULL;
+
+  out = lseek(fd, offset, SEEK_SET);
+  if (offset != out) {
+        fprintf(stderr, "do_hole:  error doing lseek():  %s line %d\n", 
+	    strerror(errno),__LINE__);
+	fprintf(stderr, "do_hole:  file pos is :  %x\n", 
+	    offset+i*pace);
+	if (buf1) free(buf1);
+	return EXIT_FAILURE;
+  }
+
+  while(i<loop_times){
+
+    if (i*pace+offset >(0xfffffffe)) break;
+
+    out = lseek(fd, i*pace+offset, SEEK_SET);
+    
+    if ((offset+i*pace) != out) {
+        fprintf(stderr, "do_hole:  error doing lseek():  %s Line: %d\n", 
+	    strerror(errno),__LINE__);
+	fprintf(stderr, "do_hole:  file pos is :  %x\n", 
+	    offset+i*pace);
+	fprintf(stderr, "do_hole:  out is :  %x\n", 
+	    out);
+	if (buf1) free(buf1);
+	return EXIT_FAILURE;
+    }
+    
+    if (write(fd, str, strlen(str)) < 0){
+        fprintf(stderr, "do_hole:  error doing write():  %s\n", 
+	    strerror(errno));
+	if (buf1) free(buf1);
+	return EXIT_FAILURE;
+    }
+
+    out = lseek(fd, i*pace+offset, SEEK_SET);
+    if ((offset+i*pace) != out) {
+        fprintf(stderr, "do_hole:  error doing lseek():  %s\n", 
+	    strerror(errno));
+	if (buf1) free(buf1);
+	return EXIT_FAILURE;
+    }
+  
+    if (!buf1) buf1 = malloc(1024*sizeof(char));
+
+    if (read(fd, buf1, strlen(str)) < 0) {
+        fprintf(stderr, "do_hole:  error doing read):  %s\n", 
+	    strerror(errno));
+	free(buf1);
+	return EXIT_FAILURE;
+    }
+  
+    if ( strcmp(str, buf1) ){
+        fprintf(stderr, "do_hole: the  value we read is not the same as what we wrote");
+	close(fd);
+	free(buf1);
+	return EXIT_FAILURE;
+    }
+
+    i++;
+  } /*while*/
+
+  if (buf1) free(buf1);
+  return EXIT_SUCCESS;
+}
+
+/*do_hole_ext
+Make loop_times holes in the file refered by filename and then truncate the file to 0
+ at filename: the file we want to do hole
+ at offset: the initinal postion we do hole
+ at str: the value we write to the file
+
+return: EXIT_SUCCESS if success otherwise EXIT_FAILURE
+
+Added @20040719
+*/
+int do_hole_ext(char *filename, int offset,char *str)
+{
+  int fd, i, retval=0;
+  unsigned long long int out, pos;
+  
+  retval = __do_hole_ext1(filename, offset, SIZE*1000, str);
+  return retval;
+
+  fd = open (filename, O_CREAT | O_RDWR);
+  if (fd < 0){
+    fprintf(stderr, "do_hole:  error opening %s:  %s\n", 
+	    filename, strerror(errno));
+    return EXIT_FAILURE;
+  }
+
+   retval = __do_hole_ext(fd, offset, SIZE*1000, str);
+   if ( EXIT_FAILURE == retval ){
+       close(fd);	
+       exit(EXIT_FAILURE);
+   }
+   else{  
+     retval = __do_hole_ext(fd, offset+1024, SIZE*1000, str);
+     if ( EXIT_FAILURE == retval ){
+       close(fd);	
+       exit(EXIT_FAILURE);
+     }
+   }
+
+ /* if (truncate(filename, 0) < 0){
+    fprintf(stderr, "do_hole_ext :  error doing truncate():  %s\n",strerror(errno)); 
+    close(fd);	
+    exit(EXIT_FAILURE);
+  }
+*/
+  if (close(fd) < 0) {
+    fprintf(stderr, "do_hole:  error doing close():  %s\n", 
+	    strerror(errno));
+    return EXIT_FAILURE;
+  }/*close*/
+
+  return EXIT_SUCCESS;
+}
+/*do_hole_ext*/
+
+/*growth_file: 1 means growing the file and 0 means shrinking the file*/
+int change_filesize(int growth_file){
+   int i = 0;
+   int delta = growth_file ? 1 : -1;
+   int err; 
+   struct stat fstats;
+   unsigned long long newfilesize;
+
+   if ( loop_times < 0){
+        fprintf(stderr, "loop times should be larger than 0");
+	return EXIT_FAILURE;
+   }
+
+   if (stat(filename, &fstats) == -1){
+        fprintf(stderr, "fail to get the file attribute of file %s\n",filename);
+	return EXIT_FAILURE;
+    }
+   
+   newfilesize = (unsigned long long)fstats.st_size;
+
+   if (growth_file) {
+     while(i < loop_times){
+        i += delta;
+	newfilesize += SIZE;
+        err = truncate(filename, newfilesize);
+	if(err == -1) {
+		fprintf(stderr, "truncate fail\n");
+		return EXIT_FAILURE;
+	}
+
+	if (attrib_log) log_fileattr();
+     }/*while*/
+    }
+   else{
+     i = loop_times;
+     while(i > 0){
+        i += delta;
+	newfilesize -= SIZE;
+	newfilesize = (newfilesize > 0) ? newfilesize : 0;
+        err = truncate(filename, newfilesize);
+	if(err == -1) {
+		fprintf(stderr, "truncate fail\n");
+		return EXIT_FAILURE;
+	}
+
+	if (attrib_log) log_fileattr();
+     }/*while*/
+   }  
+
+   return EXIT_SUCCESS;
+}
+
+/*Get the file attrib when the file is written*/
+int  get_fileattr(char *filename){
+	int fd, i;
+
+	i = 0;
+	while(i++ < loop_times){
+	  sleep(1);
+	  log_fileattr();
+	}
+
+	return EXIT_SUCCESS;  
+}
+
+/*writefile*/
+int  writefile(char *filename, int offset, char *str )
+{
+	int fd, i, c;
+	int err;	
+
+	fd = open(filename, O_CREAT | O_RDWR );
+	if (fd < 0) {
+		fprintf(stderr, " can't open file %s: %s\n",
+			filename, strerror(errno));
+		return EXIT_FAILURE;
+	}
+	
+	/*write to file at offset loop_times*/
+	i = 0;
+	while(i++ < loop_times){
+		err = lseek(fd, offset, SEEK_SET);	
+		if(err == -1) {
+			fprintf(stderr, "lseek fail\n");
+			close(fd);
+			return EXIT_FAILURE;
+		}
+
+
+		write(fd, str, strlen(str));
+		if (attrib_log) log_fileattr();
+	}
+	close(fd);
+
+	/*verify whether our writing is ok*/
+	fd = open(filename, O_RDONLY);
+	if (fd < 0) {
+		fprintf(stderr, " can't open file %s: %s for reading\n",
+			filename, strerror(errno));
+		exit(EXIT_FAILURE);
+	}
+
+	err = lseek(fd, offset, SEEK_SET);
+	if(err == -1) {
+		fprintf(stderr, "lseek fail at %d times\n", i);
+		close(fd);
+		exit(EXIT_FAILURE);
+	}
+		
+	read(fd, buf2, strlen(str));
+	if ( memcmp(buf2, str, strlen(str))){
+		fprintf(stderr, "read and write not match!\n");
+		close(fd);
+		return EXIT_FAILURE;
+	}
+	
+	close(fd);
+	return EXIT_SUCCESS;
+}/*writefile*/
+
+int verify(char *filename, int offset,char *str)
+{
+	int fd, i;
+	int err;
+		
+	fd = open(filename, O_RDONLY);
+	if (fd < 0) {
+		fprintf(stderr, " can't open file %s: %s\n",
+			filename, strerror(errno));
+		exit(EXIT_FAILURE);
+	}
+
+	i = 0;
+	while ( i++ < loop_times ){
+		err = lseek(fd, offset, SEEK_SET);
+		if(err == -1) {
+			fprintf(stderr, "lseek fail at %d times\n", i);
+			close(fd);
+			exit(EXIT_FAILURE);
+		}
+		
+		read(fd, buf2, strlen(str));
+		if ( memcmp(buf2, str, strlen(str))){
+			fprintf(stderr, "read and write not match!at times %d\n", i);
+			close(fd);
+			return EXIT_FAILURE;
+		}
+	}
+
+	close(fd);
+	return EXIT_SUCCESS;
+}
+
+/*
+o--offset
+s--value to write
+l--log file
+n--loop times
+t--op type
+   w---write file
+   r---read file
+   a---get file attrib
+   s---shrink file
+   g---grow file
+   h---do hole   
+*/
+int
+main(int argc, char *argv[])
+{
+	int c, op, offset;
+	int found_parm = 0;
+	/*        int need_log = 0;*/
+        int ret = 0;
+
+	getfilename();
+	while ((c = getopt(argc, argv, "t:o:s:n:l:f:")) != EOF)
+    {
+	found_parm = 1;
+        switch (c)
+        {
+        case 't':
+	  switch (*optarg){
+	    case 'w':
+       		op = OP_FILE_WRITE;
+	      break;
+
+	    case 'r':
+		op = OP_FILE_READ;
+	      break;
+
+	    case 'a':
+		op = OP_FILE_ATTRIB;
+	      break;
+
+	    case 's':
+	        op = OP_FILE_SHRINK;
+	      break;
+
+	    case 'g':
+	        op = OP_FILE_GROWTH;
+	      break;
+
+	    case 'h':
+	        op = OP_FILE_DOHOLE;
+	      break;
+  
+	  default:
+	      op = OP_INVALID;
+	      fprintf(stderr, "Invalid file operation");
+	      return EXIT_FAILURE;
+	  }
+
+	  /*if ( !memcmp(optarg, "w", 1))	
+		op = OP_FILE_WRITE;
+	    else if ( !memcmp(optarg, "r", 1))	
+		op = OP_FILE_READ;
+	    else{
+		op = OP_INVALID;
+		fprintf(stderr, "Invalid file operation");
+		return EXIT_FAILURE;
+	    }	
+	  */
+            break;
+
+        case 'o':
+            offset = atoi(optarg);
+            break;
+
+	case 's':
+	        /*memcpy(buf1,optarg,MAX_PARAM_SIZE);*/
+	        snprintf(buf1,255,"%s",optarg);
+		break;
+
+	case 'n':
+		loop_times = atoi(optarg);
+		break;	
+	case 'l':
+	        /*memcpy(logfile,optarg,MAX_PARAM_SIZE);*/
+	        snprintf(logfile,255,"%s",optarg);
+		/* need_log = 1;*/
+		attrib_log = 1;
+	        break;
+	case 'f':
+	        snprintf(filename,255,"%s",optarg);
+		break;
+        case 'h':
+        default:
+            help();
+            return EXIT_FAILURE;
+        }/*switch*/
+    }/*while*/
+
+    if ( ! found_parm ){
+	help();
+	return EXIT_FAILURE;
+    }
+
+    switch ( op ){
+      case  OP_FILE_WRITE:
+	  ret = writefile(filename, offset, buf1);
+      break;
+
+      case  OP_FILE_READ:
+	  ret =  verify(filename, offset, buf1);		
+      break;
+
+      case  OP_FILE_ATTRIB:
+	  ret =  get_fileattr(filename);		
+      break;
+
+      case OP_FILE_GROWTH:
+          ret =  change_filesize(1);
+      break;
+
+      case OP_FILE_SHRINK:
+          ret =  change_filesize(0);
+      break;
+
+      case OP_FILE_DOHOLE:
+	ret = do_hole_ext(filename, offset, buf1);
+      break;
+    default:
+      ret = -1;
+    }
+
+    /*    if ( OP_FILE_WRITE == op )
+	  ret = writefile(filename, offset, buf1);
+    else if ( OP_FILE_READ == op )
+	  ret =  verify(filename, offset, buf1);		
+    else
+          ret = -1;
+	  
+    if (need_log) log2file(ret);
+    */
+
+    if (attrib_log) log2file(ret);
+
+    return ret;
+}
+
+

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/dirproc.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/dirproc.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/dirproc.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,50 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Copyright 2004 Intel, Inc.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**
+#**    This file is maintained by:
+#**      Aaron,Chen <yukun.chen at intel.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+. /usr/tet/TVS/tsets/ocfs2test/setup.sh
+
+createdir()
+{
+	err=0
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+	for((i = 0; i < 1000; i++))
+	do
+		touch $TESTDIR/FILE2-$i
+		err=`expr $err + $?`
+	done
+
+	return $err
+}
+
+#TESTDIR="/oradata/ocfstest/test"
+
+TESTDIR=${1:-$TESTDIR}
+echo $TESTDIR
+err=0
+if [ x$2 == "xdel" ];then
+	for file in $TESTDIR/FILE2-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			exit $err
+		fi
+	done
+	exit $err
+fi
+createdir


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/dirproc.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/manual_cases/tpmultiotfr8.sh
===================================================================

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/manual_cases/tpmultiotfr9.sh
===================================================================

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr1.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr1.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr1.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,112 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Copyright 2004 Intel, Inc.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**    comblock-test.sh
+#**
+#**    This file is maintained by:
+#**      Aaron,Chen <yukun.chen at intel.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        		# list invocable components
+ic1="tp1 tp2"				# functions for ic1
+
+WORKDIR=/usr/tet/TVS/tsets/ocfs2test
+. ${WORKDIR}/setup.sh
+
+exec_file="./basicrw"
+log_file1="${exec_file}_log1"
+log_file2="${exec_file}_log2"
+loop_times=100
+test_file=${TESTDIR}/ocfs_locktest
+
+remote_write(){
+        ${ssh_cmd} rm -f ${log_file2} 2>/dev/null
+	${ssh_cmd} ${exec_file} -t w -o 1000 -n ${loop_times} -s "on different nodes"  -l {log_file2}
+}
+
+local_write(){
+        rm -f ${log_file1} 2>/dev/null
+${exec_file} -t w -o 1000 -n ${loop_times} -s "on different nodes" -l {log_file1}
+}
+
+local_ls(){
+    ls ${test_file}
+}
+
+remote_ls(){
+    ${ssh_cmd} ls ${test_file}
+}
+
+tp1()
+{
+	tvs_test_purpose_start "testing write/ls on different nodes"
+	clear_testdir
+	local_write &
+	local_ls	
+
+        wait
+	ret=`${ssh_cmd} cat ${log_file2} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret=`expr $ret + $?`
+
+	if [ $ret -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+tp2()
+{
+	tvs_test_purpose_start "testing write/write from different nodes"
+
+	rm ${test_file} -f
+
+	local_write &
+	remote_ls 
+       
+	wait 
+	ret=`cat ${log_file1} | awk '$1=="TEST_RESULT" {print $2}'` 
+	ret=`expr $ret + $?`
+
+	if [ $ret -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+
+	setup
+	remotesetup
+
+	echo "Setup the test enviornment successfully"
+	return 0
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 file lock test from different node ..."
+}
+
+. /usr/tet/TVS/tsets/ocfs2test/test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr1.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr2.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr2.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr2.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,184 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Copyright 2004 Intel, Inc.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**    dirlock-test-single.sh
+#**
+#**    This file is maintained by:
+#**      Aaron,Chen <yukun.chen at intel.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1 tp2 tp3"
+
+. /usr/tet/TVS/tsets/ocfs2test/setup.sh
+
+#TESTDIR=/oradata/ocfstest/test
+loop_times=100
+
+create_thread_1()
+{
+        err=0;
+        if [ ! -d $TESTDIR ];then
+                mkdir $TESTDIR
+        fi
+        for((i = 0; i < $loop_times ; i++))
+        do
+                touch $TESTDIR/FILE1-$i
+                err=`expr $err + $?`
+        done
+        return $err
+}
+
+create_thread_2()
+{
+        err=0;
+        sleep 1
+        for((i = 0; i < $loop_times ; i++))
+        do
+                touch $TESTDIR/FILE2-$i
+                err=`expr $err + $?`
+        done
+        return $err
+}
+
+
+rename_thread_1()
+{
+       for ((i=0; i < $loop_times ; i++)) 
+           do
+                   mv -f $TESTDIR/FILE1-$i $TESTDIR/FILE1_RE-$i
+                   err=`expr $err + $?`
+                   if [ $err -ne 0 ]; then
+                         echo "rename $file error!"
+                         return $err
+                   fi
+           done
+           return $err
+
+}
+
+
+rename_thread_2()
+{
+
+        for ((i=0; i< $loop_times ; i++))    
+            do
+                   mv -f $TESTDIR/FILE2-$i $TESTDIR/FILE2_RE-$i 
+                   err=`expr $err + $?`
+                   if [ $err -ne 0 ]; then
+                         echo "rename $file error!"
+                         return $err
+                   fi
+           done
+           return $err
+
+}
+
+del_thread_1()
+{
+    for file in $TESTDIR/FILE1_RE-*
+        do
+                rm -f $file
+                err=`expr $err + $?`
+                if [ $err -ne 0 ];then
+                        echo "rm $file error!"
+                        return $err
+                fi
+        done
+        return $err
+}
+
+del_thread_2()
+{
+       for file in $TESTDIR/FILE2_RE-*
+           do
+                   rm -f $file
+                   err=`expr $err + $?`
+                   if [ $err -ne 0 ];then
+                            echo "rm $file error!"
+                            return $err
+                   fi
+        done
+        return $err
+
+}
+
+
+tp1()
+{
+        tvs_test_purpose_start "testing create file on same subdir by diffrent thread"
+	clear_testdir
+        create_thread_1 &
+        create_thread_2
+        err=$?
+        wait
+        if [ $err -eq 0 ];then
+                tvs_test_purpose_finish PASS
+        else
+                tvs_test_purpose_finish FAIL
+        fi
+}
+
+tp2()
+
+{
+        tvs_test_purpose_start "testing rename file on same subdir by diffrent thread"
+        rename_thread_1 &
+        rename_thread_2
+        err=$?
+        wait
+        if [ $? -eq 0 ];then
+                tvs_test_purpose_finish PASS
+        else
+                tvs_test_purpose_finish FAIL
+        fi
+}
+
+
+tp3()
+
+{
+        tvs_test_purpose_start "testing remove file on same subdir by diffrent thread"
+        del_thread_1 &
+        del_thread_2
+        err=$?
+        wait
+        if [ $? -eq 0 ];then
+                tvs_test_purpose_finish PASS
+        else
+                tvs_test_purpose_finish FAIL
+        fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+
+	tet_infoline "Begin ocfs2 dir lock test on different node test..."
+	setup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir lock test by two threads on single node ..."
+}
+
+. /usr/tet/TVS/tsets/ocfs2test/test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr2.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr3.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr3.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr3.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,160 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Copyright 2004 Intel, Inc.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**    dirlock-test.sh
+#**
+#**    This file is maintained by:
+#**      Aaron,Chen <yukun.chen at intel.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1"				# functions for ic1
+
+. /usr/tet/TVS/tsets/ocfs2test/setup.sh
+
+ret=
+
+countfile(){
+	j=0
+	ret=0
+	for i in `ls ${TESTDIR}/FILE1*`
+	do
+		j=`expr $j + 1`	
+	done
+
+	if [ $j -eq 1000 ];then
+		ret=`expr $ret + 1`
+	fi
+
+	j=0
+	for i in `ls ${TESTDIR}/FILE2*`
+	do
+		j=`expr $j + 1`	
+	done
+
+	if [ $j -eq 1000 ];then
+		ret=`expr $ret + 1`
+	fi
+}
+
+remoteproc()
+{
+	scp  ./dirproc.sh $REMOTE:
+	remoterun "/usr/tet/TVS/tsets/ocfs2test/dirproc.sh $TESTDIR" 
+}
+
+remotedel()
+{
+	scp  ./dirproc.sh $REMOTE:
+	remoterun "/usr/tet/TVS/tsets/ocfs2test/dirproc.sh $TESTDIR del" 
+}
+
+localcreate()
+{
+	err=0;
+	if [ ! -d $TESTDIR ];then
+		mkdir $TESTDIR
+	fi
+
+	for((i = 0; i < 1000; i++))
+	do
+		touch $TESTDIR/FILE1-$i
+		err=`expr $err + $?`
+	done
+	return $err
+}
+
+localdel()
+{
+	for file in $TESTDIR/FILE1-*
+	do
+		rm -f $file
+		err=`expr $err + $?`
+		if [ $err -ne 0 ];then
+			echo "rm $file error!"
+			return $err
+		fi
+	done
+	return $err
+}
+
+tp1()
+{
+	tvs_test_purpose_start "testing create file on same subdir on both node"
+	clear_testdir
+	remoteproc &
+	localcreate
+	wait
+	countfile
+
+	if [ $ret -eq 2 ];then	
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+tp2()
+{
+	tvs_test_purpose_start "testing remove file on same subdir on both node"
+	remotedel &
+	localdel
+	err=$?
+	wait
+	if [ $? -eq 0 ];then
+		tvs_test_purpose_finish PASS
+	else
+		tvs_test_purpose_finish FAIL
+	fi
+}
+
+tp3()
+{
+	tvs_test_purpose_start "testing unmount after cluster write"
+	umount ${MOUNTPOINT}
+	if [ $? -ne 0 ];then
+		tvs_test_purpose_finish FAIL
+	else
+		remoterun "umount ${MOUNTPOINT}" 
+		if [ $? -ne 0 ];then
+			tvs_test_purpose_finish FAIL
+		else
+			tvs_test_purpose_finish PASS
+		fi
+	fi
+}
+
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+
+	tet_infoline "Begin ocfs2 dir lock test on different node test..."
+	setup
+	remotesetup
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 dir lock test on different node test..."
+}
+
+. /usr/tet/TVS/tsets/ocfs2test/test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr3.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr4.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr4.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr4.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,111 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Copyright 2004 Intel, Inc.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**    filelock-single.sh
+#**
+#**    This file is maintained by:
+#**      Aaron,Chen <yukun.chen at intel.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1 tp2"				# functions for ic1
+
+. /usr/tet/TVS/tsets/ocfs2test/setup.sh
+
+log_file1="/tmp/basicrw_log1"
+log_file2="/tmp/basicrw_log2"
+log_file=
+loop_times=100
+
+localwrite()
+{
+  rm ${log_file} 2>/dev/null
+  /usr/tet/TVS/tsets/ocfs2test/tpstress/basicrw -t w -o 1000 -n ${loop_times} -s "test on single node" -l ${log_file}
+}
+
+localread()
+{
+  rm ${log_file} 2>/dev/null
+  /usr/tet/TVS/tsets/ocfs2test/tpstress/basicrw -t r -o 1000 -n ${loop_times} -s "test on single node" -l ${log_file}
+}
+
+tp1()
+{
+	tvs_test_purpose_start "testing write/write  from different process on the same node"
+	clear_testdir
+	log_file=${log_file1}
+	localwrite &
+
+	log_file=${log_file2}
+	localwrite
+	sleep 10
+        wait
+        
+	ret1=`cat ${log_file1} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret2=`cat ${log_file2} | awk '$1=="TEST_RESULT" {print $2}'` 
+	ret1=`expr ${ret1} + ${ret2}`
+	if [ $ret1 -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+tp2()
+{
+	tvs_test_purpose_start "testing write/read from different process on the same node"
+	log_file=${log_file1}
+	localwrite &
+
+	log_file=${log_file2}
+	localread		
+        
+	wait
+
+	ret1=`cat ${log_file1} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret2=`cat ${log_file2} | awk '$1=="TEST_RESULT" {print $2}'` 
+	ret1=`expr ${ret1} + ${ret2}`
+
+	if [ $ret1 -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+
+	setup
+	echo "Setup enviornment successfully"
+
+	return 0
+}
+
+cleanup() # clean-up function
+{
+	tet_infoline "Finish ocfs2 basic read/write from different node test..."
+}
+
+. /usr/tet/TVS/tsets/ocfs2test/test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh
+


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr4.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr5.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr5.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr5.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,118 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Copyright 2004 Intel, Inc.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**    filelock-multinode.sh
+#**
+#**    This file is maintained by:
+#**      Aaron,Chen <yukun.chen at intel.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp2"				# functions for ic1
+
+. /usr/tet/TVS/tsets/ocfs2test/setup.sh
+
+exec_file="./basicrw"
+log_file1="log1"
+log_file2="log2"
+loop_times=1000
+
+remote_write(){
+	scp basicrw $REMOTE:.
+        remoterun "rm -f ${log_file2}"
+	remoterun "${exec_file} -t w -o 1000 -n ${loop_times} -s "multinode" -l ${log_file2}"
+}
+
+
+remote_read(){
+	scp basicrw $REMOTE:.
+        remoterun "rm -f ${log_file2}"
+	remoterun "${exec_file} -t r -o 1000 -n ${loop_times} -s "multinode" -l ${log_file2}"
+}
+
+local_write(){
+        rm -f ${log_file1}
+${exec_file} -t w -o 1000 -n ${loop_times} -s "multinode" -l ${log_file1}
+}
+
+local_read(){
+        rm -f ${log_file1}
+${exec_file} -t r -o 1000 -n ${loop_times} -s "multinode"  -l ${log_file1}
+}
+
+tp1()
+{
+	tvs_test_purpose_start "testing write/read from different nodes"
+	clear_testdir
+	remote_write &
+	#sleep 1 
+	local_read	
+
+        wait
+	ret1=`ssh $REMOTE cat ${log_file2} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret2=`cat ${log_file1} | awk '$1=="TEST_RESULT" {print $2}'` 
+	ret1=`expr ${ret1} + ${ret2}`
+	if [ $ret1 -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+tp2()
+{
+	tvs_test_purpose_start "testing write/write from different nodes"
+	clear_testdir
+	remote_write &
+	#sleep 1
+	local_write 
+        wait
+        
+	ret1=`ssh $REMOTE cat ${log_file2} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret2=`cat ${log_file1} | awk '$1=="TEST_RESULT" {print $2}'` 
+	ret1=`expr ${ret1} + ${ret2}`
+
+	if [ $ret1 -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+
+startup() # start-up function
+{
+        if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+
+	setup
+	remotesetup
+	scp basicrw root@${REMOTE}:.
+        
+	echo "Setup the test enviornment successfully"
+	return 0
+}
+
+cleanup() # clean-up function
+{	
+	tet_infoline "Finish ocfs2 file lock test from different node ..."
+}
+
+. /usr/tet/TVS/tsets/ocfs2test/test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr6.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr6.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr6.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,136 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Copyright 2004 Intel, Inc.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**    dirfilelock-single.sh
+#**
+#**    This file is maintained by:
+#**      Aaron,Chen <yukun.chen at intel.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1 tp2 tp3"				# functions for ic1
+
+. /usr/tet/TVS/tsets/ocfs2test/setup.sh
+
+exec_file="./basicrw"
+log_file1="/tmp/basicrw_log1"
+loop_times=100
+ret=
+
+local_write(){
+        rm -f ${log_file1} 2>/dev/null
+${exec_file} -t w -o 1000 -n ${loop_times} -s "on different nodes" -l ${log_file1}
+}
+
+local_mkdir(){
+    for ((i=0;i<$loop_times ; i++))
+    do
+      mkdir ${TESTDIR}/dir1-$i
+      ret=`expr $ret + $?`
+    done
+}
+
+local_createfile(){
+    for ((i=0;i<$loop_times ; i++))
+    do
+      touch ${TESTDIR}/file1-$i
+      ret=`expr $ret + $?`
+    done
+}
+
+tp1()
+{
+	tvs_test_purpose_start "testing write/ls on different nodes"
+	clear_testdir
+	create_testfile
+	local_write &
+	local_mkdir	
+
+        wait
+	ret1=`cat ${log_file1} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret=`expr $ret1 + $ret`
+
+	if [ $ret -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+tp2()
+{
+        tvs_test_purpose_start "testing write/ls on different nodes"
+
+	ret=0
+	clear_testdir
+	create_testfile
+	local_write &
+	local_createfile	
+
+        wait
+	ret1=`cat ${log_file1} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret=`expr $ret1 + $ret`
+
+	if [ $ret -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+tp3()
+{
+        tvs_test_purpose_start "testing write/ls on different nodes"
+
+	ret=0
+	clear_testdir
+	create_testfile
+	local_write &
+	local_mkdir &
+	local_createfile	
+
+        wait
+	ret1=`cat ${log_file1} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret=`expr $ret1 + $ret`
+
+	if [ $ret -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+	if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+
+	setup
+	echo "Setup enviornment successfully"
+
+	return 0
+}
+
+cleanup() # clean-up function
+{
+	tet_infoline "Finish ocfs2 basic read/write from different node test..."
+}
+
+. /usr/tet/TVS/tsets/ocfs2test/test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr6.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr7.sh
===================================================================
--- trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr7.sh	2005-05-19 17:14:06 UTC (rev 36)
+++ trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr7.sh	2005-05-19 18:47:13 UTC (rev 37)
@@ -0,0 +1,137 @@
+#******************************************************************************
+#******************************************************************************
+#**
+#**    Copyright 2004 Intel, Inc.
+#**
+#**    This is free software released under the GNU General Public License.
+#**    There is no warranty for this software.  See the file COPYING for
+#**    details.
+#**
+#**    dirfilelock-multinode.sh
+#**
+#**    This file is maintained by:
+#**      Aaron,Chen <yukun.chen at intel.com>
+#**
+#*******************************************************************************
+#******************************************************************************
+#!/bin/sh 
+tet_startup="startup"			# startup function
+tet_cleanup="cleanup"			# cleanup function
+iclist="ic1"	        # list invocable components
+ic1="tp1 tp2 tp3"				# functions for ic1
+
+. /usr/tet/TVS/tsets/ocfs2test/setup.sh
+
+
+exec_file="./basicrw"
+log_file2="/tmp/basicrw_log2"
+loop_times=100
+test_file=${TESTDIR}/ocfs_locktest
+ret=0
+
+remote_write(){
+        remoterun "rm -f ${log_file2} 2>/dev/null"
+	remoterun "${exec_file} -t w -o 1000 -n ${loop_times} -s "on different nodes"  -l ${log_file2}"
+}
+
+local_mkdir(){
+    for ((i=0;i<$loop_times ; i++))
+    do
+      mkdir -p ${TESTDIR}/dir1-$i
+      ret=`expr $ret + $?`
+    done
+}
+
+local_createfile(){
+    for ((i=0;i<$loop_times ; i++))
+    do
+      touch ${TESTDIR}/file1-$i
+      ret=`expr $ret + $?`
+    done
+}
+
+tp1()
+{
+	tvs_test_purpose_start "testing write/ls on different nodes"
+	clear_testdir
+	remote_write &
+	local_mkdir	
+
+        wait
+
+	ret1=`ssh $REMOTE cat ${log_file2} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret=`expr $ret1 + $ret`
+
+	if [ $ret -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+tp2()
+{
+	tvs_test_purpose_start "testing write/ls on different nodes"
+
+	ret=0
+	remote_write &
+	local_createfile	
+
+        wait
+
+	ret1=`ssh $REMOTE cat ${log_file2} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret=`expr $ret1 + $ret`
+
+	if [ $ret -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+tp3()
+{
+	tvs_test_purpose_start "testing write/ls on different nodes"
+
+	remote_write &
+	local_createfile &
+	local_mkdir 
+
+        wait
+
+	ret1=`ssh $REMOTE cat ${log_file2} | awk '$1=="TEST_RESULT" {print $2}'`
+	ret=`expr $ret1 + $ret`
+
+	if [ $ret -eq 0 ];then
+	    	tvs_test_purpose_finish PASS
+	else
+	    	tvs_test_purpose_finish FAIL
+	fi
+}
+
+startup() # start-up function
+{
+        if [ -z $OCFSDEV ];then
+		echo "Error: OCFSDEV not specified!"
+		exit
+	fi
+
+	setup
+	remotesetup
+	scp basicrw root@${REMOTE}:.
+        
+	echo "Setup the test enviornment successfully"
+	return 0
+}
+
+cleanup() # clean-up function
+{       
+	tet_infoline "Finish ocfs2 file lock test from different node ..."
+}
+
+. /usr/tet/TVS/tsets/ocfs2test/test.config
+# Source TVS helper functions
+. $TVS_ROOT/lib/TVSFunctions.sh
+
+# execute shell test case manager - must be last line
+. $TET_ROOT/lib/xpg3sh/tcm.sh


Property changes on: trunk/ocfs2test/src/TestSuites/ocfs2test/tset/tpmultiotf/tpmultiotfr7.sh
___________________________________________________________________
Name: svn:executable
   + *



More information about the Ocfstest-commits mailing list