/[MITgcm]/MITgcm_contrib/test_scripts/other/test_local
ViewVC logotype

Diff of /MITgcm_contrib/test_scripts/other/test_local

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

revision 1.13 by jmc, Wed May 31 13:51:39 2023 UTC revision 1.18 by jmc, Sat Feb 3 16:43:07 2024 UTC
# Line 43  ulimit -s unlimited Line 43  ulimit -s unlimited
43   #git_repo='altMITgcm'; #git_code='MITgcm66h'   #git_repo='altMITgcm'; #git_code='MITgcm66h'
44  #- other settings:  #- other settings:
45  tmpFil="/tmp/"`basename $0`".$$"  tmpFil="/tmp/"`basename $0`".$$"
46    logFile='check_update.log'
47  sendCmd='-a jm_c@mitgcm.org'  sendCmd='-a jm_c@mitgcm.org'
48  sendCmd='-send scp -a jm_c@mitgcm.org:testing/MITgcm-test'  sendCmd='-send scp -a jm_c@mitgcm.org:testing/MITgcm-test'
49    #- expect higher precision if test is run on reference platform+compiler:
50    MC=13
51    
 gcmDIR="MITgcm"  
 logFile='check_update.log'  
52  echo "-- run: \""`basename $0` $*"\" on:" `date` >> $logFile  echo "-- run: \""`basename $0` $*"\" on:" `date` >> $logFile
53  if test -e $gcmDIR/.git/config -a -f git_Hash ; then  gcmDIR="MITgcm"
54    mv git_Hash prevHash  if test -e $gcmDIR/.git/config ; then
55    ( cd $gcmDIR ; git pull > /dev/null )    if test ! -f git_Hash ; then
56    ( cd $gcmDIR ; git rev-parse HEAD > ../git_Hash )      echo " Missing file "git_Hash" ==> make one from clone '${gcmDIR}'" >> $logFile
57        ( cd $gcmDIR ; git rev-parse HEAD > ../git_Hash )
58      fi
59  else  else
60    echo " No current clone or missing file "git_Hash" ==> get a fresh clone" >> $logFile      echo " No current clone ==> get a fresh clone" >> $logFile
61    rm -f prevHash      #rm -f git_Hash prevHash
62    if test -d $gcmDIR ; then /bin/rm -rf $gcmDIR ; fi      if test -d $gcmDIR ; then /bin/rm -rf $gcmDIR ; fi
63    git clone https://github.com/$git_repo/${git_code}.git $gcmDIR      git clone https://github.com/$git_repo/${git_code}.git $gcmDIR
64    ( cd $gcmDIR ; git rev-parse HEAD > ../git_Hash )      ( cd $gcmDIR ; git rev-parse HEAD > ../git_Hash )
65  fi  fi
66    
67  #-------------------------------------------------------------------------------  #-------------------------------------------------------------------------------
68  #-- check particular set of tests:  #-- check particular set of tests:
69  if test $1 = tap ; then  if test $1 = tap ; then
70  #- Only run this pair of test if MITgcm code got updated:  #- Only run this pair of test if MITgcm code got updated:
71    if test -f prevHash ; then    if test -f git_Hash -a -f prevHash ; then
72     #ls -l prevHash  >> $logFile     #ls -l prevHash  >> $logFile
73      diff -q git_Hash prevHash > /dev/null 2>&1      diff -q git_Hash prevHash > /dev/null 2>&1
74      retv=$?      retv=$?
# Line 82  if test $1 = tap ; then Line 85  if test $1 = tap ; then
85    else    else
86      echo " No file 'prevHash' --> will run '$1' set of tests" >> $logFile      echo " No file 'prevHash' --> will run '$1' set of tests" >> $logFile
87    fi    fi
88    elif test $1 = gfort ; then
89      #- to force to skip "tap" test while "gfort" is running:
90      if test -f prevHash ; then
91        cp -p prevHash git_Hash
92      else
93        cp -p git_Hash prevHash
94      fi
95  fi  fi
96    
97  echo "run: \""`basename $0` $*"\" on:" `date`  echo "run: \""`basename $0` $*"\" on:" `date`
# Line 103  gfort=1 Line 113  gfort=1
113  for tt in $tst_list  for tt in $tst_list
114  do  do
115    echo $tt | grep '^tap' > /dev/null 2>&1 ; retv=$?    echo $tt | grep '^tap' > /dev/null 2>&1 ; retv=$?
116    if [ $retv -ne 0 ] ; then    if [ $retv -ne 0 ] ; then
117      echo $tt | grep '^g' > /dev/null 2>&1 ; retv=$?      echo $tt | grep '^g' > /dev/null 2>&1 ; retv=$?
118    fi    fi
119    if   [ $retv -eq 0 -a $gfort -ge 1 ] ; then gfort=2    if   [ $retv -eq 0 -a $gfort -ge 1 ] ; then gfort=2
# Line 132  do Line 142  do
142    echo "=========================================================================="    echo "=========================================================================="
143  # set -x  # set -x
144    rm -f tr_clean_$tt.log    rm -f tr_clean_$tt.log
145    echo $tt | grep '^.ad' > /dev/null 2>&1 ; fwd=$?    echo $tt | grep '^.ad' > /dev/null 2>&1 ; taf=$?
146    echo $tt | grep '^tap' > /dev/null 2>&1 ; tap=$?    echo $tt | grep '^tap' > /dev/null 2>&1 ; tap=$?
147    if test $tt = g7a -o $tap = 0 ; then fwd=0 ; clOpt='-adm' ; fi    if test $tt = g7a ; then taf=0 ; fi
148    echo " testing tt= $tt , fwd= $fwd"    echo " testing tt= $tt , taf= $taf , tap= $tap"
149   if test -e $gcmDIR/.git/config -a -d $gcmDIR/verification ; then   if test -e $gcmDIR/.git/config -a -d $gcmDIR/verification ; then
150   #- cleaning previous testreport run and updating the code:   #- cleaning previous testreport run and updating the code:
151    if [ $fwd -eq 0 ] ; then    if [ $taf -eq 0 -o $tap -eq 0 ] ; then
152     if test $tt = 'tapAD' ; then clOpt='-tap -adm' ; fi     if test $tt = 'tapTL' ; then clOpt='-tlm' ; else clOpt='-adm' ; fi
153     if test $tt = 'tapTL' ; then clOpt='-tap -tlm' ; fi     if [ $tap -eq 0 ] ; then clOpt="-tap $clOpt" ; fi
154     set -x     set -x
155    #- cleanup previous test:    #- cleanup previous test:
156     ( cd $gcmDIR/verification ; ./testreport $clOpt -clean > ../../tr_clean_$tt.log 2>&1 )     ( cd $gcmDIR/verification ; ./testreport $clOpt -clean > ../../tr_clean_$tt.log 2>&1 )
# Line 300  case $tt in Line 310  case $tt in
310  'tapAD')  'tapAD')
311    
312    ./testreport -tap -adm -of ../tools/build_options/linux_amd64_gfortran \    ./testreport -tap -adm -of ../tools/build_options/linux_amd64_gfortran \
313     $sendCmd >> ../../tr_run_$tt.log 2>&1     -match $MC $sendCmd >> ../../tr_run_$tt.log 2>&1
314    
315    sed -n "/ email /,/^======== End of testreport / p" ../../tr_run_$tt.log    sed -n "/ email /,/^======== End of testreport / p" ../../tr_run_$tt.log
316  ;;  ;;
# Line 308  case $tt in Line 318  case $tt in
318  'tapTL')  'tapTL')
319    
320    ./testreport -tap -tlm -of ../tools/build_options/linux_amd64_gfortran \    ./testreport -tap -tlm -of ../tools/build_options/linux_amd64_gfortran \
321     $sendCmd >> ../../tr_run_$tt.log 2>&1     -match $MC $sendCmd >> ../../tr_run_$tt.log 2>&1
322    
323    sed -n "/ email /,/^======== End of testreport / p" ../../tr_run_$tt.log    sed -n "/ email /,/^======== End of testreport / p" ../../tr_run_$tt.log
324  ;;  ;;
# Line 415  esac Line 425  esac
425   fi   fi
426    
427  done  done
428    
429    if test $1 = gfort ; then
430      day=`date +%d`
431      echo " day in the month='${day}'"
432      if test $day = 01 -a -f git_Hash ; then
433        ls -l git_Hash
434        echo -n ' git_Hash: '
435        cat git_Hash
436        echo "Remove file 'git_Hash' to force tomorrow 'tap' testing"
437        rm -f git_Hash
438      fi
439    fi

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22