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!:..