[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