#!qprep
#
# NAME
#   test20.qprep: test of qprep directives with repeats
#
#
# USAGE
#   qprep                          test20.qprep
#   qprep account=ThirdAccount     test20.qprep
#   qprep username=AnotherUserName test20.qprep
#   qprep nodes=77                 test20.qprep
#   qprep mail=a                   test20.qprep
#   qprep mail=a,b                 test20.qprep
#   qprep mail=a mail=b            test20.qprep
#
#
# DESCRIPTION
#   This file contains valid qprep directive, 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 produce warnings while processing this file.
#
#   The output should go into a file named "test20.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
#PSTQ erase               =n
#PSTQ submit              =y

# Job environment directives
#PSTQ account             =myAccount
#PSTQ account             =myAccountRepeatedLine
#PSTQ username            =myUsername
#PSTQ export_vars         =y
#PSTQ shell               =/home/me/bin/myShell

# Reporting directives
#PSTQ stderr              =stdoutFile
#PSTQ stdout              =stderrFile
#PSTQ keep                =neither
#PSTQ mail                =n
#PSTQ mail_to             =myEmailAddress

# Job control directives
#PSTQ queue               =myQueue
#PSTQ job_name            =myJobName
#PSTQ checkpoint          =n

# 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

# Job dependence directives
#PSTQ sync_count           =55000
#PSTQ sync_with            =55001
#PSTQ after                =55002,55502
#PSTQ after_ok             =55003,55503
#PSTQ after_not_ok         =55004,55504
#PSTQ after_any            =55005,55505
#PSTQ depends_on           =55006
#PSTQ before               =55007,55507
#PSTQ before_ok            =55008,55508
#PSTQ before_not_ok        =55009,55509
#PSTQ before_any           =55011,55511

#PSTQ target_cmd_line_arg    =-option
#PSTQ target_script_directive=#FakeQueue -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 "test20.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 last line in "test20.qprep".
echo Output after this line comes from qprepFinishScriptCallback.
