Tweak run_check.sh so it prints the name of each test in a parallel group
authorTom Lane
Sun, 21 Nov 1999 01:53:39 +0000 (01:53 +0000)
committerTom Lane
Sun, 21 Nov 1999 01:53:39 +0000 (01:53 +0000)
as that test finishes --- helps to give the impression that something is
happening...

src/test/regress/run_check.sh

index f289687dd7f0cff3637c5a726ea528c2aad8c47c..877d8fae5ecc6d46722c35df2c8c085b88ed87de 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Header: /cvsroot/pgsql/src/test/regress/Attic/run_check.sh,v 1.2 1999/11/20 20:21:30 tgl Exp $
+# $Header: /cvsroot/pgsql/src/test/regress/Attic/run_check.sh,v 1.3 1999/11/21 01:53:39 tgl Exp $
 
 # ----------
 # This is currently needed because the actual 7.0 psql makes
@@ -118,7 +118,6 @@ fi
 
 echo "=============== Create ./tmp_check directory           ================"
 mkdir -p $CHKDIR
-mkdir -p $PGDATA
 mkdir -p $LOGDIR
 
 
@@ -264,7 +263,7 @@ lno=0
    case $type in
        parallel)   # ----------
                    # This is the beginning of a new group of
-                   # tests that should be executed parallel.
+                   # tests that should be executed in parallel.
                    # ----------
                    parlist=
                    parlno=$lno
@@ -330,28 +329,33 @@ lno=0
                    fi
 
                    # ----------
-                   # Tell what we're doing and start them all in background.
-                   # The bourne shell's wait is
-                   # too dumb to do it smarter. I'd really like to see
-                   # the ok|failed message as soon as the individual tests
-                   # finish. That'd make it easier to start longer running
-                   # ones first to increase concurrency.
+                   # Tell what we're doing and then start them all, using
+                   # a subshell for each one.  The subshell is just there
+                   # to print the test name when it finishes, so one can
+                   # see which tests finish fastest.  We do NOT run the
+                   # ok/failed comparison tests in the parallel subshells,
+                   # because we want the diffs (if any) to come out in a
+                   # predictable order --- and certainly not interleaved!
                    # ----------
                    gnam=`echo "$pargroup ($parntests tests)" | awk '{printf "%-26.26s", $0;}'`
-                   $ECHO_N "parallel $gnam  ... " $ECHO_C
-
-                   for name in $parlist ; do
-                       $FRONTEND regression < sql/${name}.sql          \
-                           > results/${name}.out 2>&1  &
+                   echo "parallel $gnam  ..."
+
+                   for name in $parlist
+                   do
+                       (
+                           $FRONTEND regression < sql/${name}.sql          \
+                               > results/${name}.out 2>&1
+                           $ECHO_N " $name" $ECHO_C
+                       ) &
                    done
                    wait
+                   echo ""
 
                    # ----------
                    # Setup status information for the diff check below
                    # ----------
                    checklist=$parlist
                    checkpname=1
-                   echo "done"
                    ;;
 
        test)       # ----------