📄 runtests.in
字号:
#! /bin/sh## Run some of the tests. If any arguments are provided, pass them to the# test programs.## -mvhome is needed for the ANL SP, and is ignored by othersargs=@MPIRUNARGS@device=@DEVICE@top_srcdir=@top_srcdir@srcdir=@srcdir@MPICH_VERSION=@MPICH_VERSION@STOPFILE=$HOME/.stopmpichtestsmpirun=${MPIRUN:-"@MPIRUN@"}MAKE="@MAKE@"## Load basic procedures. ${top_srcdir}/runbase## Set mpirun to the name/path of the mpirun programFindMPIRUN##test_mpi2=@HAS_MPI2@runtests=1quiet=0makeeach=0writesummaryfile=noMAKE="@MAKE@"for arg in "$@" ; do case $arg in -checkonly ) runtests=0 ;; -margs=*) margs=`echo $arg | sed 's/-margs=//'` args="$args $margs" ;; -summaryfile=*) writesummaryfile=yes summaryfile=`echo A$arg | sed 's/A-summaryfile=//'` ;; -small) makeeach=1 ;; -quiet) shift quiet=1 ;; -help|-u) echo "runtests [-checkonly] [-margs='...']" echo "run tests in this directory. If -checkonly set, just run" echo "the differences check (do NO rerun the test programs)." echo "If -margs is used, these options are passed to mpirun." echo "If -small is used, the examples are built, run, and deleted." exit 1 ;; *) if test -n "$arg" ; then echo "runtests: Unknown argument ($arg)" exit 1 fi ;; esacdone# If the programs are not available, run make.if [ ! -x attrt -a $makeeach = 0 -a $runtests = 1 ] ; then $MAKE defaultfitestfiles=""if [ $runtests = 1 ] ; then## Run Fortran tests ONLY if Fortran availableif [ @HAS_FORTRAN@ = 1 ] ; then RunTest attrtest 2 "*** Testing attributes from Fortran ***" if [ $test_mpi2 = 1 ] ; then RunTest commnamesf 1 "*** Testing Communicator Names from Fortran ***" fifiRunTest attrt 2 "*** Testing attributes ***"RunTest attrerr 1 "*** Testing attributes (2) ***"RunTest grouptest 4 "*** Testing Groups ***"RunTest groupcreate 4 "*** Testing Group creation ***"RunTest ictest 4 "*** Testing Intercommunicators ***"RunTest icdup 3 "*** Testing dup of an intercommunicator ***"## ictest2 relies on a inconsistency in the standard, to wit, that the# leader in both groups can be the same process. This seems to be# essential in a dynamic setting, since the only process both groups can# access may be the single parent process (other than using client/server# intercommunicator creating routines, with the parent providing the common# information).##testfiles="$testfiles ictest2.out"#/bin/rm -f ictest2.out#MakeExe ictest2#echo '*** Testing Intercommunicators (2) ***'#echo '*** Testing Intercommunicators (2) ***' >> ictest2.out#$mpirun $args -np 4 ictest2 $* >> ictest2.out 2>&1#echo '*** Testing Intercommunicators (2) ***' >> ictest2.out#CleanExe ictest2RunTest ictest3 4 "*** Testing Intercommunicators (3) ***"if [ $test_mpi2 = 1 ] ; then RunTest commnames 2 "*** Testing Communicator Names ***"fielse # Just run checks testfiles=`echo *.out`fiecho '*** Checking for differences from expected output ***'CheckAllOutput context.diffexit 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -