#!qprep
#
# NAME
#   test41.qprep: reasonable test of valid qprep directives with IMplicit preamble end
#
#
# USAGE
#   qprep [qprep options] test41.qprep
#
#
# DESCRIPTION
#   This file contains many valid qprep directives,
#   along with directive values valid for the corresponding directive key.
#   The file also contains some stuff after the preamble that qprep
#   should pass through without interpretation, including some things
#   that would otherwise be invalid and valid qprep directives.
#
#   The file is part of a suite of inputs to test qprep.
#
#   Qprep should process this file without any errors.
#
#   The output should go into a file named "test41.qprep.pst",
#   unless the command line contains an out_script directive
#   that provides an alternative output file name.
#
#
# AUTHOR
#   Written 2001-2002 by Michael J. Gourlay
#

####
#### Properties associated with parsing:
####

# Qprep control directives
#
# NOTE:
#   These are valid directives, but qprep evaluates the "in_script" and
#   "out_script" directives before qprep opens the input or output script
#   files, so changing their value here does not redirect the input or
#   output streams or rename the output file.
#
#PSTQ erase               =n
#PSTQ silent              =n
#PSTQ submit              =y
# #PSTQ operation_verbosity =0
# #PSTQ verbose_script      =Y
# #PSTQ explicit_preamble   =y

# Job environment directives
#PSTQ account             =myAccount
#PSTQ username            =myUsername
#PSTQ export_vars         =y
#PSTQ shell               =myShell

# Reporting directives
#PSTQ stderr              =stdoutFile
#PSTQ stdout              =stderrFile
#PSTQ keep                =stderr,stdout
#PSTQ mail                =a,b,e,r,t
#PSTQ mail_to             =myEmailAddress

# Job control directives
#PSTQ queue               =myQueue
#PSTQ parallel_env        =pe_chal_24hr
#PSTQ job_name            =myJobName
#PSTQ checkpoint          =s

# Limit directives
#PSTQ nodes                =2
#PSTQ cpus_per_node        =1
#PSTQ wall_time            =01:02
#PSTQ process_cpu_time     =03:04
#PSTQ total_cpu_time       =06:07
#PSTQ proc_file_size       =5000
#PSTQ total_file_size      =6000
#PSTQ tapemta              =11
#PSTQ tapemtb              =12
#PSTQ tapemtc              =13
#PSTQ tapemtd              =14
#PSTQ tapemte              =15
#PSTQ tapemtf              =16
#PSTQ tapemtg              =17
#PSTQ tapemth              =18
#PSTQ nice                 =20
#PSTQ process_memory       =8000
#PSTQ total_memory         =9000

echo "This tests explicit versus implicit end-of-preamble."

# Job dependence directives
#PSTQ sync_count           =55000
#PSTQ sync_with            =55001
#PSTQ after                =55002
#PSTQ after_ok             =55003
#PSTQ after_not_ok         =55004
#PSTQ after_any            =55005
#PSTQ depends_on           =55006
#PSTQ before               =55007
#PSTQ before_ok            =55008
#PSTQ before_not_ok        =55009
#PSTQ before_any           =55011

#PSTQ target_cmd_line_arg    =-option1 -opt2
#PSTQ target_script_directive=#TargetQueue -smile

# Qprep should write anything it wants via qprepFinishPreambleCallback,
# then trivially pass through everything after the END_OF_PREAMBLE line.
# 
#PSTQ END_OF_PREAMBLE
echo This is the first line after the preamble of "test11.qprep".

echo the quick red fox jumped over the lazy brown dog. `1234567890-=[]\;',./
echo THE QUICK RED FOX JUMPED OVER THE LAZY BROWN DOG. ~!@#$%^&*()_+{}|:"<>?

#PSTQ Qprep Even ignores this line, which would otherwise be a syntax error.
#PSTQ nonsense = Qprep ignores this too, another syntax error.
#PSTQ username = Qprep ignores this too, though it contains valid directive.

echo This is the second-to-last line in "test41.qprep".
echo Output after this line comes from qprepFinishScriptCallback.
