summaryrefslogtreecommitdiffstats
path: root/test/testswmr.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/testswmr.sh')
-rwxr-xr-xtest/testswmr.sh83
1 files changed, 52 insertions, 31 deletions
diff --git a/test/testswmr.sh b/test/testswmr.sh
index 9ca1e97..d13c6ed 100755
--- a/test/testswmr.sh
+++ b/test/testswmr.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
@@ -23,12 +23,12 @@
## test parameters
###############################################################################
-Nreaders=5 # number of readers to launch
+Nreaders=5 # number of readers to launch
Nrdrs_spa=3 # number of sparse readers to launch
-Nrecords=200000 # number of records to write
+Nrecords=200000 # number of records to write
Nrecs_rem=40000 # number of times to shrink
Nrecs_spa=20000 # number of records to write in the sparse test
-Nsecs_add=5 # number of seconds per read interval
+Nsecs_add=5 # number of seconds per read interval
Nsecs_rem=3 # number of seconds per read interval
Nsecs_addrem=8 # number of seconds per read interval
nerrors=0
@@ -36,9 +36,9 @@ nerrors=0
###############################################################################
## short hands and function definitions
###############################################################################
-DPRINT=: # Set to "echo Debug:" for debugging printing,
- # else ":" for noop.
-IFDEBUG=: # Set to null to turn on debugging, else ":" for noop.
+DPRINT=: # Set to "echo Debug:" for debugging printing,
+ # else ":" for noop.
+IFDEBUG=: # Set to null to turn on debugging, else ":" for noop.
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
@@ -63,8 +63,8 @@ while [ $# -gt 0 ]; do
case "$1" in
*) # unknown option
echo "$0: Unknown option ($1)"
- exit 1
- ;;
+ exit 1
+ ;;
esac
done
@@ -74,9 +74,10 @@ do
# Try with and without compression
for compress in "" "-c 1"
do
- ###############################################################################
- ## Writer test - test expanding the dataset
- ###############################################################################
+ echo
+ echo "###############################################################################"
+ echo "## Writer test - test expanding the dataset"
+ echo "###############################################################################"
# Launch the Generator
echo launch the swmr_generator
@@ -88,16 +89,20 @@ do
# Launch the Writer
echo launch the swmr_writer
- ./swmr_writer $Nrecords &
+ seed="" # Put -r <random seed> command here
+ ./swmr_writer $Nrecords $seed &
pid_writer=$!
$DPRINT pid_writer=$pid_writer
# Launch the Readers
- n=0
+ #declare -a seeds=(<seed1> <seed2> <seed3> ... )
echo launch $Nreaders swmr_readers
pid_readers=""
+ n=0
while [ $n -lt $Nreaders ]; do
- ./swmr_reader -r $n $Nsecs_add &
+ #seed="-r ${seeds[$n]}"
+ seed=""
+ ./swmr_reader $Nsecs_add $seed &
pid_readers="$pid_readers $!"
n=`expr $n + 1`
done
@@ -130,22 +135,27 @@ do
exit 1
fi
- ###############################################################################
- ## Remove test - test shrinking the dataset
- ###############################################################################
+ echo
+ echo "###############################################################################"
+ echo "## Remove test - test shrinking the dataset"
+ echo "###############################################################################"
# Launch the Remove Writer
echo launch the swmr_remove_writer
- ./swmr_remove_writer $Nrecs_rem &
+ seed="" # Put -r <random seed> command here
+ ./swmr_remove_writer $Nrecs_rem $seed &
pid_writer=$!
$DPRINT pid_writer=$pid_writer
# Launch the Remove Readers
+ #declare -a seeds=(<seed1> <seed2> <seed3> ... )
n=0
pid_readers=""
echo launch $Nreaders swmr_remove_readers
while [ $n -lt $Nreaders ]; do
- ./swmr_remove_reader -r $n $Nsecs_rem &
+ #seed="-r ${seeds[$n]}"
+ seed=""
+ ./swmr_remove_reader $Nsecs_rem $seed &
pid_readers="$pid_readers $!"
n=`expr $n + 1`
done
@@ -178,9 +188,10 @@ do
exit 1
fi
- ###############################################################################
- ## Add/remove test - randomly grow or shrink the dataset
- ###############################################################################
+ echo
+ echo "###############################################################################"
+ echo "## Add/remove test - randomly grow or shrink the dataset"
+ echo "###############################################################################"
# Launch the Generator
echo launch the swmr_generator
@@ -192,7 +203,8 @@ do
# Launch the Writer (not in parallel - just to rebuild the datasets)
echo launch the swmr_writer
- ./swmr_writer $Nrecords
+ seed="" # Put -r <random seed> command here
+ ./swmr_writer $Nrecords $seed
if test $? -ne 0; then
echo writer had error
nerrors=`expr $nerrors + 1`
@@ -200,16 +212,20 @@ do
# Launch the Add/Remove Writer
echo launch the swmr_addrem_writer
- ./swmr_addrem_writer $Nrecords &
+ seed="" # Put -r <random seed> command here
+ ./swmr_addrem_writer $Nrecords $seed &
pid_writer=$!
$DPRINT pid_writer=$pid_writer
# Launch the Add/Remove Readers
+ #declare -a seeds=(<seed1> <seed2> <seed3> ... )
n=0
pid_readers=""
echo launch $Nreaders swmr_remove_readers
while [ $n -lt $Nreaders ]; do
- ./swmr_remove_reader -r $n $Nsecs_addrem &
+ #seed="-r ${seeds[$n]}"
+ seed=""
+ ./swmr_remove_reader $Nsecs_addrem $seed &
pid_readers="$pid_readers $!"
n=`expr $n + 1`
done
@@ -242,13 +258,17 @@ do
exit 1
fi
- ###############################################################################
- ## Sparse writer test - test writing to random locations in the dataset
- ###############################################################################
+ echo
+ echo "###############################################################################"
+ echo "## Sparse writer test - test writing to random locations in the dataset"
+ echo "###############################################################################"
# Launch the Generator
+ # NOTE: Random seed is shared between readers and writers and is
+ # created by the generator.
echo launch the swmr_generator
- ./swmr_generator $compress $index_type
+ seed="" # Put -r <random seed> command here
+ ./swmr_generator $compress $index_type $seed
if test $? -ne 0; then
echo generator had error
nerrors=`expr $nerrors + 1`
@@ -256,7 +276,7 @@ do
# Launch the Sparse writer
echo launch the swmr_sparse_writer
- nice -n 20 ./swmr_sparse_writer -q $Nrecs_spa &
+ nice -n 20 ./swmr_sparse_writer $Nrecs_spa &
pid_writer=$!
$DPRINT pid_writer=$pid_writer
@@ -265,6 +285,7 @@ do
pid_readers=""
echo launch $Nrdrs_spa swmr_sparse_readers
while [ $n -lt $Nrdrs_spa ]; do
+ # The sparse writer spits out a LOT of data so it's set to 'quiet'
./swmr_sparse_reader -q $Nrecs_spa &
pid_readers="$pid_readers $!"
n=`expr $n + 1`