/[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.38 by edhill, Fri Mar 12 19:55:47 2004 UTC revision 1.48 by jmc, Wed Nov 17 21:38:35 2004 UTC
# Line 13  usage() Line 13  usage()
13      echo "  (-help|-h)               print usage"      echo "  (-help|-h)               print usage"
14      echo "  (-mpi)                   use MPI input files"      echo "  (-mpi)                   use MPI input files"
15      echo "  (-ieee|-noieee)          if possible, use IEEE compiler flags"      echo "  (-ieee|-noieee)          if possible, use IEEE compiler flags"
16      echo "                             (DEF=\"noieee\")"      echo "                             (DEF=\"-ieee\")"
17      echo "  (-optfile=|-of=)STRING   list of optfiles to use"      echo "  (-optfile=|-of=)STRING   list of optfiles to use"
18      echo "  (-a|-addr) STRING        list of email recipients"      echo "  (-a|-addr) STRING        list of email recipients"
19      echo "                             (DEF=\"edhill@mitgcm.org\")"      echo "                             (DEF=\"edhill@mitgcm.org\")"
# 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 "  (-j) JOBS                use \"make -j JOBS\" for parallel builds"
31      echo "  (-clean)                 *ONLY* run \"make CLEAN\""      echo "  (-clean)                 *ONLY* run \"make CLEAN\""
32      echo "  (-quick|-q)              same as \"-nogenmake -noclean -nodepend\""      echo "  (-quick|-q)              same as \"-nogenmake -noclean -nodepend\""
33      echo "  (-nogenmake|-ng)         skip the genmake stage"      echo "  (-nogenmake|-ng)         skip the genmake stage"
34      echo "  (-noclean|-nc)           skip the \"make clean\" stage"      echo "  (-noclean|-nc)           skip the \"make clean\" stage"
35      echo "  (-nodepend|-nd)          skip the \"make depend\" stage"      echo "  (-nodepend|-nd)          skip the \"make depend\" stage"
36        echo "  (-deldir|-dd)            on success, delete the output directory"
37      echo      echo
38      echo "and where STRING follows a whitespace-delimited format"      echo "and where STRING follows a whitespace-delimited format"
39      echo "such as:"      echo "such as:"
# Line 234  genmakemodel() Line 236  genmakemodel()
236              printf 'genmake ... ' 1>&2              printf 'genmake ... ' 1>&2
237              $command > make.log 2>&1              $command > make.log 2>&1
238              RETVAL=$?              RETVAL=$?
239              cp Makefile $CDIR              #  Reduce the size of the testing emails!
240                head -100 Makefile > $CDIR/Makefile_head
241              if test "x$RETVAL" != x0 ; then              if test "x$RETVAL" != x0 ; then
242                  tail make.log                  tail make.log
243                  echo "genmakemodel: genmake failed" 1>&2                  echo "genmakemodel: genmake failed" 1>&2
# Line 306  makemodel() Line 309  makemodel()
309          if test -r Makefile ; then          if test -r Makefile ; then
310              printf 'make ... ' 1>&2              printf 'make ... ' 1>&2
311              if test "x$ADM" = x ; then              if test "x$ADM" = x ; then
312                  $MAKE >> make.log 2>&1                  if test "x$JOBS" = x ; then
313                        $MAKE >> make.log 2>&1
314                    else
315                        $MAKE -j $JOBS >> make.log 2>&1
316                    fi
317              else              else
318                  $MAKE adall >> make.log 2>&1                  $MAKE adall >> make.log 2>&1
319              fi              fi
# Line 333  symlink_mpifiles() Line 340  symlink_mpifiles()
340      code_dir=$2      code_dir=$2
341      BUILD_DIR=$dir/$3      BUILD_DIR=$dir/$3
342      CODE_DIR=$dir/$code_dir      CODE_DIR=$dir/$code_dir
343        
344      # These are files that should replace their counter-part when using -mpi      # These are files that should replace their counter-part when using -mpi
345      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi")`      MPI_FILES=`(cd $CODE_DIR; find . -name "*_mpi")`
346    
# Line 348  symlink_mpifiles() Line 355  symlink_mpifiles()
355              RETVAL=$?              RETVAL=$?
356              if test "x$RETVAL" != x0 ; then              if test "x$RETVAL" != x0 ; then
357                  if ! test -f $BUILD_DIR/$i ; then                  if ! test -f $BUILD_DIR/$i ; then
358                  #echo Linking $name to $i                      #echo Linking $name to $i
359                      (cd $BUILD_DIR; ln -sf ../$code_dir/$i $name)                      (cd $BUILD_DIR; ln -sf ../$code_dir/$i $name)
360                  fi                  fi
361              fi              fi
362          done          done
363      else      else
364      # NO: We undo any _mpi symbolically linked files          # NO: We undo any _mpi symbolically linked files
365          for ii in $MPI_FILES ; do          for ii in $MPI_FILES ; do
366              i=`echo $ii | sed 's:^\./::'`              i=`echo $ii | sed 's:^\./::'`
367              name=`echo $i | sed 's:_mpi::' `              name=`echo $i | sed 's:_mpi::' `
368              if test -L $BUILD_DIR/$name ; then              if test -L $BUILD_DIR/$name ; then
369                  linktarg=`(cd $BUILD_DIR; readlink $name)`                  cmp $BUILD_DIR/$name "../$code_dir/$name"_mpi > /dev/null 2>&1
370                  if test $linktarg = "../$code_dir/$name"_mpi ; then                  RETVAL=$?
371                  #echo Un-linking $name from $linktarg                  if test "x$RETVAL" = x0 ; then
372                        #echo Un-linking $name from $linktarg
373                      rm -f $BUILD_DIR/$name                      rm -f $BUILD_DIR/$name
374                  fi                  fi
375              fi              fi
# Line 414  runmodel() Line 422  runmodel()
422          printf 'runmodel ... ' 1>&2          printf 'runmodel ... ' 1>&2
423          # make output.txt          # make output.txt
424          echo          echo
425          echo "COMMAND='$COMMAND'"          rm -f run.log
426          echo "pwd='"`pwd`"'"          # echo "COMMAND='$COMMAND'"
427          ( eval $COMMAND ) >> run.log 2>&1          # echo "pwd='"`pwd`"'"
428            ( eval $COMMAND ) > run.log 2>&1
429          RETVAL=$?          RETVAL=$?
430          if test "x$RETVAL" = x0 ; then          if test "x$RETVAL" = x0 ; then
431                tail run.log
432              echo successful 1>&2              echo successful 1>&2
433              if test "x$ADM" = x ; then              # === Reduce the size of the testing emails!
434                  cp output.txt $CDIR"/output.txt"              # if test "x$ADM" = x ; then
435              else              #   cp output.txt $CDIR"/output.txt"
436                  cp output.txt_adm $CDIR"/output.txt_adm"              # else
437              fi              #   cp output.txt_adm $CDIR"/output.txt_adm"
438                # fi
439                if test -s STDERR.0000 ; then cp STDERR.0000 $CDIR"/STDERR.0000" ; fi
440              return 0              return 0
441          else          else
442              tail run.log              tail run.log
443              echo failed 1>&2              echo failed 1>&2
444              cp run.log $CDIR"/run.log"              cp run.log $CDIR"/run.log"
445                if test -s STDERR.0000 ; then cp STDERR.0000 $CDIR"/STDERR.0000" ; fi
446              return 1              return 1
447          fi          fi
448      )      )
# Line 545  clean=0 Line 558  clean=0
558  expts=''  expts=''
559  # ieee=1  # ieee=1
560    
561  IEEE=  IEEE=true
562  if test "x$MITGCM_IEEE" != x ; then  if test "x$MITGCM_IEEE" != x ; then
563      IEEE=$MITGCM_IEEE      IEEE=$MITGCM_IEEE
564  fi  fi
# Line 566  HAVE_MPACK= Line 579  HAVE_MPACK=
579  MPACK="$MPACKDIR/mpack"  MPACK="$MPACKDIR/mpack"
580  COMMAND=  COMMAND=
581  MAKE=make  MAKE=make
582    JOBS=
583  MPI=f  MPI=f
584    DELDIR=
585    
586  ADM=  ADM=
587    
# Line 619  for ac_option ; do Line 634  for ac_option ; do
634          -make=* | --make=*)          -make=* | --make=*)
635              MAKE=$ac_optarg ;;              MAKE=$ac_optarg ;;
636    
637            -j) ac_prev=JOBS ;;
638            -j=*) JOBS=$ac_optarg ;;
639    
640          -clean | --clean)          -clean | --clean)
641              CLEANUP=t ;;              CLEANUP=t ;;
642    
# Line 642  for ac_option ; do Line 660  for ac_option ; do
660          -debug) debug=1 ;;          -debug) debug=1 ;;
661          -quiet) verbose=0 ;;          -quiet) verbose=0 ;;
662    
663            -deldir | -dd) DELDIR=t ;;
664    
665          -*)          -*)
666              echo "Error: unrecognized option: "$ac_option              echo "Error: unrecognized option: "$ac_option
667              usage              usage
# Line 675  if test "x$ADM" = xt -a "x$COMMAND" = x Line 695  if test "x$ADM" = xt -a "x$COMMAND" = x
695  fi  fi
696    
697  if test "x$COMMAND" = x ; then  if test "x$COMMAND" = x ; then
698      COMMAND="make output.txt"      COMMAND="$MAKE output.txt"
699  fi  fi
700    
701  echo "OK"  echo "OK"
# Line 864  for dir in $TESTDIRS ; do Line 884  for dir in $TESTDIRS ; do
884          OLD_COMMAND=$COMMAND          OLD_COMMAND=$COMMAND
885          COMMAND="./mitgcmuv > output.txt"          COMMAND="./mitgcmuv > output.txt"
886          for ex in $extra_runs ; do          for ex in $extra_runs ; do
887              test -e "$dir/tr_run" && rm -rf "$dir/tr_run"              test -e "$dir/tr_run.$ex" && rm -rf "$dir/tr_run.$ex"
888              mkdir "$dir/tr_run"              mkdir "$dir/tr_run.$ex"
889              links=`( cd "$dir/input" > /dev/null 2>&1 ; ls -1 | grep -v CVS )`              links=`( cd "$dir/input" > /dev/null 2>&1 ; ls -1 | grep -v CVS )`
890              (              (
891                  cd "$dir/tr_run"                  cd "$dir/tr_run.$ex"
892                  for i in $links; do                  for i in $links; do
893                      ln -s ../input/$i $i                      ln -s ../input/$i $i
894                  done                  done
895              )              )
896              links=`( cd "$dir/input.$ex" > /dev/null 2>&1 ; ls -1 | grep -v CVS )`              links=`( cd "$dir/input.$ex" > /dev/null 2>&1 ; ls -1 | grep -v CVS )`
897              (              (
898                  cd "$dir/tr_run"                  cd "$dir/tr_run.$ex"
899                  for i in $links; do                  for i in $links; do
900                      test -e $i  &&  rm -f $i                      test -e $i  &&  rm -f $i
901                      ln -s ../input.$ex/$i $i                      ln -s ../input.$ex/$i $i
902                  done                  done
903                  ln -s ../$builddir/mitgcmuv mitgcmuv                  ln -s ../$builddir/mitgcmuv mitgcmuv
904              )              )
905              runmodel $dir/tr_run && run=Y \              runmodel $dir/tr_run.$ex && run=Y \
906                  && results=`testoutput $dir tr_run "."$ex`                  && results=`testoutput $dir tr_run.$ex "."$ex`
907              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}`
908              fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results`              fres=`formatresults $dir ${genmake:-N} ${makedepend:-N} ${make:-N} ${run:-N} $results`
909              fres="$fres.$ex"              fres="$fres.$ex"
# Line 925  else Line 945  else
945      if test "x$HAVE_MPACK" = xt ; then      if test "x$HAVE_MPACK" = xt ; then
946          tar -cf $DRESULTS".tar" $DRESULTS > /dev/null 2>&1 \          tar -cf $DRESULTS".tar" $DRESULTS > /dev/null 2>&1 \
947              && gzip $DRESULTS".tar" \              && gzip $DRESULTS".tar" \
948              && $MPACK -s MITgcm-test -m 1500000 $DRESULTS".tar.gz" $ADDRESSES              && $MPACK -s MITgcm-test -m 3555000 $DRESULTS".tar.gz" $ADDRESSES
949          RETVAL=$?          RETVAL=$?
950          if test "x$RETVAL" != x0 ; then          if test "x$RETVAL" != x0 ; then
951              echo              echo
# Line 955  if test "x$CLEANUP" != xt ; then Line 975  if test "x$CLEANUP" != xt ; then
975      cat $SUMMARY > tr_out.txt      cat $SUMMARY > tr_out.txt
976  fi  fi
977    
978    if test "x$DELDIR" = xt ; then
979        rm -rf $DRESULTS
980    fi
981    

Legend:
Removed from v.1.38  
changed lines
  Added in v.1.48

  ViewVC Help
Powered by ViewVC 1.1.22