Megatest

Hex Artifact Content
Login

Artifact 458696201bbdb6f1a283e6737f14f24b537077e5:


0000: 0a 52 65 66 65 72 65 6e 63 65 0a 2d 2d 2d 2d 2d  .Reference.-----
0010: 2d 2d 2d 2d 0a 0a 4d 65 67 61 74 65 73 74 20 43  ----..Megatest C
0020: 6f 6e 66 69 67 20 46 69 6c 65 20 53 65 74 74 69  onfig File Setti
0030: 6e 67 73 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ngs.~~~~~~~~~~~~
0040: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
0050: 7e 0a 0a 44 69 73 6b 20 53 70 61 63 65 20 43 68  ~..Disk Space Ch
0060: 65 63 6b 73 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ecks.^^^^^^^^^^^
0070: 5e 5e 5e 5e 5e 5e 0a 0a 53 6f 6d 65 20 70 61 72  ^^^^^^..Some par
0080: 61 6d 65 74 65 72 73 20 79 6f 75 20 63 61 6e 20  ameters you can 
0090: 70 75 74 20 69 6e 20 74 68 65 20 5b 73 65 74 75  put in the [setu
00a0: 70 5d 20 73 65 63 74 69 6f 6e 20 6f 66 20 6d 65  p] section of me
00b0: 67 61 74 65 73 74 2e 63 6f 6e 66 69 67 3a 0a 0a  gatest.config:..
00c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
00d0: 2d 2d 2d 0a 23 20 6d 69 6e 69 6d 75 6d 20 73 70  ---.# minimum sp
00e0: 61 63 65 20 72 65 71 75 69 72 65 64 20 69 6e 20  ace required in 
00f0: 61 20 72 75 6e 20 64 69 73 6b 20 0a 6d 69 6e 73  a run disk .mins
0100: 70 61 63 65 20 31 30 30 30 30 30 30 30 0a 0a 23  pace 10000000..#
0110: 20 6d 69 6e 69 6d 75 6d 20 73 70 61 63 65 20 72   minimum space r
0120: 65 71 75 69 72 65 64 20 69 6e 20 64 62 64 69 72  equired in dbdir
0130: 3a 0a 64 62 64 69 72 2d 73 70 61 63 65 2d 72 65  :.dbdir-space-re
0140: 71 75 69 72 65 64 20 31 30 30 30 30 30 0a 0a 23  quired 100000..#
0150: 20 73 63 72 69 70 74 20 74 68 61 74 20 74 61 6b   script that tak
0160: 65 73 20 70 61 74 68 20 61 73 20 70 61 72 61 6d  es path as param
0170: 65 74 65 72 20 61 6e 64 20 72 65 74 75 72 6e 73  eter and returns
0180: 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73   number of bytes
0190: 20 61 76 61 69 6c 61 62 6c 65 3a 0a 66 72 65 65   available:.free
01a0: 2d 73 70 61 63 65 2d 73 63 72 69 70 74 20 63 68  -space-script ch
01b0: 65 63 6b 2d 73 70 61 63 65 2e 73 68 0a 2d 2d 2d  eck-space.sh.---
01c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
01d0: 0a 0a 54 72 69 6d 20 74 72 61 69 6c 69 6e 67 20  ..Trim trailing 
01e0: 73 70 61 63 65 73 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e  spaces.^^^^^^^^^
01f0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0a 0a 2d 2d 2d  ^^^^^^^^^^^..---
0200: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
0210: 5b 63 6f 6e 66 69 67 66 3a 73 65 74 74 69 6e 67  [configf:setting
0220: 73 20 74 72 69 6d 2d 74 72 61 69 6c 69 6e 67 2d  s trim-trailing-
0230: 73 70 61 63 65 73 20 79 65 73 5d 0a 2d 2d 2d 2d  spaces yes].----
0240: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
0250: 4a 6f 62 20 53 75 62 6d 69 73 73 69 6f 6e 20 43  Job Submission C
0260: 6f 6e 74 72 6f 6c 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e  ontrol.^^^^^^^^^
0270: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0a 0a 53  ^^^^^^^^^^^^^..S
0280: 75 62 6d 69 74 20 6a 6f 62 73 20 74 6f 20 48 6f  ubmit jobs to Ho
0290: 73 74 20 54 79 70 65 73 20 62 61 73 65 64 20 6f  st Types based o
02a0: 6e 20 54 65 73 74 20 4e 61 6d 65 0a 2b 2b 2b 2b  n Test Name.++++
02b0: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b  ++++++++++++++++
02c0: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b  ++++++++++++++++
02d0: 2b 2b 2b 2b 2b 2b 2b 2b 0a 0a 2e 49 6e 20 6d 65  ++++++++...In me
02e0: 67 61 74 65 73 74 2e 63 6f 6e 66 69 67 0a 2d 2d  gatest.config.--
02f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0300: 2d 2d 2d 2d 2d 2d 0a 5b 68 6f 73 74 2d 74 79 70  ------.[host-typ
0310: 65 73 5d 0a 67 65 6e 65 72 61 6c 20 20 20 6e 62  es].general   nb
0320: 66 61 6b 65 0a 72 65 6d 6f 74 65 20 20 20 20 62  fake.remote    b
0330: 73 75 62 0a 0a 5b 6c 61 75 6e 63 68 65 72 73 5d  sub..[launchers]
0340: 0a 72 75 6e 66 69 72 73 74 2f 73 75 6d 25 20 72  .runfirst/sum% r
0350: 65 6d 6f 74 65 0a 25 20 67 65 6e 65 72 61 6c 0a  emote.% general.
0360: 0a 5b 6a 6f 62 74 6f 6f 6c 73 5d 0a 6c 61 75 6e  .[jobtools].laun
0370: 63 68 65 72 20 62 73 75 62 0a 23 20 69 66 20 64  cher bsub.# if d
0380: 65 66 69 6e 65 64 20 61 6e 64 20 6e 6f 74 20 22  efined and not "
0390: 6e 6f 22 20 66 6c 65 78 69 2d 6c 61 75 6e 63 68  no" flexi-launch
03a0: 65 72 20 77 69 6c 6c 20 62 79 70 61 73 73 20 6c  er will bypass l
03b0: 61 75 6e 63 68 65 72 20 75 6e 6c 65 73 73 20 0a  auncher unless .
03c0: 23 20 74 68 65 72 65 20 69 73 20 6e 6f 20 68 6f  # there is no ho
03d0: 73 74 2d 74 79 70 65 20 6d 61 74 63 68 2e 0a 66  st-type match..f
03e0: 6c 65 78 69 2d 6c 61 75 6e 63 68 65 72 20 79 65  lexi-launcher ye
03f0: 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  s.--------------
0400: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 68 6f 73 74  ----------..host
0410: 2d 74 79 70 65 73 0a 2b 2b 2b 2b 2b 2b 2b 2b 2b  -types.+++++++++
0420: 2b 0a 0a 4c 69 73 74 20 6f 66 20 68 6f 73 74 20  +..List of host 
0430: 74 79 70 65 73 20 61 6e 64 20 74 68 65 20 63 6f  types and the co
0440: 6d 6d 61 6e 64 6c 69 6e 65 20 74 6f 20 72 75 6e  mmandline to run
0450: 20 61 20 6a 6f 62 20 6f 6e 20 74 68 61 74 20 68   a job on that h
0460: 6f 73 74 20 74 79 70 65 2e 0a 0a 2e 68 6f 73 74  ost type....host
0470: 2d 74 79 70 65 20 3d 3e 20 6c 61 75 6e 63 68 20  -type => launch 
0480: 63 6f 6d 6d 61 6e 64 0a 2d 2d 2d 2d 2d 2d 2d 2d  command.--------
0490: 2d 2d 2d 2d 0a 67 65 6e 65 72 61 6c 20 6e 62 66  ----.general nbf
04a0: 61 6b 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ake.------------
04b0: 0a 0a 6c 61 75 6e 63 68 65 72 73 0a 2b 2b 2b 2b  ..launchers.++++
04c0: 2b 2b 2b 2b 2b 0a 0a 2e 74 65 73 74 2f 69 74 65  +++++...test/ite
04d0: 6d 70 61 74 68 20 3d 3e 20 68 6f 73 74 2d 74 79  mpath => host-ty
04e0: 70 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  pe.------------.
04f0: 72 75 6e 66 69 72 73 74 2f 73 75 6d 25 20 72 65  runfirst/sum% re
0500: 6d 6f 74 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  mote.-----------
0510: 2d 0a 0a 4d 69 73 63 65 6c 6c 61 6e 65 6f 75 73  -..Miscellaneous
0520: 20 53 65 74 75 70 20 49 74 65 6d 73 0a 2b 2b 2b   Setup Items.+++
0530: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b  ++++++++++++++++
0540: 2b 2b 2b 2b 2b 2b 0a 0a 41 74 74 65 6d 70 74 20  ++++++..Attempt 
0550: 74 6f 20 72 65 72 75 6e 20 74 65 73 74 73 20 69  to rerun tests i
0560: 6e 20 22 53 54 55 43 4b 2f 44 45 41 44 22 2c 20  n "STUCK/DEAD", 
0570: 22 6e 2f 61 22 2c 20 22 5a 45 52 4f 5f 49 54 45  "n/a", "ZERO_ITE
0580: 4d 53 22 20 73 74 61 74 65 73 2e 0a 0a 2e 49 6e  MS" states....In
0590: 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67   megatest.config
05a0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
05b0: 2d 2d 2d 0a 5b 73 65 74 75 70 5d 0a 72 65 72 75  ---.[setup].reru
05c0: 6e 73 20 35 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ns 5.-----------
05d0: 2d 2d 2d 2d 2d 2d 2d 0a 0a 52 75 6e 20 74 69 6d  -------..Run tim
05e0: 65 20 6c 69 6d 69 74 0a 2b 2b 2b 2b 2b 2b 2b 2b  e limit.++++++++
05f0: 2b 2b 2b 2b 2b 2b 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  ++++++..--------
0600: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 5b 73 65 74 75 70  ---------.[setup
0610: 5d 0a 23 20 74 68 69 73 20 77 69 6c 6c 20 61 75  ].# this will au
0620: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6b 69 6c 6c  tomatically kill
0630: 20 74 68 65 20 74 65 73 74 20 69 66 20 69 74 20   the test if it 
0640: 72 75 6e 73 20 66 6f 72 20 6d 6f 72 65 20 74 68  runs for more th
0650: 61 6e 20 31 68 20 32 6d 20 61 6e 64 20 33 73 0a  an 1h 2m and 3s.
0660: 72 75 6e 74 69 6d 65 6c 69 6d 20 31 68 20 32 6d  runtimelim 1h 2m
0670: 20 33 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   3s.------------
0680: 2d 2d 2d 2d 2d 0a 0a 54 65 73 74 73 20 62 72 6f  -----..Tests bro
0690: 77 73 65 72 20 76 69 65 77 0a 7e 7e 7e 7e 7e 7e  wser view.~~~~~~
06a0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 54 68  ~~~~~~~~~~~~..Th
06b0: 65 20 74 65 73 74 73 20 62 72 6f 77 73 65 72 20  e tests browser 
06c0: 28 73 65 65 20 74 68 65 20 52 75 6e 20 43 6f 6e  (see the Run Con
06d0: 74 72 6f 6c 20 74 61 62 20 6f 6e 20 74 68 65 20  trol tab on the 
06e0: 64 61 73 68 62 6f 61 72 64 29 20 68 61 73 20 74  dashboard) has t
06f0: 77 6f 20 76 69 65 77 73 20 66 6f 72 20 64 69 73  wo views for dis
0700: 70 6c 61 79 69 6e 67 20 74 68 65 20 74 65 73 74  playing the test
0710: 73 2e 20 0a 0a 2e 20 44 6f 74 20 28 67 72 61 70  s. ... Dot (grap
0720: 68 76 69 7a 29 20 62 61 73 65 64 20 74 72 65 65  hviz) based tree
0730: 0a 2e 20 4e 6f 20 64 6f 74 2c 20 70 6c 61 69 6e  .. No dot, plain
0740: 20 6c 69 73 74 69 6e 67 0a 0a 54 68 65 20 64 65   listing..The de
0750: 66 61 75 6c 74 20 69 73 20 74 68 65 20 67 72 61  fault is the gra
0760: 70 68 76 69 7a 20 62 61 73 65 64 20 74 72 65 65  phviz based tree
0770: 20 62 75 74 20 69 66 20 79 6f 75 72 20 74 65 73   but if your tes
0780: 74 73 20 64 6f 6e 27 74 20 76 69 65 77 0a 77 65  ts don't view.we
0790: 6c 6c 20 69 6e 20 74 68 61 74 20 6d 6f 64 65 20  ll in that mode 
07a0: 74 68 65 6e 20 75 73 65 20 22 6e 6f 64 6f 74 22  then use "nodot"
07b0: 20 74 6f 20 74 75 72 6e 20 69 74 20 6f 66 66 2e   to turn it off.
07c0: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
07d0: 2d 2d 2d 0a 5b 73 65 74 75 70 5d 0a 6e 6f 64 6f  ---.[setup].nodo
07e0: 74 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  t.--------------
07f0: 2d 2d 2d 0a 0a 44 61 74 61 62 61 73 65 20 73 65  ---..Database se
0800: 74 74 69 6e 67 73 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e  ttings.~~~~~~~~~
0810: 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 2e 44 61 74 61 62  ~~~~~~~~...Datab
0820: 61 73 65 20 63 6f 6e 66 69 67 20 73 65 74 74 69  ase config setti
0830: 6e 67 73 20 69 6e 20 5b 73 65 74 75 70 5d 20 73  ngs in [setup] s
0840: 65 63 74 69 6f 6e 20 6f 66 20 6d 65 67 61 74 65  ection of megate
0850: 73 74 2e 63 6f 6e 66 69 67 0a 5b 77 69 64 74 68  st.config.[width
0860: 3d 22 37 30 25 22 2c 63 6f 6c 73 3d 22 5e 2c 32  ="70%",cols="^,2
0870: 6d 2c 32 6d 2c 32 6d 22 2c 66 72 61 6d 65 3d 22  m,2m,2m",frame="
0880: 74 6f 70 62 6f 74 22 2c 6f 70 74 69 6f 6e 73 3d  topbot",options=
0890: 22 68 65 61 64 65 72 22 5d 0a 7c 3d 3d 3d 3d 3d  "header"].|=====
08a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
08b0: 3d 0a 7c 56 61 72 20 20 20 20 20 20 20 20 20 20  =.|Var          
08c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 50               | P
08d0: 75 72 70 6f 73 65 20 20 20 20 20 20 20 20 20 20  urpose          
08e0: 20 20 7c 20 56 61 6c 69 64 20 76 61 6c 75 65 73    | Valid values
08f0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 43 6f              | Co
0900: 6d 6d 65 6e 74 73 0a 7c 64 65 6c 61 79 2d 6f 6e  mments.|delay-on
0910: 2d 62 75 73 79 20 20 20 20 20 20 20 20 20 20 20  -busy           
0920: 20 20 7c 20 50 72 65 76 65 6e 74 20 63 6f 6e 63    | Prevent conc
0930: 75 72 72 65 6e 74 20 61 63 63 65 73 73 20 69 73  urrent access is
0940: 73 75 65 73 20 7c 20 79 65 73 5c 7c 6e 6f 20 6f  sues | yes\|no o
0950: 72 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 7c 20  r not defined | 
0960: 44 65 66 61 75 6c 74 3d 6e 6f 2c 20 6d 61 79 20  Default=no, may 
0970: 68 65 6c 70 20 6f 6e 20 73 6f 6d 65 20 6e 65 74  help on some net
0980: 77 6f 72 6b 20 66 69 6c 65 20 73 79 73 74 65 6d  work file system
0990: 73 2c 20 6d 61 79 20 73 6c 6f 77 20 74 68 69 6e  s, may slow thin
09a0: 67 73 20 64 6f 77 6e 20 61 6c 73 6f 2e 0a 7c 64  gs down also..|d
09b0: 61 65 6d 6f 6e 69 7a 65 20 20 20 20 20 20 20 20  aemonize        
09c0: 20 20 20 20 20 20 20 20 20 7c 20 44 61 65 6d 6f           | Daemo
09d0: 6e 69 7a 65 20 74 68 65 20 73 65 72 76 65 72 20  nize the server 
09e0: 6f 6e 20 73 74 61 72 74 20 7c 20 79 65 73 5c 7c  on start | yes\|
09f0: 6e 6f 20 6f 72 20 6e 6f 74 20 64 65 66 69 6e 65  no or not define
0a00: 64 20 7c 20 44 65 66 61 75 6c 74 3d 6e 6f 0a 7c  d | Default=no.|
0a10: 66 61 73 74 73 74 61 72 74 09 09 20 20 20 7c 20  faststart..   | 
0a20: 41 6c 6c 20 64 69 72 65 63 74 20 66 69 6c 65 20  All direct file 
0a30: 61 63 63 65 73 73 20 74 6f 20 73 71 6c 69 74 65  access to sqlite
0a40: 20 64 62 20 66 69 6c 65 73 20 7c 20 79 65 73 5c   db files | yes\
0a50: 7c 6e 6f 20 6f 72 20 6e 6f 74 20 64 65 66 69 6e  |no or not defin
0a60: 65 64 20 7c 20 44 65 66 61 75 6c 74 3d 79 65 73  ed | Default=yes
0a70: 2c 20 73 75 67 67 65 73 74 20 6e 6f 20 66 6f 72  , suggest no for
0a80: 20 63 65 6e 74 72 61 6c 20 61 75 74 6f 6d 61 74   central automat
0a90: 65 64 20 73 79 73 74 65 6d 73 20 61 6e 64 20 79  ed systems and y
0aa0: 65 73 20 66 6f 72 20 69 6e 74 65 72 61 63 74 69  es for interacti
0ab0: 76 65 20 75 73 65 0a 7c 68 6f 6d 65 68 6f 73 74  ve use.|homehost
0ac0: 20 09 09 20 20 20 7c 20 53 74 61 72 74 20 73 65   ..   | Start se
0ad0: 72 76 65 72 73 20 6f 6e 20 74 68 69 73 20 68 6f  rvers on this ho
0ae0: 73 74 20 7c 20 3c 68 6f 73 74 6e 61 6d 65 3e 20  st | <hostname> 
0af0: 7c 20 44 65 66 61 75 6c 74 73 20 74 6f 20 6c 6f  | Defaults to lo
0b00: 63 61 6c 20 68 6f 73 74 0a 7c 68 6f 73 74 6e 61  cal host.|hostna
0b10: 6d 65 09 09 20 20 20 7c 20 48 6f 73 74 6e 61 6d  me..   | Hostnam
0b20: 65 20 74 6f 20 62 69 6e 64 20 74 6f 20 7c 20 3c  e to bind to | <
0b30: 68 6f 73 74 6e 61 6d 65 3e 5c 7c 2d 09 20 20 7c  hostname>\|-.  |
0b40: 20 4f 6e 20 6d 75 6c 74 69 2d 68 6f 6d 65 64 20   On multi-homed 
0b50: 68 6f 73 74 73 20 61 6c 6c 6f 77 73 20 62 69 6e  hosts allows bin
0b60: 64 69 6e 67 20 74 6f 20 73 70 65 63 69 66 69 63  ding to specific
0b70: 20 68 6f 73 74 6e 61 6d 65 0a 7c 6c 6f 77 70 6f   hostname.|lowpo
0b80: 72 74 09 09 20 20 20 7c 20 53 74 61 72 74 20 73  rt..   | Start s
0b90: 65 61 72 63 68 69 6e 67 20 66 6f 72 20 61 20 70  earching for a p
0ba0: 6f 72 74 20 61 74 20 74 68 69 73 20 70 6f 72 74  ort at this port
0bb0: 6e 75 6d 7c 20 33 32 37 36 38 20 7c 20 0a 7c 72  num| 32768 | .|r
0bc0: 65 71 75 69 72 65 64 09 09 20 20 20 7c 20 53 65  equired..   | Se
0bd0: 72 76 65 72 20 72 65 71 75 69 72 65 64 20 20 20  rver required   
0be0: 20 7c 20 79 65 73 5c 7c 6e 6f 20 6f 72 20 6e 6f   | yes\|no or no
0bf0: 74 20 64 65 66 69 6e 65 64 20 20 7c 20 44 65 66  t defined  | Def
0c00: 61 75 6c 74 3d 6e 6f 2c 20 66 6f 72 63 65 20 73  ault=no, force s
0c10: 74 61 72 74 20 6f 66 20 73 65 72 76 65 72 20 61  tart of server a
0c20: 6c 77 61 79 73 0a 7c 73 65 72 76 65 72 2d 71 75  lways.|server-qu
0c30: 65 72 79 2d 74 68 72 65 73 68 6f 6c 64 09 20 20  ery-threshold.  
0c40: 20 7c 20 53 74 61 72 74 20 73 65 72 76 65 72 20   | Start server 
0c50: 77 68 65 6e 20 71 75 65 72 69 65 73 20 74 61 6b  when queries tak
0c60: 65 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 74 68  e longer than th
0c70: 69 73 20 7c 20 6e 75 6d 62 65 72 20 69 6e 20 6d  is | number in m
0c80: 69 6c 6c 69 73 65 63 6f 6e 64 73 20 7c 20 44 65  illiseconds | De
0c90: 66 61 75 6c 74 3d 33 30 30 0a 7c 74 69 6d 65 6f  fault=300.|timeo
0ca0: 75 74 09 09 20 20 20 7c 20 68 74 74 70 20 61 70  ut..   | http ap
0cb0: 69 20 74 69 6d 65 6f 75 74 20 09 7c 20 6e 75 6d  i timeout .| num
0cc0: 62 65 72 20 69 6e 20 68 6f 75 72 73 09 20 20 7c  ber in hours.  |
0cd0: 20 44 65 66 61 75 6c 74 20 69 73 20 31 20 6d 69   Default is 1 mi
0ce0: 6e 75 74 65 2c 20 64 6f 20 6e 6f 74 20 63 68 61  nute, do not cha
0cf0: 6e 67 65 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  nge.|===========
0d00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65  ===========..The
0d10: 20 74 65 73 74 63 6f 6e 66 69 67 20 46 69 6c 65   testconfig File
0d20: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
0d30: 2d 2d 2d 2d 0a 0a 53 65 74 75 70 20 73 65 63 74  ----..Setup sect
0d40: 69 6f 6e 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ion.~~~~~~~~~~~~
0d50: 7e 0a 0a 48 65 61 64 65 72 0a 5e 5e 5e 5e 5e 5e  ~..Header.^^^^^^
0d60: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
0d70: 2d 2d 2d 2d 2d 0a 5b 73 65 74 75 70 5d 0a 2d 2d  -----.[setup].--
0d80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0d90: 2d 0a 0a 54 68 65 20 72 75 6e 73 63 72 69 70 74  -..The runscript
0da0: 20 6d 65 74 68 6f 64 20 69 73 20 61 20 62 72 75   method is a bru
0db0: 74 65 20 66 6f 72 63 65 20 77 61 79 20 74 6f 20  te force way to 
0dc0: 72 75 6e 20 73 63 72 69 70 74 73 20 77 68 65 72  run scripts wher
0dd0: 65 20 74 68 65 0a 75 73 65 72 20 69 73 20 72 65  e the.user is re
0de0: 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 73 65  sponsible for se
0df0: 74 74 69 6e 67 20 53 54 41 54 45 20 61 6e 64 20  tting STATE and 
0e00: 53 54 41 54 55 53 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  STATUS..--------
0e10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 72 75 6e 73  -----------.runs
0e20: 63 72 69 70 74 20 6d 61 69 6e 2e 63 73 68 0a 2d  cript main.csh.-
0e30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0e40: 2d 2d 0a 0a 52 65 71 75 69 72 65 6d 65 6e 74 73  --..Requirements
0e50: 20 73 65 63 74 69 6f 6e 0a 7e 7e 7e 7e 7e 7e 7e   section.~~~~~~~
0e60: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 2e  ~~~~~~~~~~~~~...
0e70: 48 65 61 64 65 72 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  Header.---------
0e80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 5b 72 65 71 75  ----------.[requ
0e90: 69 72 65 6d 65 6e 74 73 5d 0a 2d 2d 2d 2d 2d 2d  irements].------
0ea0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 57  -------------..W
0eb0: 61 69 74 20 6f 6e 20 4f 74 68 65 72 20 54 65 73  ait on Other Tes
0ec0: 74 73 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ts.^^^^^^^^^^^^^
0ed0: 5e 5e 5e 5e 5e 5e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  ^^^^^^..--------
0ee0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20 41 20  -----------.# A 
0ef0: 6e 6f 72 6d 61 6c 20 77 61 69 74 6f 6e 20 77 61  normal waiton wa
0f00: 69 74 73 20 66 6f 72 20 74 68 65 20 70 72 69 6f  its for the prio
0f10: 72 20 74 65 73 74 73 20 74 6f 20 62 65 20 43 4f  r tests to be CO
0f20: 4d 50 4c 45 54 45 44 20 0a 23 20 61 6e 64 20 50  MPLETED .# and P
0f30: 41 53 53 2c 20 43 48 45 43 4b 20 6f 72 20 57 41  ASS, CHECK or WA
0f40: 49 56 45 44 0a 77 61 69 74 6f 6e 20 74 65 73 74  IVED.waiton test
0f50: 31 20 74 65 73 74 32 0a 2d 2d 2d 2d 2d 2d 2d 2d  1 test2.--------
0f60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4d 6f 64  -----------..Mod
0f70: 65 0a 5e 5e 5e 5e 0a 0a 54 68 65 20 64 65 66 61  e.^^^^..The defa
0f80: 75 6c 74 20 28 69 2e 65 2e 20 69 66 20 6d 6f 64  ult (i.e. if mod
0f90: 65 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69  e is not specifi
0fa0: 65 64 29 20 69 73 20 6e 6f 72 6d 61 6c 2e 20 41  ed) is normal. A
0fb0: 6c 6c 20 70 72 65 2d 64 65 70 65 6e 64 65 6e 74  ll pre-dependent
0fc0: 20 74 65 73 74 73 0a 6d 75 73 74 20 62 65 20 43   tests.must be C
0fd0: 4f 4d 50 4c 45 54 45 44 20 61 6e 64 20 50 41 53  OMPLETED and PAS
0fe0: 53 2c 20 43 48 45 43 4b 20 6f 72 20 57 41 49 56  S, CHECK or WAIV
0ff0: 45 44 20 62 65 66 6f 72 65 20 74 68 65 20 74 65  ED before the te
1000: 73 74 20 77 69 6c 6c 20 73 74 61 72 74 0a 0a 2d  st will start..-
1010: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1020: 2d 2d 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 73  --.[requirements
1030: 5d 0a 6d 6f 64 65 20 20 20 6e 6f 72 6d 61 6c 0a  ].mode   normal.
1040: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1050: 2d 2d 2d 0a 0a 54 68 65 20 74 6f 70 6c 65 76 65  ---..The topleve
1060: 6c 20 6d 6f 64 65 20 72 65 71 75 69 72 65 73 20  l mode requires 
1070: 6f 6e 6c 79 20 74 68 61 74 20 74 68 65 20 70 72  only that the pr
1080: 69 6f 72 20 74 65 73 74 73 20 61 72 65 20 43 4f  ior tests are CO
1090: 4d 50 4c 45 54 45 44 2e 0a 0a 2d 2d 2d 2d 2d 2d  MPLETED...------
10a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 5b 72  -------------.[r
10b0: 65 71 75 69 72 65 6d 65 6e 74 73 5d 0a 6d 6f 64  equirements].mod
10c0: 65 20 74 6f 70 6c 65 76 65 6c 0a 2d 2d 2d 2d 2d  e toplevel.-----
10d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
10e0: 41 20 69 74 65 6d 20 62 61 73 65 64 20 77 61 69  A item based wai
10f0: 74 6f 6e 20 77 69 6c 6c 20 73 74 61 72 74 20 69  ton will start i
1100: 74 65 6d 73 20 69 6e 20 61 20 74 65 73 74 20 77  tems in a test w
1110: 68 65 6e 20 74 68 65 20 73 61 6d 65 2d 6e 61 6d  hen the same-nam
1120: 65 64 0a 69 74 65 6d 20 69 73 20 43 4f 4d 50 4c  ed.item is COMPL
1130: 45 54 45 44 20 61 6e 64 20 50 41 53 53 2c 20 43  ETED and PASS, C
1140: 48 45 43 4b 20 6f 72 20 57 41 49 56 45 44 20 69  HECK or WAIVED i
1150: 6e 20 74 68 65 20 70 72 69 6f 72 20 74 65 73 74  n the prior test
1160: 2e 20 54 68 69 73 0a 77 61 73 20 68 69 73 74 6f  . This.was histo
1170: 72 69 63 61 6c 6c 79 20 63 61 6c 6c 65 64 20 22  rically called "
1180: 69 74 65 6d 77 61 69 74 22 20 6d 6f 64 65 2e 20  itemwait" mode. 
1190: 54 68 65 20 74 65 72 6d 73 20 22 69 74 65 6d 77  The terms "itemw
11a0: 61 69 74 22 20 61 6e 64 0a 22 69 74 65 6d 6d 61  ait" and."itemma
11b0: 74 63 68 22 20 61 72 65 20 73 79 6e 6f 6e 79 6d  tch" are synonym
11c0: 73 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  s...------------
11d0: 2d 2d 2d 2d 2d 2d 2d 0a 5b 72 65 71 75 69 72 65  -------.[require
11e0: 6d 65 6e 74 73 5d 0a 6d 6f 64 65 20 69 74 65 6d  ments].mode item
11f0: 6d 61 74 63 68 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  match.----------
1200: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f 76 65 72 72  ---------..Overr
1210: 69 64 69 6e 67 20 45 6e 76 69 72 6f 6d 65 6e 74  iding Enviroment
1220: 20 56 61 72 69 61 62 6c 65 73 0a 7e 7e 7e 7e 7e   Variables.~~~~~
1230: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
1240: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 4f 76 65 72  ~~~~~~~~~~..Over
1250: 72 69 64 65 20 76 61 72 69 61 62 6c 65 73 20 62  ride variables b
1260: 65 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 74  efore starting t
1270: 68 65 20 74 65 73 74 2e 20 43 61 6e 20 69 6e 63  he test. Can inc
1280: 6c 75 64 65 20 66 69 6c 65 73 20 28 70 65 72 68  lude files (perh
1290: 61 70 73 20 67 65 6e 65 72 61 74 65 64 20 62 79  aps generated by
12a0: 20 6d 65 67 61 74 65 73 74 20 2d 65 6e 76 64 65   megatest -envde
12b0: 6c 74 61 20 6f 72 20 73 69 6d 69 6c 61 72 29 2e  lta or similar).
12c0: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
12d0: 2d 2d 2d 2d 2d 2d 0a 5b 70 72 65 2d 6c 61 75 6e  ------.[pre-laun
12e0: 63 68 2d 65 6e 76 2d 76 61 72 73 5d 0a 56 41 52  ch-env-vars].VAR
12f0: 31 20 76 61 6c 75 65 31 0a 0a 23 20 47 65 74 20  1 value1..# Get 
1300: 73 6f 6d 65 20 67 65 6e 65 72 61 74 65 64 20 73  some generated s
1310: 65 74 74 69 6e 67 73 0a 5b 69 6e 63 6c 75 64 65  ettings.[include
1320: 20 2e 2e 2f 67 65 6e 65 72 61 74 65 64 2d 76 61   ../generated-va
1330: 72 73 2e 63 6f 6e 66 69 67 5d 0a 0a 23 20 55 73  rs.config]..# Us
1340: 65 20 74 68 69 73 20 74 72 69 63 6b 20 74 6f 20  e this trick to 
1350: 75 6e 73 65 74 20 76 61 72 69 61 62 6c 65 73 0a  unset variables.
1360: 23 7b 73 63 68 65 6d 65 20 28 75 6e 73 65 74 65  #{scheme (unsete
1370: 6e 76 20 22 46 4f 4f 42 41 52 22 29 7d 0a 2d 2d  nv "FOOBAR")}.--
1380: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1390: 2d 2d 0a 0a 49 74 65 6d 6d 61 70 20 48 61 6e 64  --..Itemmap Hand
13a0: 6c 69 6e 67 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ling.~~~~~~~~~~~
13b0: 7e 7e 7e 7e 7e 0a 0a 46 6f 72 20 63 61 73 65 73  ~~~~~..For cases
13c0: 20 77 65 72 65 20 74 68 65 20 64 65 70 65 6e 64   were the depend
13d0: 65 6e 74 20 74 65 73 74 20 68 61 73 20 61 20 73  ent test has a s
13e0: 69 6d 69 6c 61 72 20 62 75 74 20 6e 6f 74 20 69  imilar but not i
13f0: 64 65 6e 74 69 63 61 6c 0a 69 74 65 6d 70 61 74  dentical.itempat
1400: 68 20 74 6f 20 74 68 65 20 64 6f 77 6e 73 74 72  h to the downstr
1410: 65 61 6d 20 74 65 73 74 20 61 6e 20 69 74 65 6d  eam test an item
1420: 6d 61 70 20 63 61 6e 20 61 6c 6c 6f 77 20 66 6f  map can allow fo
1430: 72 20 69 74 65 6d 6d 61 74 63 68 0a 6d 6f 64 65  r itemmatch.mode
1440: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
1450: 2d 2d 2d 2d 2d 0a 5b 72 65 71 75 69 72 65 6d 65  -----.[requireme
1460: 6e 74 73 5d 0a 6d 6f 64 65 20 69 74 65 6d 6d 61  nts].mode itemma
1470: 74 63 68 0a 69 74 65 6d 6d 61 70 20 2e 2a 78 2f  tch.itemmap .*x/
1480: 20 79 2f 0a 0a 23 20 23 23 20 70 61 74 74 65 72   y/..# ## patter
1490: 6e 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 6e 6f  n replacement no
14a0: 74 65 73 0a 23 0a 23 20 23 23 20 45 78 61 6d 70  tes.#.# ## Examp
14b0: 6c 65 0a 23 20 23 23 20 52 65 6d 6f 76 65 20 65  le.# ## Remove e
14c0: 76 65 72 79 74 68 69 6e 67 20 75 70 20 74 6f 20  verything up to 
14d0: 74 68 65 20 6c 61 73 74 20 2f 0a 69 74 65 6d 6d  the last /.itemm
14e0: 61 70 20 2e 2a 2f 0a 23 0a 23 20 23 23 20 45 78  ap .*/.#.# ## Ex
14f0: 61 6d 70 6c 65 0a 23 20 23 23 20 52 65 70 6c 61  ample.# ## Repla
1500: 63 65 20 66 6f 6f 2f 20 77 69 74 68 20 62 61 72  ce foo/ with bar
1510: 2f 0a 69 74 65 6d 6d 61 70 20 66 6f 6f 2f 20 62  /.itemmap foo/ b
1520: 61 72 2f 0a 0a 23 20 6d 75 6c 74 69 2d 6c 69 6e  ar/..# multi-lin
1530: 65 3b 20 6d 61 74 63 68 65 73 20 61 72 65 20 61  e; matches are a
1540: 70 70 6c 69 65 64 20 69 6e 20 74 68 65 20 6c 69  pplied in the li
1550: 73 74 65 64 20 6f 72 64 65 72 0a 23 20 54 68 65  sted order.# The
1560: 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 6f 75 6c 64   following would
1570: 20 6d 61 70 3a 0a 23 20 20 20 61 31 32 33 62 33   map:.#   a123b3
1580: 32 31 20 74 6f 20 62 33 32 31 66 6f 6f 61 31 32  21 to b321fooa12
1590: 33 20 74 68 65 6e 20 74 6f 20 33 32 31 66 6f 6f  3 then to 321foo
15a0: 61 31 32 33 70 0a 23 0a 69 74 65 6d 6d 61 70 20  a123p.#.itemmap 
15b0: 28 61 5c 64 2b 29 28 62 5c 64 2b 29 20 5c 32 66  (a\d+)(b\d+) \2f
15c0: 6f 6f 5c 31 0a 20 20 62 28 2e 2a 29 20 5c 31 70  oo\1.  b(.*) \1p
15d0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
15e0: 2d 2d 2d 2d 0a 0a 43 6f 6d 70 6c 65 78 20 6d 61  ----..Complex ma
15f0: 70 70 69 6e 67 73 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e  ppings.^^^^^^^^^
1600: 5e 5e 5e 5e 5e 5e 5e 0a 0a 43 6f 6d 70 6c 65 78  ^^^^^^^..Complex
1610: 20 6d 61 70 70 69 6e 67 73 20 63 61 6e 20 62 65   mappings can be
1620: 20 68 61 6e 64 6c 65 64 20 77 69 74 68 20 74 68   handled with th
1630: 65 20 5b 69 74 65 6d 6d 61 70 5d 20 73 65 63 74  e [itemmap] sect
1640: 69 6f 6e 0a 0a 2f 2f 20 69 6d 61 67 65 3a 3a 69  ion..// image::i
1650: 74 65 6d 6d 61 70 2e 70 6e 67 5b 5d 0a 69 6d 61  temmap.png[].ima
1660: 67 65 3a 3a 63 6f 6d 70 6c 65 78 2d 69 74 65 6d  ge::complex-item
1670: 6d 61 70 2e 70 6e 67 5b 5d 0a 0a 45 78 61 6d 70  map.png[]..Examp
1680: 6c 65 3a 0a 0a 2e 20 52 65 71 75 65 73 74 20 74  le:... Request t
1690: 6f 20 72 75 6e 20 44 2f 31 2f 72 65 73 0a 2e 20  o run D/1/res.. 
16a0: 4d 65 67 61 74 65 73 74 20 75 73 65 73 20 72 75  Megatest uses ru
16b0: 6c 65 20 22 28 5c 64 2b 29 2f 72 65 73 22 20 2d  le "(\d+)/res" -
16c0: 3e 20 22 5c 31 2f 61 61 22 20 74 6f 20 63 72 65  > "\1/aa" to cre
16d0: 61 74 65 20 69 74 65 6d 20 43 2f 31 2f 61 61 20  ate item C/1/aa 
16e0: 66 72 6f 6d 20 44 2f 31 2f 72 65 73 0a 2e 20 46  from D/1/res.. F
16f0: 75 6c 6c 20 6c 69 73 74 20 74 6f 20 62 65 20 72  ull list to be r
1700: 75 6e 20 69 73 20 6e 6f 77 3a 20 44 2f 31 2f 72  un is now: D/1/r
1710: 65 73 2c 20 43 2f 31 2f 61 61 0a 2e 20 4d 65 67  es, C/1/aa.. Meg
1720: 61 74 65 73 74 20 75 73 65 73 20 72 75 6c 65 20  atest uses rule 
1730: 22 28 5c 64 2b 29 2f 61 61 22 20 2d 3e 20 22 61  "(\d+)/aa" -> "a
1740: 61 2f 5c 31 22 20 74 6f 20 63 72 65 61 74 65 20  a/\1" to create 
1750: 69 74 65 6d 20 41 2f 61 61 2f 31 0a 2e 20 46 75  item A/aa/1.. Fu
1760: 6c 6c 20 6c 69 73 74 20 74 6f 20 62 65 20 72 75  ll list to be ru
1770: 6e 20 69 73 20 6e 6f 77 3a 20 44 2f 31 2f 72 65  n is now: D/1/re
1780: 73 2c 20 43 2f 31 2f 61 61 2c 20 41 2f 61 61 2f  s, C/1/aa, A/aa/
1790: 31 0a 0a 2e 54 65 73 74 63 6f 6e 66 69 67 20 66  1...Testconfig f
17a0: 6f 72 20 54 65 73 74 20 43 0a 2d 2d 2d 2d 2d 2d  or Test C.------
17b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
17c0: 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 5d 0a  .[requirements].
17d0: 77 61 69 74 6f 6e 20 41 20 42 0a 0a 5b 69 74 65  waiton A B..[ite
17e0: 6d 6d 61 70 5d 0a 41 20 28 5c 64 2b 29 2f 61 61  mmap].A (\d+)/aa
17f0: 20 61 61 2f 5c 31 0a 42 20 28 5c 64 2b 29 2f 62   aa/\1.B (\d+)/b
1800: 62 20 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  b .-------------
1810: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2e 54 65 73 74  ---------...Test
1820: 63 6f 6e 66 69 67 20 66 6f 72 20 54 65 73 74 20  config for Test 
1830: 44 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  D.--------------
1840: 2d 2d 2d 2d 2d 2d 2d 2d 0a 5b 72 65 71 75 69 72  --------.[requir
1850: 65 6d 65 6e 74 73 5d 0a 77 61 69 74 6f 6e 20 43  ements].waiton C
1860: 0a 69 74 65 6d 6d 61 70 20 28 5c 64 2b 29 2f 72  .itemmap (\d+)/r
1870: 65 73 20 5c 31 2f 61 61 0a 2d 2d 2d 2d 2d 2d 2d  es \1/aa.-------
1880: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
1890: 0a 2e 54 65 73 74 63 6f 6e 66 69 67 20 66 6f 72  ..Testconfig for
18a0: 20 54 65 73 74 20 45 0a 2d 2d 2d 2d 2d 2d 2d 2d   Test E.--------
18b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 5b  --------------.[
18c0: 72 65 71 75 69 72 65 6d 65 6e 74 73 5d 0a 77 61  requirements].wa
18d0: 69 74 6f 6e 20 43 0a 69 74 65 6d 6d 61 70 20 28  iton C.itemmap (
18e0: 5c 64 2b 29 2f 72 65 73 20 5c 31 2f 62 62 0a 2d  \d+)/res \1/bb.-
18f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1900: 2d 2d 2d 2d 2d 0a 0a 44 79 6e 61 6d 69 63 20 46  -----..Dynamic F
1910: 6c 6f 77 20 44 65 70 65 6e 64 65 6e 63 79 20 54  low Dependency T
1920: 72 65 65 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ree.^^^^^^^^^^^^
1930: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ^^^^^^^^^^^^^^^^
1940: 0a 0a 2e 41 75 74 6f 67 65 6e 65 72 61 74 69 6f  ...Autogeneratio
1950: 6e 20 77 61 69 74 6f 6e 20 6c 69 73 74 20 66 6f  n waiton list fo
1960: 72 20 64 79 6e 61 6d 69 63 20 66 6c 6f 77 20 64  r dynamic flow d
1970: 65 70 65 6e 64 65 6e 63 79 20 74 72 65 65 73 0a  ependency trees.
1980: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1990: 2d 2d 2d 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74  ---.[requirement
19a0: 73 5d 0a 23 20 57 69 74 68 20 61 20 74 6f 70 6c  s].# With a topl
19b0: 65 76 65 6c 20 74 65 73 74 20 79 6f 75 20 6d 61  evel test you ma
19c0: 79 20 77 69 73 68 20 74 6f 20 67 65 6e 65 72 61  y wish to genera
19d0: 74 65 20 79 6f 75 72 20 6c 69 73 74 20 0a 23 20  te your list .# 
19e0: 6f 66 20 74 65 73 74 73 20 74 6f 20 72 75 6e 20  of tests to run 
19f0: 64 79 6e 61 6d 69 63 61 6c 6c 79 0a 23 0a 77 61  dynamically.#.wa
1a00: 69 74 6f 6e 20 23 7b 73 68 65 6c 6c 20 67 65 74  iton #{shell get
1a10: 2d 76 61 6c 69 64 2d 74 65 73 74 73 2d 74 6f 2d  -valid-tests-to-
1a20: 72 75 6e 2e 73 68 7d 0a 2d 2d 2d 2d 2d 2d 2d 2d  run.sh}.--------
1a30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 52 75 6e  -----------..Run
1a40: 20 74 69 6d 65 20 6c 69 6d 69 74 0a 5e 5e 5e 5e   time limit.^^^^
1a50: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0a 0a 2d 2d 2d 2d  ^^^^^^^^^^..----
1a60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 5b 72  -------------.[r
1a70: 65 71 75 69 72 65 6d 65 6e 74 73 5d 0a 72 75 6e  equirements].run
1a80: 74 69 6d 65 6c 69 6d 20 31 68 20 32 6d 20 33 73  timelim 1h 2m 3s
1a90: 20 20 23 20 74 68 69 73 20 77 69 6c 6c 20 61 75    # this will au
1aa0: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6b 69 6c 6c  tomatically kill
1ab0: 20 74 68 65 20 74 65 73 74 20 69 66 20 69 74 20   the test if it 
1ac0: 72 75 6e 73 20 66 6f 72 20 6d 6f 72 65 20 74 68  runs for more th
1ad0: 61 6e 20 31 68 20 32 6d 20 61 6e 64 20 33 73 0a  an 1h 2m and 3s.
1ae0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1af0: 2d 0a 0a 53 6b 69 70 0a 5e 5e 5e 5e 0a 0a 41 20  -..Skip.^^^^..A 
1b00: 74 65 73 74 20 77 69 74 68 20 61 20 73 6b 69 70  test with a skip
1b10: 20 73 65 63 74 69 6f 6e 20 77 69 6c 6c 20 63 6f   section will co
1b20: 6e 64 69 74 69 6f 6e 61 6c 20 73 6b 69 70 20 72  nditional skip r
1b30: 75 6e 6e 69 6e 67 2e 0a 0a 2e 53 6b 69 70 20 73  unning....Skip s
1b40: 65 63 74 69 6f 6e 20 65 78 61 6d 70 6c 65 0a 2d  ection example.-
1b50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b60: 0a 5b 73 6b 69 70 5d 0a 70 72 65 76 72 75 6e 6e  .[skip].prevrunn
1b70: 69 6e 67 20 78 0a 23 20 72 75 6e 64 65 6c 61 79  ing x.# rundelay
1b80: 20 33 30 6d 20 31 35 73 0a 2d 2d 2d 2d 2d 2d 2d   30m 15s.-------
1b90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 53 6b 69 70  ----------..Skip
1ba0: 20 6f 6e 20 53 74 69 6c 6c 2d 72 75 6e 6e 69 6e   on Still-runnin
1bb0: 67 20 54 65 73 74 73 0a 5e 5e 5e 5e 5e 5e 5e 5e  g Tests.^^^^^^^^
1bc0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ^^^^^^^^^^^^^^^^
1bd0: 5e 5e 5e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ^^^..-----------
1be0: 2d 2d 2d 2d 2d 2d 0a 23 20 4e 42 2f 2f 20 49 66  ------.# NB// If
1bf0: 20 74 68 65 20 70 72 65 76 72 75 6e 6e 69 6e 67   the prevrunning
1c00: 20 6c 69 6e 65 20 65 78 69 73 74 73 20 77 69 74   line exists wit
1c10: 68 20 2a 61 6e 79 2a 20 76 61 6c 75 65 20 74 68  h *any* value th
1c20: 65 20 74 65 73 74 20 77 69 6c 6c 0a 23 20 61 75  e test will.# au
1c30: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 53 4b 49 50  tomatically SKIP
1c40: 20 69 66 20 74 68 65 20 73 61 6d 65 2d 6e 61 6d   if the same-nam
1c50: 65 64 20 74 65 73 74 20 69 73 20 63 75 72 72 65  ed test is curre
1c60: 6e 74 6c 79 20 52 55 4e 4e 49 4e 47 2e 20 54 68  ntly RUNNING. Th
1c70: 65 0a 23 20 22 78 22 20 63 61 6e 20 62 65 20 61  e.# "x" can be a
1c80: 6e 79 20 73 74 72 69 6e 67 2e 20 43 6f 6d 6d 65  ny string. Comme
1c90: 6e 74 20 6f 75 74 20 74 68 65 20 70 72 65 76 72  nt out the prevr
1ca0: 75 6e 6e 69 6e 67 20 6c 69 6e 65 20 74 6f 20 74  unning line to t
1cb0: 75 72 6e 20 6f 66 66 0a 23 20 73 6b 69 70 2e 0a  urn off.# skip..
1cc0: 0a 5b 73 6b 69 70 5d 0a 70 72 65 76 72 75 6e 6e  .[skip].prevrunn
1cd0: 69 6e 67 20 78 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ing x.----------
1ce0: 2d 2d 2d 2d 2d 2d 2d 0a 0a 53 6b 69 70 20 69 66  -------..Skip if
1cf0: 20 61 20 46 69 6c 65 20 45 78 69 73 74 73 0a 5e   a File Exists.^
1d00: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ^^^^^^^^^^^^^^^^
1d10: 5e 5e 5e 5e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ^^^^..----------
1d20: 2d 2d 2d 2d 2d 2d 2d 0a 5b 73 6b 69 70 5d 0a 66  -------.[skip].f
1d30: 69 6c 65 65 78 69 73 74 73 20 2f 70 61 74 68 2f  ileexists /path/
1d40: 74 6f 2f 61 2f 66 69 6c 65 20 23 20 73 6b 69 70  to/a/file # skip
1d50: 20 69 66 20 2f 70 61 74 68 2f 74 6f 2f 61 2f 66   if /path/to/a/f
1d60: 69 6c 65 20 65 78 69 73 74 73 0a 2d 2d 2d 2d 2d  ile exists.-----
1d70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 53 6b  ------------..Sk
1d80: 69 70 20 69 66 20 74 65 73 74 20 72 61 6e 20 6d  ip if test ran m
1d90: 6f 72 65 20 72 65 63 65 6e 74 6c 79 20 74 68 61  ore recently tha
1da0: 6e 20 73 70 65 63 69 66 69 65 64 20 74 69 6d 65  n specified time
1db0: 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  .^^^^^^^^^^^^^^^
1dc0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ^^^^^^^^^^^^^^^^
1dd0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ^^^^^^^^^^^^^^^^
1de0: 5e 5e 5e 0a 0a 2e 53 6b 69 70 20 69 66 20 74 68  ^^^...Skip if th
1df0: 69 73 20 74 65 73 74 20 68 61 73 20 62 65 65 6e  is test has been
1e00: 20 72 75 6e 20 69 6e 20 74 68 65 20 70 61 73 74   run in the past
1e10: 20 66 69 66 74 65 65 6e 20 6d 69 6e 75 74 65 73   fifteen minutes
1e20: 20 61 6e 64 20 31 35 20 73 65 63 6f 6e 64 73 2e   and 15 seconds.
1e30: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
1e40: 2d 2d 0a 5b 73 6b 69 70 5d 0a 72 75 6e 64 65 6c  --.[skip].rundel
1e50: 61 79 20 31 35 6d 20 31 35 73 0a 2d 2d 2d 2d 2d  ay 15m 15s.-----
1e60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 44 69  ------------..Di
1e70: 73 6b 73 0a 5e 5e 5e 5e 5e 0a 0a 41 20 64 69 73  sks.^^^^^..A dis
1e80: 6b 73 20 73 65 63 74 69 6f 6e 20 69 6e 20 74 65  ks section in te
1e90: 73 74 63 6f 6e 66 69 67 20 77 69 6c 6c 20 6f 76  stconfig will ov
1ea0: 65 72 72 69 64 65 20 74 68 65 20 64 69 73 6b 73  erride the disks
1eb0: 20 73 65 63 74 69 6f 6e 20 69 6e 0a 6d 65 67 61   section in.mega
1ec0: 74 65 73 74 2e 63 6f 6e 66 69 67 2e 20 54 68 69  test.config. Thi
1ed0: 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f  s can be used to
1ee0: 20 61 6c 6c 6f 63 61 74 65 20 64 69 73 6b 73 20   allocate disks 
1ef0: 6f 6e 20 61 20 70 65 72 2d 74 65 73 74 20 6f 72  on a per-test or
1f00: 20 70 65 72 20 69 74 65 6d 0a 62 61 73 69 73 2e   per item.basis.
1f10: 0a 0a 43 6f 6e 74 72 6f 6c 6c 65 64 20 77 61 69  ..Controlled wai
1f20: 76 65 72 20 70 72 6f 70 61 67 61 74 69 6f 6e 0a  ver propagation.
1f30: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ^^^^^^^^^^^^^^^^
1f40: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0a 0a 49  ^^^^^^^^^^^^^..I
1f50: 66 20 74 65 73 74 20 69 73 20 46 41 49 4c 20 61  f test is FAIL a
1f60: 6e 64 20 70 72 65 76 69 6f 75 73 20 74 65 73 74  nd previous test
1f70: 20 69 6e 20 72 75 6e 20 77 69 74 68 20 73 61 6d   in run with sam
1f80: 65 20 4d 54 5f 54 41 52 47 45 54 20 69 73 20 57  e MT_TARGET is W
1f90: 41 49 56 45 44 20 74 68 65 6e 20 61 70 70 6c 79  AIVED then apply
1fa0: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72   the following r
1fb0: 75 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 74 65  ules from the te
1fc0: 73 74 63 6f 6e 66 69 67 3a 0a 49 66 20 61 20 77  stconfig:.If a w
1fd0: 61 69 76 65 72 20 63 68 65 63 6b 20 69 73 20 73  aiver check is s
1fe0: 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 65 20  pecified in the 
1ff0: 74 65 73 74 63 6f 6e 66 69 67 20 61 70 70 6c 79  testconfig apply
2000: 20 74 68 65 20 63 68 65 63 6b 20 61 6e 64 20 69   the check and i
2010: 66 20 69 74 20 70 61 73 73 65 73 20 74 68 65 6e  f it passes then
2020: 20 73 65 74 20 74 68 69 73 20 46 41 49 4c 20 74   set this FAIL t
2030: 6f 20 57 41 49 56 45 44 0a 0a 57 61 69 76 65 72  o WAIVED..Waiver
2040: 20 63 68 65 63 6b 20 68 61 73 20 74 77 6f 20 70   check has two p
2050: 61 72 74 73 2c 20 31 29 20 61 20 6c 69 73 74 20  arts, 1) a list 
2060: 6f 66 20 77 61 69 76 65 72 2c 20 72 75 6c 65 6e  of waiver, rulen
2070: 61 6d 65 2c 20 66 69 6c 65 70 61 74 74 65 72 6e  ame, filepattern
2080: 73 20 61 6e 64 20 32 29 20 74 68 65 20 72 75 6c  s and 2) the rul
2090: 65 6e 61 6d 65 20 73 63 72 69 70 74 20 73 70 65  ename script spe
20a0: 63 20 28 6e 6f 74 65 20 74 68 61 74 20 22 64 69  c (note that "di
20b0: 66 66 22 20 61 6e 64 20 22 6c 6f 67 70 72 6f 22  ff" and "logpro"
20c0: 20 61 72 65 20 70 72 65 64 65 66 69 6e 65 64 29   are predefined)
20d0: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
20e0: 2d 2d 2d 0a 23 23 23 23 23 23 20 45 58 41 4d 50  ---.###### EXAMP
20f0: 4c 45 20 46 52 4f 4d 20 74 65 73 74 63 6f 6e 66  LE FROM testconf
2100: 69 67 20 23 23 23 23 23 23 23 23 23 0a 23 20 6d  ig #########.# m
2110: 61 74 63 68 69 6e 67 20 66 69 6c 65 28 73 29 20  atching file(s) 
2120: 77 69 6c 6c 20 62 65 20 64 69 66 66 27 64 20 77  will be diff'd w
2130: 69 74 68 20 70 72 65 76 69 6f 75 73 20 72 75 6e  ith previous run
2140: 20 61 6e 64 20 6c 6f 67 70 72 6f 20 61 70 70 6c   and logpro appl
2150: 69 65 64 0a 23 20 69 66 20 50 41 53 53 20 6f 72  ied.# if PASS or
2160: 20 57 41 52 4e 20 72 65 73 75 6c 74 20 66 72 6f   WARN result fro
2170: 6d 20 6c 6f 67 70 72 6f 20 74 68 65 6e 20 57 41  m logpro then WA
2180: 49 56 45 52 20 73 74 61 74 65 20 69 73 20 73 65  IVER state is se
2190: 74 0a 23 0a 5b 77 61 69 76 65 72 73 5d 0a 23 20  t.#.[waivers].# 
21a0: 6c 6f 67 70 72 6f 5f 66 69 6c 65 20 20 20 20 72  logpro_file    r
21b0: 75 6c 65 6e 61 6d 65 20 20 20 20 20 20 69 6e 70  ulename      inp
21c0: 75 74 5f 67 6c 6f 62 0a 77 61 69 76 65 72 5f 31  ut_glob.waiver_1
21d0: 20 20 20 20 20 20 20 20 20 6c 6f 67 70 72 6f 20           logpro 
21e0: 20 20 20 20 20 20 20 6c 6f 6f 6b 69 74 74 6d 70         lookittmp
21f0: 2e 6c 6f 67 0a 0a 5b 77 61 69 76 65 72 5f 72 75  .log..[waiver_ru
2200: 6c 65 73 5d 0a 0a 23 20 54 68 69 73 20 62 75 69  les]..# This bui
2210: 6c 74 69 6e 20 72 75 6c 65 20 69 73 20 74 68 65  ltin rule is the
2220: 20 64 65 66 61 75 6c 74 20 69 66 20 74 68 65 72   default if ther
2230: 65 20 69 73 20 6e 6f 20 3c 77 61 69 76 65 72 6e  e is no <waivern
2240: 61 6d 65 3e 2e 6c 6f 67 70 72 6f 20 66 69 6c 65  ame>.logpro file
2250: 0a 23 20 64 69 66 66 20 20 20 64 69 66 66 20 25  .# diff   diff %
2260: 66 69 6c 65 31 25 20 25 66 69 6c 65 32 25 0a 0a  file1% %file2%..
2270: 23 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 72  # This builtin r
2280: 75 6c 65 20 69 73 20 61 70 70 6c 69 65 64 20 69  ule is applied i
2290: 66 20 61 20 3c 77 61 69 76 65 72 6e 61 6d 65 3e  f a <waivername>
22a0: 2e 6c 6f 67 70 72 6f 20 66 69 6c 65 20 65 78 69  .logpro file exi
22b0: 73 74 73 0a 23 20 6c 6f 67 70 72 6f 20 64 69 66  sts.# logpro dif
22c0: 66 20 25 66 69 6c 65 31 25 20 25 66 69 6c 65 32  f %file1% %file2
22d0: 25 20 7c 20 6c 6f 67 70 72 6f 20 25 77 61 69 76  % | logpro %waiv
22e0: 65 72 6e 61 6d 65 25 2e 6c 6f 67 70 72 6f 20 25  ername%.logpro %
22f0: 77 61 69 76 65 72 6e 61 6d 65 25 2e 68 74 6d 6c  waivername%.html
2300: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
2310: 2d 2d 0a 0a 45 7a 73 74 65 70 73 0a 7e 7e 7e 7e  --..Ezsteps.~~~~
2320: 7e 7e 7e 0a 0a 2e 45 78 61 6d 70 6c 65 20 65 7a  ~~~...Example ez
2330: 73 74 65 70 73 20 77 69 74 68 20 6c 6f 67 70 72  steps with logpr
2340: 6f 20 72 75 6c 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d  o rules.--------
2350: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 5b 65 7a 73 74 65  ---------.[ezste
2360: 70 73 5d 0a 6c 6f 6f 6b 69 74 74 6d 70 20 20 20  ps].lookittmp   
2370: 6c 73 20 2f 74 6d 70 0a 0a 5b 6c 6f 67 70 72 6f  ls /tmp..[logpro
2380: 5d 0a 6c 6f 6f 6b 69 74 74 6d 70 20 3b 3b 20 4e  ].lookittmp ;; N
2390: 6f 74 65 3a 20 63 6f 6e 66 69 67 20 66 69 6c 65  ote: config file
23a0: 20 66 6f 72 6d 61 74 20 73 75 70 70 6f 72 74 73   format supports
23b0: 20 6d 75 6c 74 69 2d 6c 69 6e 65 20 65 6e 74 72   multi-line entr
23c0: 69 65 73 20 77 68 65 72 65 20 6c 65 61 64 69 6e  ies where leadin
23d0: 67 20 77 68 69 74 65 73 70 61 63 65 20 69 73 20  g whitespace is 
23e0: 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 65 61 63  removed from eac
23f0: 68 20 6c 69 6e 65 0a 20 20 3b 3b 20 20 20 20 20  h line.  ;;     
2400: 61 20 62 6c 61 6e 6b 20 6c 69 6e 65 20 69 6e 64  a blank line ind
2410: 69 63 61 74 65 73 20 74 68 65 20 65 6e 64 20 6f  icates the end o
2420: 66 20 74 68 65 20 62 6c 6f 63 6b 20 6f 66 20 74  f the block of t
2430: 65 78 74 20 0a 20 20 28 65 78 70 65 63 74 3a 72  ext .  (expect:r
2440: 65 71 75 69 72 65 64 20 69 6e 20 22 4c 6f 67 46  equired in "LogF
2450: 69 6c 65 42 6f 64 79 22 20 3e 20 30 20 22 41 20  ileBody" > 0 "A 
2460: 66 69 6c 65 20 6e 61 6d 65 20 74 68 61 74 20 73  file name that s
2470: 68 6f 75 6c 64 20 6e 65 76 65 72 20 65 78 69 73  hould never exis
2480: 74 21 22 20 23 2f 54 68 69 73 20 69 73 20 61 20  t!" #/This is a 
2490: 61 77 66 75 6c 6c 79 20 73 74 75 70 69 64 20 66  awfully stupid f
24a0: 69 6c 65 20 6e 61 6d 65 20 74 68 61 74 20 73 68  ile name that sh
24b0: 6f 75 6c 64 20 6e 65 76 65 72 20 62 65 20 66 6f  ould never be fo
24c0: 75 6e 64 20 69 6e 20 74 68 65 20 74 65 6d 70 20  und in the temp 
24d0: 64 69 72 2f 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  dir/)..---------
24e0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 6f 20 74 72 61  --------..To tra
24f0: 6e 73 66 65 72 20 74 68 65 20 65 6e 76 69 72 6f  nsfer the enviro
2500: 6e 6d 65 6e 74 20 74 6f 20 74 68 65 20 6e 65 78  nment to the nex
2510: 74 20 73 74 65 70 20 79 6f 75 20 63 61 6e 20 64  t step you can d
2520: 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a  o the following:
2530: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
2540: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 24  --------------.$
2550: 4d 54 5f 4d 45 47 41 54 45 53 54 20 2d 65 6e 76  MT_MEGATEST -env
2560: 32 66 69 6c 65 20 2e 65 7a 73 74 65 70 73 2f 24  2file .ezsteps/$
2570: 7b 73 74 65 70 6e 61 6d 65 7d 09 20 20 0a 2d 2d  {stepname}.  .--
2580: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2590: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 72 69 67  ----------..Trig
25a0: 67 65 72 73 0a 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 49  gers.~~~~~~~~..I
25b0: 6e 20 79 6f 75 72 20 74 65 73 74 63 6f 6e 66 69  n your testconfi
25c0: 67 20 74 72 69 67 67 65 72 73 20 63 61 6e 20 62  g triggers can b
25d0: 65 20 73 70 65 63 69 66 69 65 64 20 0a 0a 2d 2d  e specified ..--
25e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
25f0: 5b 74 72 69 67 67 65 72 73 5d 0a 0a 23 20 43 61  [triggers]..# Ca
2600: 6c 6c 20 73 63 72 69 70 74 20 72 75 6e 6e 69 6e  ll script runnin
2610: 67 2e 73 68 20 77 68 65 6e 20 74 65 73 74 20 67  g.sh when test g
2620: 6f 65 73 20 74 6f 20 73 74 61 74 65 3d 52 55 4e  oes to state=RUN
2630: 4e 49 4e 47 2c 20 73 74 61 74 75 73 3d 50 41 53  NING, status=PAS
2640: 53 0a 52 55 4e 4e 49 4e 47 2f 50 41 53 53 20 72  S.RUNNING/PASS r
2650: 75 6e 6e 69 6e 67 2e 73 68 0a 0a 23 20 43 61 6c  unning.sh..# Cal
2660: 6c 20 73 63 72 69 70 74 20 72 75 6e 6e 69 6e 67  l script running
2670: 2e 73 68 20 61 6e 79 20 74 69 6d 65 20 73 74 61  .sh any time sta
2680: 74 65 20 67 6f 65 73 20 74 6f 20 52 55 4e 4e 49  te goes to RUNNI
2690: 4e 47 0a 52 55 4e 4e 49 4e 47 2f 20 72 75 6e 6e  NG.RUNNING/ runn
26a0: 69 6e 67 2e 73 68 0a 0a 23 20 43 61 6c 6c 20 73  ing.sh..# Call s
26b0: 63 72 69 70 74 20 6f 6e 70 61 73 73 2e 73 68 20  cript onpass.sh 
26c0: 61 6e 79 20 74 69 6d 65 20 73 74 61 74 75 73 20  any time status 
26d0: 67 6f 65 73 20 74 6f 20 50 41 53 53 0a 50 41 53  goes to PASS.PAS
26e0: 53 2f 20 6f 6e 70 61 73 73 2e 73 68 0a 2d 2d 2d  S/ onpass.sh.---
26f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
2700: 53 63 72 69 70 74 73 20 63 61 6c 6c 65 64 20 77  Scripts called w
2710: 69 6c 6c 20 68 61 76 65 3b 20 74 65 73 74 2d 69  ill have; test-i
2720: 64 20 74 65 73 74 2d 72 75 6e 64 69 72 20 74 72  d test-rundir tr
2730: 69 67 67 65 72 2c 20 61 64 64 65 64 20 74 6f 20  igger, added to 
2740: 74 68 65 20 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2e  the commandline.
2750: 0a 0a 48 49 4e 54 0a 0a 54 6f 20 73 74 61 72 74  ..HINT..To start
2760: 20 61 6e 20 78 74 65 72 6d 20 28 75 73 65 66 75   an xterm (usefu
2770: 6c 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 29  l for debugging)
2780: 2c 20 75 73 65 20 61 20 63 6f 6d 6d 61 6e 64 20  , use a command 
2790: 6c 69 6e 65 20 6c 69 6b 65 20 74 68 65 20 66 6f  line like the fo
27a0: 6c 6c 6f 77 69 6e 67 3a 0a 0a 2d 2d 2d 2d 2d 2d  llowing:..------
27b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 5b 74 72 69  -----------.[tri
27c0: 67 67 65 72 73 5d 0a 43 4f 4d 50 4c 45 54 45 44  ggers].COMPLETED
27d0: 2f 20 78 74 65 72 6d 20 2d 65 20 62 61 73 68 20  / xterm -e bash 
27e0: 2d 73 20 2d 2d 20 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  -s -- .---------
27f0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4e 4f 54 45 3a 20  --------..NOTE: 
2800: 54 68 65 72 65 20 69 73 20 61 20 74 72 61 69 6c  There is a trail
2810: 69 6e 67 20 73 70 61 63 65 20 61 66 74 65 72 20  ing space after 
2820: 74 68 65 20 2d 2d 0a 0a 0a 4f 76 65 72 72 69 64  the --...Overrid
2830: 65 20 74 68 65 20 54 6f 70 6c 65 76 65 6c 20 48  e the Toplevel H
2840: 54 4d 4c 20 46 69 6c 65 0a 7e 7e 7e 7e 7e 7e 7e  TML File.~~~~~~~
2850: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
2860: 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 4d 65 67 61 74 65  ~~~~~~~~..Megate
2870: 73 74 20 67 65 6e 65 72 61 74 65 73 20 61 20 73  st generates a s
2880: 69 6d 70 6c 65 20 68 74 6d 6c 20 66 69 6c 65 20  imple html file 
2890: 73 75 6d 6d 61 72 79 20 66 6f 72 20 74 6f 70 20  summary for top 
28a0: 6c 65 76 65 6c 20 74 65 73 74 73 20 6f 66 0a 69  level tests of.i
28b0: 74 65 72 61 74 65 64 20 74 65 73 74 73 2e 20 54  terated tests. T
28c0: 68 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 63 61  he generation ca
28d0: 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 2e  n be overridden.
28e0: 20 4e 4f 54 45 3a 20 74 68 65 20 6f 75 74 70 75   NOTE: the outpu
28f0: 74 20 6f 66 0a 74 68 65 20 73 63 72 69 70 74 20  t of.the script 
2900: 69 73 20 63 61 70 74 75 72 65 64 20 66 72 6f 6d  is captured from
2910: 20 73 74 64 6f 75 74 20 74 6f 20 63 72 65 61 74   stdout to creat
2920: 65 20 74 68 65 20 68 74 6d 6c 2e 0a 0a 0a 2e 46  e the html.....F
2930: 6f 72 20 74 65 73 74 20 22 72 75 6e 66 69 72 73  or test "runfirs
2940: 74 22 20 6f 76 65 72 72 69 64 65 20 74 68 65 20  t" override the 
2950: 74 6f 70 6c 65 76 65 6c 20 67 65 6e 65 72 61 74  toplevel generat
2960: 69 6f 6e 20 77 69 74 68 20 61 20 73 63 72 69 70  ion with a scrip
2970: 74 20 22 6d 79 73 75 6d 6d 61 72 79 2e 73 68 22  t "mysummary.sh"
2980: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
2990: 2d 2d 0a 23 20 4f 76 65 72 72 69 64 65 20 74 68  --.# Override th
29a0: 65 20 72 6f 6c 6c 75 70 20 66 6f 72 20 73 70 65  e rollup for spe
29b0: 63 69 66 69 63 20 74 65 73 74 73 0a 5b 74 65 73  cific tests.[tes
29c0: 74 72 6f 6c 6c 75 70 5d 0a 72 75 6e 66 69 72 73  trollup].runfirs
29d0: 74 20 6d 79 73 75 6d 6d 61 72 79 2e 73 68 0a 2d  t mysummary.sh.-
29e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
29f0: 0a 0a 41 72 63 68 69 76 69 6e 67 20 53 65 74 75  ..Archiving Setu
2a00: 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  p.--------------
2a10: 2d 0a 0a 49 6e 20 6d 65 67 61 74 65 73 74 2e 63  -..In megatest.c
2a20: 6f 6e 66 69 67 20 61 64 64 20 74 68 65 20 66 6f  onfig add the fo
2a30: 6c 6c 6f 77 69 6e 67 20 73 65 63 74 69 6f 6e 73  llowing sections
2a40: 3a 0a 0a 2e 6d 65 67 61 74 65 73 74 2e 63 6f 6e  :...megatest.con
2a50: 66 69 67 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  fig.------------
2a60: 2d 2d 0a 5b 61 72 63 68 69 76 65 5d 0a 23 20 77  --.[archive].# w
2a70: 68 65 72 65 20 74 6f 20 67 65 74 20 62 75 70 20  here to get bup 
2a80: 65 78 65 63 75 74 61 62 6c 65 0a 23 20 62 75 70  executable.# bup
2a90: 20 2f 70 61 74 68 2f 74 6f 2f 62 75 70 0a 0a 5b   /path/to/bup..[
2aa0: 61 72 63 68 69 76 65 2d 64 69 73 6b 73 5d 0a 0a  archive-disks]..
2ab0: 23 20 41 72 63 68 69 76 65 73 20 77 69 6c 6c 20  # Archives will 
2ac0: 62 65 20 6f 72 67 61 6e 69 73 65 64 20 75 6e 64  be organised und
2ad0: 65 72 20 74 68 65 73 65 20 70 61 74 68 73 20 6c  er these paths l
2ae0: 69 6b 65 20 74 68 69 73 3a 0a 23 20 20 3c 74 65  ike this:.#  <te
2af0: 73 74 73 75 69 74 65 3e 2f 3c 63 72 65 61 74 69  stsuite>/<creati
2b00: 6f 6e 64 61 74 65 3e 0a 23 20 57 69 74 68 69 6e  ondate>.# Within
2b10: 20 74 68 65 20 61 72 63 68 69 76 65 20 74 68 65   the archive the
2b20: 20 64 61 74 61 20 69 73 20 73 74 72 75 63 74 75   data is structu
2b30: 72 65 64 20 6c 69 6b 65 20 74 68 69 73 3a 0a 23  red like this:.#
2b40: 20 20 3c 74 61 72 67 65 74 3e 2f 3c 72 75 6e 6e    <target>/<runn
2b50: 61 6d 65 3e 2f 3c 74 65 73 74 3e 2f 0a 61 72 63  ame>/<test>/.arc
2b60: 68 69 76 65 30 20 2f 6d 66 73 2f 6d 79 61 72 63  hive0 /mfs/myarc
2b70: 68 69 76 65 2d 64 61 74 61 2f 61 64 69 73 6b 31  hive-data/adisk1
2b80: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  .--------------.
2b90: 0a 48 61 6e 64 6c 69 6e 67 20 45 6e 76 69 72 6f  .Handling Enviro
2ba0: 6e 6d 65 6e 74 20 56 61 72 69 61 62 6c 65 73 0a  nment Variables.
2bb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2bc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
2bd0: 49 74 20 69 73 20 6f 66 74 65 6e 20 6e 65 63 65  It is often nece
2be0: 73 73 61 72 79 20 74 6f 20 63 61 70 74 75 72 65  ssary to capture
2bf0: 20 61 6e 64 20 6f 72 20 6d 61 6e 69 70 75 6c 61   and or manipula
2c00: 74 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 76  te environment.v
2c10: 61 72 69 61 62 6c 65 73 2e 20 4d 65 67 61 74 65  ariables. Megate
2c20: 73 74 20 68 61 73 20 73 6f 6d 65 20 66 61 63 69  st has some faci
2c30: 6c 69 74 69 65 73 20 62 75 69 6c 74 20 69 6e 20  lities built in 
2c40: 74 6f 20 68 65 6c 70 2e 0a 0a 43 61 70 74 75 72  to help...Captur
2c50: 65 20 76 61 72 69 61 62 6c 65 73 0a 7e 7e 7e 7e  e variables.~~~~
2c60: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 2e  ~~~~~~~~~~~~~...
2c70: 43 6f 6d 6d 61 6e 64 73 0a 2d 2d 2d 2d 2d 2d 2d  Commands.-------
2c80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2c90: 2d 2d 2d 2d 2d 2d 2d 0a 23 20 63 61 70 74 75 72  -------.# captur
2ca0: 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e  e the current en
2cb0: 76 69 72 6f 6d 65 6e 74 20 69 6e 74 6f 20 61 20  viroment into a 
2cc0: 64 62 20 63 61 6c 6c 65 64 20 65 6e 76 64 61 74  db called envdat
2cd0: 2e 64 62 20 75 6e 64 65 72 0a 23 20 74 68 65 20  .db under.# the 
2ce0: 63 6f 6e 74 65 78 74 20 22 62 65 66 6f 72 65 22  context "before"
2cf0: 0a 6d 65 67 61 74 65 73 74 20 2d 65 6e 76 63 61  .megatest -envca
2d00: 70 20 62 65 66 6f 72 65 0a 0a 23 20 63 61 70 74  p before..# capt
2d10: 75 72 65 20 74 68 65 20 63 75 72 72 65 6e 74 20  ure the current 
2d20: 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 69 6e 74 6f  environment into
2d30: 20 61 20 64 62 20 63 61 6c 6c 65 64 20 73 74 61   a db called sta
2d40: 72 74 75 70 2e 64 62 20 77 69 74 68 20 0a 23 20  rtup.db with .# 
2d50: 63 6f 6e 74 65 78 74 20 22 61 66 74 65 72 22 0a  context "after".
2d60: 6d 65 67 61 74 65 73 74 20 2d 65 6e 76 63 61 70  megatest -envcap
2d70: 20 61 66 74 65 72 20 73 74 61 72 74 75 70 2e 64   after startup.d
2d80: 62 0a 0a 23 20 77 72 69 74 65 20 74 68 65 20 64  b..# write the d
2d90: 69 66 66 20 66 72 6f 6d 20 62 65 66 6f 72 65 20  iff from before 
2da0: 74 6f 20 61 66 74 65 72 0a 6d 65 67 61 74 65 73  to after.megates
2db0: 74 20 2d 65 6e 76 64 65 6c 74 61 20 62 65 66 6f  t -envdelta befo
2dc0: 72 65 2d 61 66 74 65 72 20 2d 64 75 6d 70 6d 6f  re-after -dumpmo
2dd0: 64 65 20 62 61 73 68 0a 2d 2d 2d 2d 2d 2d 2d 2d  de bash.--------
2de0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2df0: 2d 2d 2d 2d 2d 2d 0a 0a 44 75 6d 70 20 6d 6f 64  ------..Dump mod
2e00: 65 73 20 69 6e 63 6c 75 64 65 20 62 61 73 68 2c  es include bash,
2e10: 20 63 73 68 20 61 6e 64 20 63 6f 6e 66 69 67 2e   csh and config.
2e20: 20 59 6f 75 20 63 61 6e 20 69 6e 63 6c 75 64 65   You can include
2e30: 20 63 6f 6e 66 69 67 20 64 61 74 61 0a 69 6e 74   config data.int
2e40: 6f 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69  o megatest.confi
2e50: 67 20 6f 72 20 72 75 6e 63 6f 6e 66 69 67 73 2e  g or runconfigs.
2e60: 63 6f 6e 66 69 67 2e 0a 0a 2e 45 78 61 6d 70 6c  config....Exampl
2e70: 65 20 6f 66 20 67 65 6e 65 72 61 74 69 6e 67 20  e of generating 
2e80: 61 6e 64 20 75 73 69 6e 67 20 63 6f 6e 66 69 67  and using config
2e90: 20 64 61 74 61 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   data.----------
2ea0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2eb0: 2d 2d 2d 2d 0a 6d 65 67 61 74 65 73 74 20 2d 65  ----.megatest -e
2ec0: 6e 76 63 61 70 20 6f 72 69 67 69 6e 61 6c 0a 23  nvcap original.#
2ed0: 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 20 68   do some stuff h
2ee0: 65 72 65 0a 6d 65 67 61 74 65 73 74 20 2d 65 6e  ere.megatest -en
2ef0: 76 63 61 70 20 6d 75 6e 67 65 64 0a 6d 65 67 61  vcap munged.mega
2f00: 74 65 73 74 20 2d 65 6e 76 64 65 6c 74 61 20 6f  test -envdelta o
2f10: 72 69 67 69 6e 61 6c 2d 6d 75 6e 67 65 64 20 2d  riginal-munged -
2f20: 64 75 6d 70 6d 6f 64 65 20 69 6e 69 20 2d 6f 20  dumpmode ini -o 
2f30: 6d 6f 64 69 66 69 65 64 2e 63 6f 6e 66 69 67 0a  modified.config.
2f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
2f60: 54 68 65 6e 20 69 6e 20 72 75 6e 63 6f 6e 66 69  Then in runconfi
2f70: 67 73 2e 63 6f 6e 66 69 67 0a 0a 2e 45 78 61 6d  gs.config...Exam
2f80: 70 6c 65 20 6f 66 20 75 73 69 6e 67 20 6d 6f 64  ple of using mod
2f90: 69 66 69 65 64 2e 63 6f 6e 66 69 67 20 69 6e 20  ified.config in 
2fa0: 61 20 74 65 73 74 63 6f 6e 66 69 67 0a 2d 2d 2d  a testconfig.---
2fb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2fc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 63 61 74 20  -----------.cat 
2fd0: 74 65 73 74 63 6f 6e 66 69 67 0a 0a 5b 70 72 65  testconfig..[pre
2fe0: 2d 6c 61 75 6e 63 68 2d 65 6e 76 2d 76 61 72 73  -launch-env-vars
2ff0: 5d 0a 5b 69 6e 63 6c 75 64 65 20 6d 6f 64 69 66  ].[include modif
3000: 69 65 64 2e 63 6f 6e 66 69 67 5d 0a 2d 2d 2d 2d  ied.config].----
3010: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3020: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 0a 50 72 6f  ----------...Pro
3030: 67 72 61 6d 6d 69 6e 67 20 41 50 49 0a 2d 2d 2d  gramming API.---
3040: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68  ------------..Th
3050: 65 73 65 20 72 6f 75 74 69 6e 65 73 20 63 61 6e  ese routines can
3060: 20 62 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20   be called from 
3070: 74 68 65 20 6d 65 67 61 74 65 73 74 20 72 65 70  the megatest rep
3080: 6c 2e 20 0a 0a 2e 41 50 49 20 4b 65 79 73 20 52  l. ...API Keys R
3090: 65 6c 61 74 65 64 20 43 61 6c 6c 73 0a 5b 77 69  elated Calls.[wi
30a0: 64 74 68 3d 22 37 30 25 22 2c 63 6f 6c 73 3d 22  dth="70%",cols="
30b0: 5e 2c 32 6d 2c 32 6d 2c 32 6d 22 2c 66 72 61 6d  ^,2m,2m,2m",fram
30c0: 65 3d 22 74 6f 70 62 6f 74 22 2c 6f 70 74 69 6f  e="topbot",optio
30d0: 6e 73 3d 22 68 65 61 64 65 72 2c 66 6f 6f 74 65  ns="header,foote
30e0: 72 22 5d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  r"].|===========
30f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 7c 41 50 49  ===========.|API
3100: 20 43 61 6c 6c 20 20 20 20 20 20 20 20 20 20 20   Call           
3110: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 50               | P
3120: 75 72 70 6f 73 65 20 63 6f 6d 6d 65 6e 74 73 20  urpose comments 
3130: 20 20 7c 20 52 65 74 75 72 6e 73 20 20 20 20 20    | Returns     
3140: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 43 6f              | Co
3150: 6d 6d 65 6e 74 73 0a 7c 28 72 6d 74 3a 67 65 74  mments.|(rmt:get
3160: 2d 6b 65 79 73 20 72 75 6e 2d 69 64 29 20 20 20  -keys run-id)   
3170: 20 20 20 20 20 20 20 20 7c 20 20 20 20 20 20 20          |       
3180: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28               | (
3190: 20 6b 65 79 31 20 6b 65 79 32 20 2e 2e 2e 20 29   key1 key2 ... )
31a0: 20 20 20 20 20 20 20 7c 20 0a 7c 20 28 72 6d 74         | .| (rmt
31b0: 3a 67 65 74 2d 6b 65 79 2d 76 61 6c 2d 70 61 69  :get-key-val-pai
31c0: 72 73 20 72 75 6e 2d 69 64 29 20 7c 20 20 20 20  rs run-id) |    
31d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
31e0: 7c 20 23 74 3d 73 75 63 63 65 73 73 2f 23 66 3d  | #t=success/#f=
31f0: 66 61 69 6c 20 20 20 20 20 20 7c 20 57 6f 72 6b  fail      | Work
3200: 73 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 73 65  s only if the se
3210: 72 76 65 72 20 69 73 20 73 74 69 6c 6c 20 72 65  rver is still re
3220: 61 63 68 61 62 6c 65 0a 7c 3d 3d 3d 3d 3d 3d 3d  achable.|=======
3230: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a  ===============.
3240: 0a 0a 3a 6e 75 6d 62 65 72 65 64 21 3a 0a 0a     ..:numbered!:..