/[MITgcm]/MITgcm/verification/testreport
ViewVC logotype

Diff of /MITgcm/verification/testreport

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.44 by edhill, Mon Jul 12 14:02:25 2004 UTC revision 1.70 by jmc, Thu Jul 28 21:12:15 2005 UTC
# Line 27  usage() Line 27  usage()
27      echo "                             (DEF=\"make output.txt\")"      echo "                             (DEF=\"make output.txt\")"
28      echo "  (-m|-make) STRING        command to use for \"make\""      echo "  (-m|-make) STRING        command to use for \"make\""
29      echo "                             (DEF=\"make\")"      echo "                             (DEF=\"make\")"
30        echo "  (-odir) STRING           used to build output directory name"
31        echo "                             (DEF=\"hostname\")"
32        echo "  (-ptracers|-ptr) STRING  specify which ptracers to test"
33        echo "                             (DEF=\"1 2 3 4 5\")"
34      echo "  (-j) JOBS                use \"make -j JOBS\" for parallel builds"      echo "  (-j) JOBS                use \"make -j JOBS\" for parallel builds"
35      echo "  (-clean)                 *ONLY* run \"make CLEAN\""      echo "  (-clean)                 *ONLY* run \"make CLEAN\""
36      echo "  (-quick|-q)              same as \"-nogenmake -noclean -nodepend\""      echo "  (-quick|-q)              same as \"-nogenmake -noclean -nodepend\""
# Line 35  usage() Line 39  usage()
39      echo "  (-nodepend|-nd)          skip the \"make depend\" stage"      echo "  (-nodepend|-nd)          skip the \"make depend\" stage"
40      echo "  (-deldir|-dd)            on success, delete the output directory"      echo "  (-deldir|-dd)            on success, delete the output directory"
41      echo      echo
42      echo "and where STRING follows a whitespace-delimited format"      echo "and where STRING can be a whitespace-delimited list"
43      echo "such as:"      echo "such as:"
44        echo
45      echo "  -t 'exp0 exp2 exp3' "      echo "  -t 'exp0 exp2 exp3' "
46      echo "  -addr='abc@123.com testing@home.org'"      echo "  -addr='abc@123.com testing@home.org'"
47      echo      echo
48        echo "provided that the expression is properly quoted within the current"
49        echo "shell (note the use of single quotes to protect white space)."
50        echo
51      exit 1      exit 1
52  }  }
53    
# Line 89  testoutput_for_prop() Line 97  testoutput_for_prop()
97      fi      fi
98      if [ -r $1/$4/output.txt ]; then      if [ -r $1/$4/output.txt ]; then
99          grep "$2" $1/$4/output.txt | sed 's/.*=//' | cat -n > tmp1.txt          grep "$2" $1/$4/output.txt | sed 's/.*=//' | cat -n > tmp1.txt
100          lncnt=`wc -l tmp1.txt | awk '{print $1}' `          lncntA=`wc -l tmp1.txt | awk '{print $1}' `
101          if [ $lncnt -lt 3 ]; then          if [ $lncntA -lt 3 ]; then
102              if [ $verbose -gt 0 ]; then              if [ $verbose -gt 0 ]; then
103                  echo Not enough lines of output when searching for "$2" 1>&2                  echo Not enough lines of output when searching for "$2" 1>&2
104              fi              fi
# Line 104  testoutput_for_prop() Line 112  testoutput_for_prop()
112          echo testoutput_for_prop: grep "$2" $1/results/output.txt$5 1>&2          echo testoutput_for_prop: grep "$2" $1/results/output.txt$5 1>&2
113      fi      fi
114      grep "$2" $1/results/output.txt$5 | sed 's/.*=//' | cat -n > tmp2.txt      grep "$2" $1/results/output.txt$5 | sed 's/.*=//' | cat -n > tmp2.txt
115      lncnt=`wc -l tmp2.txt | awk '{print $1}' `      lncntB=`wc -l tmp2.txt | awk '{print $1}' `
116      if [ $lncnt -lt 3 ]; then      if [ $lncntB -lt 3 ]; then
117          if [ $verbose -gt 0 ]; then          if [ $verbose -gt 0 ]; then
118              echo Not enough lines of output when searching for "$2" 1>&2              echo Not enough lines of output when searching for "$2" 1>&2
119          fi          fi
120          return 99          return 99
121      fi      fi
122        if [ $lncntA -ne $lncntB ]; then
123            if [ $verbose -gt 0 ]; then
124                echo Not same Nb of lines when searching for "$2" ":" $lncntA $lncntB 1>&2
125            fi
126            return 99
127        fi
128      if [ $debug -gt 0 ]; then      if [ $debug -gt 0 ]; then
129          echo testoutput_for_prop: join tmp1.txt tmp2.txt 1>&2          echo testoutput_for_prop: join tmp1.txt tmp2.txt 1>&2
130      fi      fi
# Line 171  testoutput_ad() Line 185  testoutput_ad()
185      rm -f t[01][56].txt t[56].txt      rm -f t[01][56].txt t[56].txt
186  }  }
187    
188    check_for_add_mon_output()
189    {
190        # Check for additional types of monitor output
191        if test "x$1" = x ; then
192            return
193        fi
194    
195        for ii in $PTRACERS_NUM ; do
196            eval "HAVE_PTR0"$ii"=f"
197        done
198    
199        ptr_add="trcstat_ptracerXX_min trcstat_ptracerXX_max"
200        ptr_add="$ptr_add trcstat_ptracerXX_mean trcstat_ptracerXX_sd"
201        for ii in $PTRACERS_NUM ; do
202            for jj in $ptr_add ; do
203                name=`eval "echo $jj | sed -e 's|XX|0"$ii"|g'"`
204                tst=`grep $name $1 | wc -l | awk '{print $1}'`
205                if test ! "x$tst" = x0 ; then
206                    eval "HAVE_PTR0"$ii"=t"
207                fi
208            done
209            #  eval 'echo "HAVE_PTR0'$ii' = $HAVE_PTR0'$ii'"'
210        done
211    }
212    
213  testoutput()  testoutput()
214  {  {
215      # testoutput directory subdir extension      # testoutput directory subdir extension
# Line 200  testoutput() Line 239  testoutput()
239          testoutput_for_prop $1 "dynstat_vvel_max" "V maximum" $2 $3; vmax=$?          testoutput_for_prop $1 "dynstat_vvel_max" "V maximum" $2 $3; vmax=$?
240          testoutput_for_prop $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$?          testoutput_for_prop $1 "dynstat_vvel_mean" "V mean" $2 $3; vmean=$?
241          testoutput_for_prop $1 "dynstat_vvel_sd" "V s.d." $2 $3; vsd=$?          testoutput_for_prop $1 "dynstat_vvel_sd" "V s.d." $2 $3; vsd=$?
242          dashnum $cg2dres $tmin $tmax $tmean $tsd $smin $smax $smean $ssd \  
243              $umin $umax $umean $usd $vmin $vmax $vmean $vsd          #  This is for PTRACERS
244            for ii in $PTRACERS_NUM ; do
245                eval `echo "p0"$ii"_min=99"`
246                eval `echo "p0"$ii"_max=99"`
247                eval `echo "p0"$ii"_mean=99"`
248                eval `echo "p0"$ii"_sd=99"`
249                tst=`eval 'echo "$HAVE_PTR0'$ii'"'`
250                #echo 'tst = '$tst
251                if test "x$tst" = xt ; then
252                    a="trcstat_ptracer0"
253                    testoutput_for_prop $1 "$a"$ii"_min"  "p0"$ii"_min"  $2 $3
254                    RETVAL=$? ; eval `echo "p0"$ii"_min="$RETVAL`
255                    testoutput_for_prop $1 "$a"$ii"_max"  "p0"$ii"_max"  $2 $3
256                    RETVAL=$? ; eval `echo "p0"$ii"_max="$RETVAL`
257                    testoutput_for_prop $1 "$a"$ii"_mean" "p0"$ii"_mean" $2 $3
258                    RETVAL=$? ; eval `echo "p0"$ii"_mean="$RETVAL`
259                    testoutput_for_prop $1 "$a"$ii"_sd"   "p0"$ii"_sd"   $2 $3
260                    RETVAL=$? ; eval `echo "p0"$ii"_sd="$RETVAL`
261                fi
262            done
263    
264            allargs="$cg2dres $tmin $tmax $tmean $tsd $smin $smax $smean $ssd"
265            allargs="$allargs $umin $umax $umean $usd $vmin $vmax $vmean $vsd"
266            allargs="$allargs $p01_min $p01_max $p01_mean $p01_sd"
267            allargs="$allargs $p02_min $p02_max $p02_mean $p02_sd"
268            allargs="$allargs $p03_min $p03_max $p03_mean $p03_sd"
269            allargs="$allargs $p04_min $p04_max $p04_mean $p04_sd"
270            allargs="$allargs $p05_min $p05_max $p05_mean $p05_sd"
271    
272            eval "dashnum $allargs"
273    
274      else      else
275          testoutput_ad $1 $2 "precision_grdchk_result"          testoutput_ad $1 $2 "precision_grdchk_result"
276      fi      fi
# Line 233  genmakemodel() Line 302  genmakemodel()
302              if test "x$IEEE" != x ; then              if test "x$IEEE" != x ; then
303                  command="$command -ieee"                  command="$command -ieee"
304              fi              fi
305                if test "x$MPI" = xt ; then
306                    command="$command -mpi"
307                fi
308              printf 'genmake ... ' 1>&2              printf 'genmake ... ' 1>&2
309              $command > make.log 2>&1              $command > make.log 2>&1
310              RETVAL=$?              RETVAL=$?
311              #  Reduce the size of the testing emails!              #  Reduce the size of the testing emails!
312              #  cp Makefile $CDIR              head -100 Makefile > $CDIR/Makefile_head
313              if test "x$RETVAL" != x0 ; then              if test "x$RETVAL" != x0 ; then
314                  tail make.log                  tail make.log
315                  echo "genmakemodel: genmake failed" 1>&2                  echo "genmakemodel: genmake failed" 1>&2
# Line 278  makeclean() Line 350  makeclean()
350      fi      fi
351  }  }
352    
353    postclean()
354    {
355        # postclean directory
356        if test "x$POSTCLEAN" = xt ; then
357            (
358                cd $1;
359                if test -r Makefile ; then
360                    $MAKE CLEAN >> /dev/null 2>&1
361                fi
362                exit 0
363            )
364        fi
365    }
366    
367  makedependmodel()  makedependmodel()
368  {  {
369      # makedependmodel directory      # makedependmodel directory
# Line 340  symlink_mpifiles() Line 426  symlink_mpifiles()
426      code_dir=$2      code_dir=$2
427      BUILD_DIR=$dir/$3      BUILD_DIR=$dir/$3
428      CODE_DIR=$dir/$code_dir      CODE_DIR=$dir/$code_dir
429        
430      # These are files that should replace their counter-part when using -mpi      # These are files that should replace their counter-part when using -mpi
431      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi")`      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi")`
432    
# Line 355  symlink_mpifiles() Line 441  symlink_mpifiles()
441              RETVAL=$?              RETVAL=$?
442              if test "x$RETVAL" != x0 ; then              if test "x$RETVAL" != x0 ; then
443                  if ! test -f $BUILD_DIR/$i ; then                  if ! test -f $BUILD_DIR/$i ; then
444                  #echo Linking $name to $i                      #echo Linking $name to $i
445                      (cd $BUILD_DIR; ln -sf ../$code_dir/$i $name)                      (cd $BUILD_DIR; ln -sf ../$code_dir/$i $name)
446                  fi                  fi
447              fi              fi
448          done          done
449      else      else
450      # NO: We undo any _mpi symbolically linked files          # NO: We undo any _mpi symbolically linked files
451          for ii in $MPI_FILES ; do          for ii in $MPI_FILES ; do
452              i=`echo $ii | sed 's:^\./::'`              i=`echo $ii | sed 's:^\./::'`
453              name=`echo $i | sed 's:_mpi::' `              name=`echo $i | sed 's:_mpi::' `
454              if test -L $BUILD_DIR/$name ; then              if test -L $BUILD_DIR/$name ; then
455                  linktarg=`(cd $BUILD_DIR; readlink $name)`                  cmp $BUILD_DIR/$name "../$code_dir/$name"_mpi > /dev/null 2>&1
456                  if test $linktarg = "../$code_dir/$name"_mpi ; then                  RETVAL=$?
457                  #echo Un-linking $name from $linktarg                  if test "x$RETVAL" = x0 ; then
458                        #echo Un-linking $name from $linktarg
459                      rm -f $BUILD_DIR/$name                      rm -f $BUILD_DIR/$name
460                  fi                  fi
461              fi              fi
# Line 388  linkdata() Line 475  linkdata()
475              if test "x$ADM" = x ; then              if test "x$ADM" = x ; then
476                  files=`( cd ../input ; ls -1 | grep -v CVS )`                  files=`( cd ../input ; ls -1 | grep -v CVS )`
477                  for i in $files ; do                  for i in $files ; do
478                      if test ! -d "../input/"$i ; then                      if test ! -d "../input/"$i -a ! -f $i ; then
479                          ln -sf "../input/"$i $i                          ln -sf "../input/"$i $i
480                      fi                      fi
481                  done                  done
# Line 421  runmodel() Line 508  runmodel()
508          printf 'runmodel ... ' 1>&2          printf 'runmodel ... ' 1>&2
509          # make output.txt          # make output.txt
510          echo          echo
511            rm -f run.log
512          # echo "COMMAND='$COMMAND'"          # echo "COMMAND='$COMMAND'"
513          # echo "pwd='"`pwd`"'"          # echo "pwd='"`pwd`"'"
514          ( eval $COMMAND ) >> run.log 2>&1          ( eval $COMMAND ) > run.log 2>&1
515          RETVAL=$?          RETVAL=$?
516          if test "x$RETVAL" = x0 ; then          if test "x$RETVAL" = x0 ; then
517                tail run.log
518              echo successful 1>&2              echo successful 1>&2
519              # === Reduce the size of the testing emails!              # === Reduce the size of the testing emails!
520              # if test "x$ADM" = x ; then              # if test "x$ADM" = x ; then
# Line 433  runmodel() Line 522  runmodel()
522              # else              # else
523              #   cp output.txt_adm $CDIR"/output.txt_adm"              #   cp output.txt_adm $CDIR"/output.txt_adm"
524              # fi              # fi
525                if test -s STDERR.0000 ; then cp STDERR.0000 $CDIR"/STDERR.0000" ; fi
526              return 0              return 0
527          else          else
528              tail run.log              tail run.log
529              echo failed 1>&2              echo failed 1>&2
530              cp run.log $CDIR"/run.log"              cp run.log $CDIR"/run.log"
531                if test -s STDERR.0000 ; then cp STDERR.0000 $CDIR"/STDERR.0000" ; fi
532              return 1              return 1
533          fi          fi
534      )      )
# Line 453  createcodelet() Line 544  createcodelet()
544  #include <math.h>  #include <math.h>
545  int main( int argc, char** argv )  {  int main( int argc, char** argv )  {
546    int linnum,best,lncnt;    int linnum,best,lncnt;
547    double a,b,diff;    double a,b,abave,relerr;
548    best = -16;    best = -22;
549    lncnt = 0;    lncnt = 0;
550    while( 1 & (lncnt+=1) < 999 )  {    while( 1 & (lncnt+=1) < 999 )  {
551      scanf("%d", &linnum);      scanf("%d", &linnum);
552      if (linnum == -1)  break;      if (linnum == -1)  break;
553      scanf("%lf", &a);  scanf("%lf", &b);      scanf("%lf", &a);  scanf("%lf", &b);
554      diff = 0.5*(fabs(a)+fabs(b));      abave = 0.5*(fabs(a)+fabs(b));
555      if (diff > 1.e-12) {      if (abave > 0.0) {
556        diff=fabs(a-b)/diff;        relerr=fabs(a-b)/abave;
557        if (diff > 0.0) {        if (relerr > 0.0) { linnum = (int)rint(log10(relerr)); }
558          linnum = (int)log10(diff);        else { linnum = -16 ; }
559          best = (best > linnum) ? best : linnum;        best = (best > linnum) ? best : linnum;
       }  
       else {  
         if (best == -16 && diff != 0)  best = -22;  
       }  
560      }      }
561    }    }
562    if (lncnt == 999) best=-29;    if (lncnt == 999) best=-29;
# Line 477  int main( int argc, char** argv )  { Line 564  int main( int argc, char** argv )  {
564    return 0;    return 0;
565  }  }
566  EOF  EOF
567      cc -o tmp_cmpnum tmp_cmpnum.c -lm      $CC -o tmp_cmpnum tmp_cmpnum.c -lm
568    
569      if [ -x ./tmp_cmpnum ]; then      if [ -x ./tmp_cmpnum ]; then
570          echo "OK"          echo "OK"
571          return 0          return 0
572      else      else
573          echo          echo
574          echo "ERROR: failed to compile comparison code"          echo "ERROR: failed to compile comparison code -- please specify"
575            echo "  a C compiler using the CC environment variable."
576          exit 1          exit 1
577      fi      fi
578  }  }
# Line 564  QUICK=f Line 652  QUICK=f
652  NOGENMAKE=f  NOGENMAKE=f
653  NOCLEAN=f  NOCLEAN=f
654  NODEPEND=f  NODEPEND=f
655    POSTCLEAN=f
656    
657  BASH=  BASH=
658  OPTFILE=NONE  OPTFILE=NONE
# Line 573  MPACKDIR="../tools/mpack-1.6" Line 662  MPACKDIR="../tools/mpack-1.6"
662  HAVE_MPACK=  HAVE_MPACK=
663  MPACK="$MPACKDIR/mpack"  MPACK="$MPACKDIR/mpack"
664  COMMAND=  COMMAND=
665  MAKE=make  if test "x$MAKE" = x ; then
666        MAKE=make
667    fi
668    if test "x$CC" = x ; then
669        CC=cc
670    fi
671  JOBS=  JOBS=
672  MPI=f  MPI=f
673    OUTDIR=
674  DELDIR=  DELDIR=
675    
676  ADM=  ADM=
677    
678    # Additional monitor types
679    PTRACERS_NUM="1 2 3 4 5"
680    
681  printf "parsing options...  "  printf "parsing options...  "
682    
683  ac_prev=  ac_prev=
# Line 629  for ac_option ; do Line 727  for ac_option ; do
727          -make=* | --make=*)          -make=* | --make=*)
728              MAKE=$ac_optarg ;;              MAKE=$ac_optarg ;;
729    
730            -odir | --odir)
731                ac_prev=OUTDIR ;;
732            -odir=* | --odir=*)
733                OUTDIR=$ac_optarg ;;
734    
735            -ptracers | --ptracers | -ptr | --ptr)
736                ac_prev=PTRACERS_NUM ;;
737            -ptracers=* | --ptracers=* | -ptr=* | --ptr=*)
738                PTRACERS_NUM=$ac_optarg ;;
739    
740          -j) ac_prev=JOBS ;;          -j) ac_prev=JOBS ;;
741          -j=*) JOBS=$ac_optarg ;;          -j=*) JOBS=$ac_optarg ;;
742    
743          -clean | --clean)          -clean | --clean)
744              CLEANUP=t ;;              CLEANUP=t ; DELDIR=t ;;
745    
746          -quick | --quick | -q | --q)          -quick | --quick | -q | --q)
747              QUICK=t ;;              QUICK=t ;;
# Line 644  for ac_option ; do Line 752  for ac_option ; do
752          -nodepend | --nodepend | -nd | --nd)          -nodepend | --nodepend | -nd | --nd)
753              NODEPEND=t ;;              NODEPEND=t ;;
754    
755            -postclean | --postclean | -pc | --pc)
756                POSTCLEAN=t ;;
757    
758          -mpi) MPI=t ;;          -mpi) MPI=t ;;
759    
760          -adm | -ad) ADM=t ;;          -adm | -ad) ADM=t ;;
# Line 690  if test "x$ADM" = xt -a "x$COMMAND" = x Line 801  if test "x$ADM" = xt -a "x$COMMAND" = x
801  fi  fi
802    
803  if test "x$COMMAND" = x ; then  if test "x$COMMAND" = x ; then
804      COMMAND="make output.txt"      COMMAND="$MAKE output.txt"
805  fi  fi
806    
807  echo "OK"  echo "OK"
# Line 710  MACH=`hostname` Line 821  MACH=`hostname`
821  UNAMEA=`uname -a`  UNAMEA=`uname -a`
822  DATE=`date +%Y%m%d`  DATE=`date +%Y%m%d`
823  BASE="tr_"$MACH"_"$DATE"_"  BASE="tr_"$MACH"_"$DATE"_"
824    if test "x$OUTDIR" != x ; then
825        BASE="tr_"$OUTDIR"_"$DATE"_"
826    fi
827  DNUM=0  DNUM=0
828  DRESULTS="$BASE$DNUM"  DRESULTS="$BASE$DNUM"
829  while test -e $DRESULTS ; do  while test -e $DRESULTS ; do
# Line 755  fi Line 869  fi
869  echo  echo
870  echo >> $SUMMARY  echo >> $SUMMARY
871  if test "x$ADM" = x ; then  if test "x$ADM" = x ; then
872      cat << EOF | tee -a $SUMMARY      line_0="            ----T-----  ----S-----  ----U-----  ----V-----"
873                  T           S           U           V      line_1="G D M    c        m  s        m  s        m  s        m  s"
874  G D M    c        m  s        m  s        m  s        m  s      line_2="E p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  ."
875  E p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  .      line_3="N n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d"
876  N n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d      line_4="2 d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  ."
877  2 d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .      for ii in $PTRACERS_NUM ; do
878            #  tst=`eval 'echo $HAVE_PTR0'$ii`
879  EOF          #  if test "x$tst" = xt ; then
880            line_0="$line_0  --PTR 0"$ii"--"
881            line_1="$line_1        m  s"
882            line_2="$line_2  m  m  e  ."
883            line_3="$line_3  i  a  a  d"
884            line_4="$line_4  n  x  n  ."
885            #  fi
886        done
887        echo "$line_0" | tee -a $SUMMARY
888        echo "$line_1" | tee -a $SUMMARY
889        echo "$line_2" | tee -a $SUMMARY
890        echo "$line_3" | tee -a $SUMMARY
891        echo "$line_4" | tee -a $SUMMARY
892        echo " "       | tee -a $SUMMARY
893  else  else
894      echo "ADJOINT=true" >> $SUMMARY      echo "ADJOINT=true" >> $SUMMARY
895      echo >> $SUMMARY      echo >> $SUMMARY
# Line 786  for dir in $TESTDIRS ; do Line 913  for dir in $TESTDIRS ; do
913          if test -r $dir/input/Makefile ; then          if test -r $dir/input/Makefile ; then
914              ( cd $dir/input ; make CLEAN )              ( cd $dir/input ; make CLEAN )
915          fi          fi
916            (
917                cd $dir
918                rm -rf tr_run.*
919            )
920          continue          continue
921      fi      fi
922    
# Line 801  for dir in $TESTDIRS ; do Line 932  for dir in $TESTDIRS ; do
932          echo "can't read \"$fout\" -- skipping $dir"          echo "can't read \"$fout\" -- skipping $dir"
933          continue          continue
934      fi      fi
935        if test "x$ADM" = x ; then
936            check_for_add_mon_output  $fout
937        fi
938    
939        # Check for additional types of monitor output
940    
941      builddir="input"      builddir="input"
942      rundir="input"      rundir="input"
# Line 876  for dir in $TESTDIRS ; do Line 1012  for dir in $TESTDIRS ; do
1012          echo "DATE='$DATE'" >> $CDIR"/summary.txt"          echo "DATE='$DATE'" >> $CDIR"/summary.txt"
1013          echo "tdir='$dir'" >> $CDIR"/summary.txt"          echo "tdir='$dir'" >> $CDIR"/summary.txt"
1014    
         OLD_COMMAND=$COMMAND  
         COMMAND="./mitgcmuv > output.txt"  
1015          for ex in $extra_runs ; do          for ex in $extra_runs ; do
1016              test -e "$dir/tr_run.$ex" && rm -rf "$dir/tr_run.$ex"              test ! -e "$dir/tr_run.$ex" && mkdir "$dir/tr_run.$ex"
1017              mkdir "$dir/tr_run.$ex"              for ldir in input.$ex input ; do
1018              links=`( cd "$dir/input" > /dev/null 2>&1 ; ls -1 | grep -v CVS )`                  (
1019                        cd "$dir/$ldir" > /dev/null 2>&1
1020                        ls -1 2>/dev/null \
1021                            | sed -e 's|^CVS$||g' | sed -e 's|^output.txt$||g'
1022                    ) > tr_exrun_links
1023                    (
1024                        cd "$dir/tr_run.$ex"
1025                        cat ../../tr_exrun_links | while read i ; do
1026                            if test ! "x$i" = x ; then
1027                                test ! -r $i  &&  ln -s "../"$ldir"/"$i $i
1028                            fi
1029                        done
1030                    )
1031                    test -e tr_exrun_links  &&  rm -f tr_exrun_links
1032                done
1033                ldir=build
1034                (
1035                    cd "$dir/$ldir" > /dev/null 2>&1
1036                    ls -1 Makefile *.[fFhco] mitgcmuv  2>/dev/null \
1037                        | sed -e 's|^CVS$||g' | sed -e 's|^output.txt$||g'
1038                ) > tr_exrun_links
1039              (              (
1040                  cd "$dir/tr_run.$ex"                  cd "$dir/tr_run.$ex"
1041                  for i in $links; do                      cat ../../tr_exrun_links | while read i ; do
1042                      ln -s ../input/$i $i                          if test ! "x$i" = x ; then
1043                  done                              test ! -r $i  &&  ln -s "../"$ldir"/"$i $i
1044              )                          fi
1045              links=`( cd "$dir/input.$ex" > /dev/null 2>&1 ; ls -1 | grep -v CVS )`                      done
             (  
                 cd "$dir/tr_run.$ex"  
                 for i in $links; do  
                     test -e $i  &&  rm -f $i  
                     ln -s ../input.$ex/$i $i  
                 done  
                 ln -s ../$builddir/mitgcmuv mitgcmuv  
1046              )              )
1047                test -e tr_exrun_links  &&  rm -f tr_exrun_links
1048              runmodel $dir/tr_run.$ex && run=Y \              runmodel $dir/tr_run.$ex && run=Y \
1049                  && results=`testoutput $dir tr_run.$ex "."$ex`                  && results=`testoutput $dir tr_run.$ex "."$ex`
1050              fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}`              fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}`
# Line 910  for dir in $TESTDIRS ; do Line 1058  for dir in $TESTDIRS ; do
1058              echo "DATE='$DATE'" >> $CDIR"/summary.txt"              echo "DATE='$DATE'" >> $CDIR"/summary.txt"
1059              echo "tdir='$dir'" >> $CDIR"/summary.txt"              echo "tdir='$dir'" >> $CDIR"/summary.txt"
1060          done          done
         COMMAND=$OLD_COMMAND  
1061      else      else
1062          fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}`          fres=`printf '%s %s %s %s' ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N}`
1063          fres=$fres"$results   $dir"          fres=$fres"$results   $dir"
# Line 922  for dir in $TESTDIRS ; do Line 1069  for dir in $TESTDIRS ; do
1069          echo "DATE='$DATE'" >> $CDIR"/summary.txt"          echo "DATE='$DATE'" >> $CDIR"/summary.txt"
1070          echo "tdir='$dir'" >> $CDIR"/summary.txt"          echo "tdir='$dir'" >> $CDIR"/summary.txt"
1071      fi      fi
1072    
1073        postclean $dir/$builddir
1074            
1075      echo "-------------------------------------------------------------------------------"      echo "-------------------------------------------------------------------------------"
1076            
# Line 963  fi Line 1112  fi
1112  rm -f tmp_cmpnum.c tmp_cmpnum  rm -f tmp_cmpnum.c tmp_cmpnum
1113    
1114  if test "x$CLEANUP" != xt ; then  if test "x$CLEANUP" != xt ; then
1115      cat $SUMMARY      cat $SUMMARY | sed 's/ -- -- -- --//g'
1116      if test -e tr_out.txt ; then      if test -e tr_out.txt ; then
1117          mv tr_out.txt tr_out.txt.old          mv tr_out.txt tr_out.txt.old
1118      fi      fi
1119      cat $SUMMARY > tr_out.txt      cat $SUMMARY | sed 's/ -- -- -- --//g' > tr_out.txt
1120  fi  fi
1121    
1122  if test "x$DELDIR" = xt ; then  if test "x$DELDIR" = xt ; then

Legend:
Removed from v.1.44  
changed lines
  Added in v.1.70

  ViewVC Help
Powered by ViewVC 1.1.22