1header="""#!/usr/bin/env bash 2# This script was created by gmakegentest.py 3 4@COMMENTS@ 5 6@ENV@ 7 8# PATH for DLLs on windows 9PATH="$PATH":@PETSC_LIB_DIR@ 10executable='@EXECUTABLE@' 11testname='@TESTNAME@' 12label='@LABEL@' 13runfiles='@LOCALRUNFILES@' 14wPETSC_DIR='@WPETSC_DIR@' 15@PKG_NAME@_dir='@PKG_DIR@' 16@PKG_NAME@_arch='@PKG_ARCH@' 17# Must be consistent with gmakefile.test 18testlogtapfile=@TESTROOT@/test_${@PKG_NAME@_arch}_tap.log 19testlogerrfile=@TESTROOT@/test_${@PKG_NAME@_arch}_err.log 20config_dir='@CONFIG_DIR@' 21filter='@FILTER@' 22filter_output='@FILTER_OUTPUT@' 23petsc_bindir='@PETSC_BINDIR@' 24@DATAFILESPATH_LINE@ 25# -petsc_ci must be a command line argument because if it is from the environment it will be listed by PetscOptionsMonitor() 26args='-petsc_ci @ARGS@' 27diff_args='@DIFF_ARGS@' 28timeoutfactor=@TIMEOUTFACTOR@ 29export PETSC_OPTIONS="${PETSC_OPTIONS} -check_pointer_intensity 0 -error_output_stdout -malloc_dump @PETSC_TEST_OPTIONS@" 30 31mpiexec=${PETSCMPIEXEC:-"@MPIEXEC@"} 32diffexec=${PETSCDIFF:-"${petsc_bindir}/petscdiff"} 33mpiexec_tail='@MPIEXEC_TAIL@' 34 35. "${config_dir}/petsc_harness.sh" 36 37# The diff flags come from script arguments 38diff_exe="${diffexec} ${diff_flags} ${diff_args}" 39mpiexec="${mpiexec} ${mpiexec_flags}" 40""" 41 42footer='petsc_testend "@TESTROOT@" ' 43 44preclean='@RM@ @TEMPORARIES@' 45todoline='petsc_report_tapoutput "" "${label}" "TODO @TODOCOMMENT@"' 46skipline='petsc_report_tapoutput "" "${label}" "SKIP @SKIPCOMMENT@"' 47mpitest='petsc_testrun "${mpiexec} -n ${insize} ${mpiexec_tail} ${executable} ${args} @SUBARGS@" @REDIRECT_FILE@ ${testname}.err "${label}@LABEL_SUFFIX@" @ERROR@' 48difftest='petsc_testrun "${diff_exe} @OUTPUT_FILE@ @REDIRECT_FILE@" diff-${testname}.out diff-${testname}.out diff-${label}@LABEL_SUFFIX@ ""' 49commandtest='petsc_testrun "@COMMAND@" @REDIRECT_FILE@ ${testname}.err cmd-${label}@LABEL_SUFFIX@ @ERROR@' 50