Wiki page
[reference] by
jmoon18
2018-07-25 12:08:09.
0000: 44 20 32 30 31 38 2d 30 37 2d 32 35 54 31 38 3a D 2018-07-25T18:
0010: 30 38 3a 30 39 2e 30 38 37 0a 4c 20 72 65 66 65 08:09.087.L refe
0020: 72 65 6e 63 65 0a 4e 20 74 65 78 74 2f 70 6c 61 rence.N text/pla
0030: 69 6e 0a 50 20 65 62 37 35 66 30 37 30 36 63 37 in.P eb75f0706c7
0040: 39 63 61 30 61 35 39 33 61 38 39 34 63 64 65 38 9ca0a593a894cde8
0050: 36 64 66 38 63 37 32 34 34 30 65 36 65 0a 55 20 6df8c72440e6e.U
0060: 6a 6d 6f 6f 6e 31 38 0a 57 20 32 35 32 33 32 0a jmoon18.W 25232.
0070: 2f 2f 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 // This file is
0080: 70 61 72 74 20 6f 66 20 4d 65 67 61 74 65 73 74 part of Megatest
0090: 2e 0d 0a 2f 2f 20 0d 0a 2f 2f 20 20 20 20 20 4d ...// ..// M
00a0: 65 67 61 74 65 73 74 20 69 73 20 66 72 65 65 20 egatest is free
00b0: 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 software: you ca
00c0: 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 n redistribute i
00d0: 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0d t and/or modify.
00e0: 0a 2f 2f 20 20 20 20 20 69 74 20 75 6e 64 65 72 .// it under
00f0: 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 the terms of th
0100: 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 e GNU General Pu
0110: 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 blic License as
0120: 70 75 62 6c 69 73 68 65 64 20 62 79 0d 0a 2f 2f published by..//
0130: 20 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f the Free So
0140: 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f ftware Foundatio
0150: 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f n, either versio
0160: 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e n 3 of the Licen
0170: 73 65 2c 20 6f 72 0d 0a 2f 2f 20 20 20 20 20 28 se, or..// (
0180: 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 at your option)
0190: 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f any later versio
01a0: 6e 2e 0d 0a 2f 2f 20 0d 0a 2f 2f 20 20 20 20 20 n...// ..//
01b0: 4d 65 67 61 74 65 73 74 20 69 73 20 64 69 73 74 Megatest is dist
01c0: 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 ributed in the h
01d0: 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c ope that it will
01e0: 20 62 65 20 75 73 65 66 75 6c 2c 0d 0a 2f 2f 20 be useful,..//
01f0: 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 but WITHOUT
0200: 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 ANY WARRANTY; wi
0210: 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 thout even the i
0220: 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 mplied warranty
0230: 6f 66 0d 0a 2f 2f 20 20 20 20 20 4d 45 52 43 48 of..// MERCH
0240: 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 ANTABILITY or FI
0250: 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 TNESS FOR A PART
0260: 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 ICULAR PURPOSE.
0270: 20 53 65 65 20 74 68 65 0d 0a 2f 2f 20 20 20 20 See the..//
0280: 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 GNU General Pub
0290: 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 lic License for
02a0: 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0d 0a 2f more details.../
02b0: 2f 20 0d 0a 2f 2f 20 20 20 20 20 59 6f 75 20 73 / ..// You s
02c0: 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 hould have recei
02d0: 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 ved a copy of th
02e0: 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 e GNU General Pu
02f0: 62 6c 69 63 20 4c 69 63 65 6e 73 65 0d 0a 2f 2f blic License..//
0300: 20 20 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 along with
0310: 4d 65 67 61 74 65 73 74 2e 20 20 49 66 20 6e 6f Megatest. If no
0320: 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 t, see <http://w
0330: 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e ww.gnu.org/licen
0340: 73 65 73 2f 3e 2e 0d 0a 0d 0a 52 65 66 65 72 65 ses/>.....Refere
0350: 6e 63 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a nce..---------..
0360: 0d 0a 43 6f 6e 66 69 67 20 46 69 6c 65 20 48 65 ..Config File He
0370: 6c 70 65 72 73 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e lpers..~~~~~~~~~
0380: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 56 61 ~~~~~~~~~~....Va
0390: 72 69 6f 75 73 20 68 65 6c 70 65 72 73 20 66 6f rious helpers fo
03a0: 72 20 6d 6f 72 65 20 61 64 76 61 6e 63 65 64 20 r more advanced
03b0: 63 6f 6e 66 69 67 20 66 69 6c 65 73 2e 0d 0a 0d config files....
03c0: 0a 2e 48 65 6c 70 65 72 73 0d 0a 5b 77 69 64 74 ..Helpers..[widt
03d0: 68 3d 22 38 30 25 22 2c 63 6f 6c 73 3d 22 5e 2c h="80%",cols="^,
03e0: 32 6d 2c 32 6d 2c 32 6d 22 2c 66 72 61 6d 65 3d 2m,2m,2m",frame=
03f0: 22 74 6f 70 62 6f 74 22 2c 6f 70 74 69 6f 6e 73 "topbot",options
0400: 3d 22 68 65 61 64 65 72 22 5d 0d 0a 7c 3d 3d 3d ="header"]..|===
0410: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0420: 3d 3d 3d 0d 0a 7c 48 65 6c 70 65 72 20 20 20 20 ===..|Helper
0430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0440: 20 20 7c 20 50 75 72 70 6f 73 65 20 20 20 20 20 | Purpose
0450: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0460: 20 20 7c 20 56 61 6c 69 64 20 76 61 6c 75 65 73 | Valid values
0470: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 43 6f | Co
0480: 6d 6d 65 6e 74 73 0d 0a 7c 20 23 7b 73 63 68 65 mments..| #{sche
0490: 6d 65 20 28 73 63 68 65 6d 65 20 63 6f 64 65 2e me (scheme code.
04a0: 2e 2e 29 7d 20 7c 20 45 78 65 63 75 74 65 20 61 ..)} | Execute a
04b0: 72 62 69 74 72 61 72 79 20 73 63 68 65 6d 65 20 rbitrary scheme
04c0: 63 6f 64 65 20 7c 20 41 6e 79 20 76 61 6c 69 64 code | Any valid
04d0: 20 73 63 68 65 6d 65 20 20 20 20 20 20 20 20 7c scheme |
04e0: 20 56 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 Value returned
04f0: 66 72 6f 6d 20 74 68 65 20 63 61 6c 6c 20 69 73 from the call is
0500: 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 61 20 converted to a
0510: 73 74 72 69 6e 67 20 61 6e 64 20 70 72 6f 63 65 string and proce
0520: 73 73 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 ssed as part of
0530: 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 0d the config file.
0540: 0a 7c 20 23 7b 73 79 73 74 65 6d 20 63 6f 6d 6d .| #{system comm
0550: 61 6e 64 7d 20 20 20 20 20 20 20 20 20 20 7c 20 and} |
0560: 45 78 65 63 75 74 65 20 70 72 6f 67 72 61 6d 2c Execute program,
0570: 20 69 6e 73 65 72 74 73 20 65 78 69 74 20 63 6f inserts exit co
0580: 64 65 20 20 7c 20 41 6e 79 20 76 61 6c 69 64 20 de | Any valid
0590: 55 6e 69 78 20 63 6f 6d 6d 61 6e 64 20 20 7c 20 Unix command |
05a0: 44 69 73 63 61 72 64 73 20 74 68 65 20 6f 75 74 Discards the out
05b0: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 70 72 6f put from the pro
05c0: 67 72 61 6d 0d 0a 7c 20 23 7b 73 68 65 6c 6c 20 gram..| #{shell
05d0: 20 63 6f 6d 6d 61 6e 64 7d 20 6f 72 20 23 7b 73 command} or #{s
05e0: 68 20 2e 2e 2e 7d 20 20 7c 20 45 78 65 63 75 74 h ...} | Execut
05f0: 65 20 70 72 6f 67 72 61 6d 2c 20 69 6e 73 65 72 e program, inser
0600: 74 73 20 72 65 73 75 6c 74 20 66 72 6f 6d 20 73 ts result from s
0610: 74 64 6f 75 74 20 7c 20 41 6e 79 20 76 61 6c 69 tdout | Any vali
0620: 64 20 55 6e 69 78 20 63 6f 6d 6d 61 6e 64 20 7c d Unix command |
0630: 20 56 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 Value returned
0640: 66 72 6f 6d 20 74 68 65 20 63 61 6c 6c 20 69 73 from the call is
0650: 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 61 20 converted to a
0660: 73 74 72 69 6e 67 20 61 6e 64 20 70 72 6f 63 65 string and proce
0670: 73 73 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 ssed as part of
0680: 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 0d the config file.
0690: 0a 7c 20 23 7b 72 65 61 6c 70 61 74 68 20 70 61 .| #{realpath pa
06a0: 74 68 7d 20 6f 72 20 23 7b 72 70 20 2e 2e 2e 7d th} or #{rp ...}
06b0: 20 20 20 7c 20 52 65 70 6c 61 63 65 20 77 69 74 | Replace wit
06c0: 68 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 70 61 74 h normalized pat
06d0: 68 20 7c 20 4d 75 73 74 20 62 65 20 61 20 76 61 h | Must be a va
06e0: 6c 69 64 20 70 61 74 68 20 7c 0d 0a 7c 20 23 7b lid path |..| #{
06f0: 67 65 74 65 6e 76 20 56 41 52 7d 20 6f 72 20 23 getenv VAR} or #
0700: 7b 67 76 20 56 41 52 7d 20 20 20 20 20 20 7c 20 {gv VAR} |
0710: 52 65 70 6c 61 63 65 20 77 69 74 68 20 63 6f 6e Replace with con
0720: 74 65 6e 74 20 6f 66 20 65 6e 76 20 76 61 72 69 tent of env vari
0730: 61 62 6c 65 20 7c 20 4d 75 73 74 20 62 65 20 61 able | Must be a
0740: 20 76 61 6c 69 64 20 76 61 72 20 7c 0d 0a 7c 20 valid var |..|
0750: 23 7b 67 65 74 20 73 20 76 7d 20 6f 72 20 23 7b #{get s v} or #{
0760: 67 20 73 20 76 7d 20 20 20 20 20 7c 20 52 65 70 g s v} | Rep
0770: 6c 61 63 65 20 77 69 74 68 20 76 61 72 69 61 62 lace with variab
0780: 6c 65 20 76 20 66 72 6f 6d 20 73 65 63 74 69 6f le v from sectio
0790: 6e 20 73 20 7c 20 56 61 72 69 61 62 6c 65 20 6d n s | Variable m
07a0: 75 73 74 20 62 65 20 64 65 66 69 6e 65 64 20 62 ust be defined b
07b0: 65 66 6f 72 65 20 75 73 65 20 7c 0d 0a 7c 20 23 efore use |..| #
07c0: 7b 72 67 65 74 20 76 7d 20 20 20 20 20 20 20 20 {rget v}
07d0: 20 20 20 20 20 20 20 20 20 20 7c 20 52 65 70 6c | Repl
07e0: 61 63 65 20 77 69 74 68 20 76 61 72 69 61 62 6c ace with variabl
07f0: 65 20 76 20 66 72 6f 6d 20 74 61 72 67 65 74 20 e v from target
0800: 6f 72 20 64 65 66 61 75 6c 74 20 6f 66 20 72 75 or default of ru
0810: 6e 63 6f 6e 66 69 67 73 20 66 69 6c 65 20 7c 20 nconfigs file |
0820: 7c 0d 0a 7c 20 23 7b 6d 74 72 61 68 7d 20 20 20 |..| #{mtrah}
0830: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0840: 7c 20 52 65 70 6c 61 63 65 20 77 69 74 68 20 74 | Replace with t
0850: 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 6d he path to the m
0860: 65 67 61 74 65 73 74 20 74 65 73 74 73 75 69 74 egatest testsuit
0870: 65 20 61 72 65 61 20 7c 20 7c 20 0d 0a 7c 3d 3d e area | | ..|==
0880: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0890: 3d 3d 3d 3d 0d 0a 0d 0a 43 6f 6e 66 69 67 20 46 ====....Config F
08a0: 69 6c 65 20 53 65 74 74 69 6e 67 73 0d 0a 7e 7e ile Settings..~~
08b0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
08c0: 7e 7e 0d 0a 0d 0a 53 65 74 74 69 6e 67 73 20 69 ~~....Settings i
08d0: 6e 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 n megatest.confi
08e0: 67 0d 0a 0d 0a 43 6f 6e 66 69 67 20 46 69 6c 65 g....Config File
08f0: 20 41 64 64 69 74 69 6f 6e 61 6c 20 46 65 61 74 Additional Feat
0900: 75 72 65 73 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ures..~~~~~~~~~~
0910: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
0920: 7e 7e 7e 7e 7e 0d 0a 0d 0a 49 6e 63 6c 75 64 69 ~~~~~....Includi
0930: 6e 67 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 61 ng output from a
0940: 20 73 63 72 69 70 74 20 61 73 20 69 66 20 69 74 script as if it
0950: 20 77 61 73 20 69 6e 6c 69 6e 65 20 74 6f 20 74 was inline to t
0960: 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 3a 0d he config file:.
0970: 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...-------------
0980: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 73 ------------..[s
0990: 63 72 69 70 74 69 6e 63 20 6d 79 73 63 72 69 70 criptinc myscrip
09a0: 74 2e 73 68 5d 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d t.sh]..---------
09b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
09c0: 0d 0a 0d 0a 49 66 20 74 68 65 20 73 63 72 69 70 ....If the scrip
09d0: 74 20 6f 75 74 70 75 74 73 3a 0d 0a 0d 0a 2d 2d t outputs:....--
09e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
09f0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 69 74 65 6d 73 5d -------..[items]
0a00: 0d 0a 41 20 61 20 62 20 63 0d 0a 42 20 64 20 65 ..A a b c..B d e
0a10: 20 66 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d f..------------
0a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
0a30: 0a 54 68 65 6e 20 74 68 65 20 63 6f 6e 66 69 67 .Then the config
0a40: 20 66 69 6c 65 20 77 6f 75 6c 64 20 65 66 66 65 file would effe
0a50: 63 74 69 76 65 6c 79 20 61 70 70 65 61 72 20 74 ctively appear t
0a60: 6f 20 63 6f 6e 74 61 69 6e 20 61 6e 20 69 74 65 o contain an ite
0a70: 6d 73 20 73 65 63 74 69 6f 6e 0d 0a 65 78 61 63 ms section..exac
0a80: 74 6c 79 20 6c 69 6b 65 20 74 68 65 20 6f 75 74 tly like the out
0a90: 70 75 74 20 66 72 6f 6d 20 74 68 65 20 73 63 72 put from the scr
0aa0: 69 70 74 2e 20 54 68 69 73 20 69 73 20 75 73 65 ipt. This is use
0ab0: 66 75 6c 20 77 68 65 6e 20 64 79 6e 61 6d 69 63 ful when dynamic
0ac0: 61 6c 6c 79 0d 0a 63 72 65 61 74 69 6e 67 20 69 ally..creating i
0ad0: 74 65 6d 73 2c 20 69 74 65 6d 73 74 61 62 6c 65 tems, itemstable
0ae0: 73 20 61 6e 64 20 6f 74 68 65 72 20 63 6f 6e 66 s and other conf
0af0: 69 67 20 73 74 72 75 63 74 75 72 65 73 2e 20 59 ig structures. Y
0b00: 6f 75 20 63 61 6e 20 73 65 65 20 74 68 65 0d 0a ou can see the..
0b10: 65 78 70 61 6e 73 69 6f 6e 20 6f 66 20 74 68 65 expansion of the
0b20: 20 63 61 6c 6c 20 62 79 20 6c 6f 6f 6b 69 6e 67 call by looking
0b30: 20 69 6e 20 74 68 65 20 63 61 63 68 65 64 20 66 in the cached f
0b40: 69 6c 65 73 20 28 6c 6f 6f 6b 20 69 6e 20 79 6f iles (look in yo
0b50: 75 72 20 6c 69 6e 6b 74 72 65 65 0d 0a 66 6f 72 ur linktree..for
0b60: 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67 megatest.config
0b70: 20 61 6e 64 20 72 75 6e 63 6f 6e 66 69 67 73 2e and runconfigs.
0b80: 63 6f 6e 66 69 67 20 63 61 63 68 65 20 66 69 6c config cache fil
0b90: 65 73 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 74 es and in your t
0ba0: 65 73 74 20 72 75 6e 0d 0a 61 72 65 61 73 20 66 est run..areas f
0bb0: 6f 72 20 74 68 65 20 65 78 70 61 6e 64 65 64 20 or the expanded
0bc0: 61 6e 64 20 63 61 63 68 65 64 20 74 65 73 74 63 and cached testc
0bd0: 6f 6e 66 69 67 29 2e 0d 0a 0d 0a 57 69 6c 64 63 onfig).....Wildc
0be0: 61 72 64 73 20 61 6e 64 20 72 65 67 65 78 65 73 ards and regexes
0bf0: 20 69 6e 20 54 61 72 67 65 74 73 0d 0a 0d 0a 2d in Targets....-
0c00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0c10: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 61 2f 32 2f 62 --------..[a/2/b
0c20: 5d 0d 0a 56 41 52 31 20 56 41 4c 31 0d 0a 0d 0a ]..VAR1 VAL1....
0c30: 5b 61 2f 25 2f 62 5d 0d 0a 56 41 52 31 20 56 41 [a/%/b]..VAR1 VA
0c40: 4c 32 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d L2..------------
0c50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
0c60: 0a 57 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 3a .Will result in:
0c70: 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....------------
0c80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b -------------..[
0c90: 61 2f 32 2f 62 5d 0d 0a 56 41 52 31 20 56 41 4c a/2/b]..VAR1 VAL
0ca0: 32 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2..-------------
0cb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a ------------....
0cc0: 43 61 6e 20 75 73 65 20 65 69 74 68 65 72 20 77 Can use either w
0cd0: 69 6c 64 63 61 72 64 20 6f 66 20 22 25 22 20 6f ildcard of "%" o
0ce0: 72 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 r a regular expr
0cf0: 65 73 73 69 6f 6e 3a 0d 0a 0d 0a 2d 2d 2d 2d 2d ession:....-----
0d00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0d10: 2d 2d 2d 2d 0d 0a 5b 2f 61 62 63 2e 2a 64 65 66 ----..[/abc.*def
0d20: 2f 5d 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d /]..------------
0d30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
0d40: 0a 44 69 73 6b 20 53 70 61 63 65 20 43 68 65 63 .Disk Space Chec
0d50: 6b 73 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ks..^^^^^^^^^^^^
0d60: 5e 5e 5e 5e 5e 0d 0a 0d 0a 53 6f 6d 65 20 70 61 ^^^^^....Some pa
0d70: 72 61 6d 65 74 65 72 73 20 79 6f 75 20 63 61 6e rameters you can
0d80: 20 70 75 74 20 69 6e 20 74 68 65 20 5b 73 65 74 put in the [set
0d90: 75 70 5d 20 73 65 63 74 69 6f 6e 20 6f 66 20 6d up] section of m
0da0: 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67 3a 0d egatest.config:.
0db0: 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...-------------
0dc0: 2d 2d 2d 2d 2d 2d 0d 0a 23 20 6d 69 6e 69 6d 75 ------..# minimu
0dd0: 6d 20 73 70 61 63 65 20 72 65 71 75 69 72 65 64 m space required
0de0: 20 69 6e 20 61 20 72 75 6e 20 64 69 73 6b 20 0d in a run disk .
0df0: 0a 6d 69 6e 73 70 61 63 65 20 31 30 30 30 30 30 .minspace 100000
0e00: 30 30 0d 0a 0d 0a 23 20 6d 69 6e 69 6d 75 6d 20 00....# minimum
0e10: 73 70 61 63 65 20 72 65 71 75 69 72 65 64 20 69 space required i
0e20: 6e 20 64 62 64 69 72 3a 0d 0a 64 62 64 69 72 2d n dbdir:..dbdir-
0e30: 73 70 61 63 65 2d 72 65 71 75 69 72 65 64 20 31 space-required 1
0e40: 30 30 30 30 30 0d 0a 0d 0a 23 20 73 63 72 69 70 00000....# scrip
0e50: 74 20 74 68 61 74 20 74 61 6b 65 73 20 70 61 74 t that takes pat
0e60: 68 20 61 73 20 70 61 72 61 6d 65 74 65 72 20 61 h as parameter a
0e70: 6e 64 20 72 65 74 75 72 6e 73 20 6e 75 6d 62 65 nd returns numbe
0e80: 72 20 6f 66 20 62 79 74 65 73 20 61 76 61 69 6c r of bytes avail
0e90: 61 62 6c 65 3a 0d 0a 66 72 65 65 2d 73 70 61 63 able:..free-spac
0ea0: 65 2d 73 63 72 69 70 74 20 63 68 65 63 6b 2d 73 e-script check-s
0eb0: 70 61 63 65 2e 73 68 0d 0a 2d 2d 2d 2d 2d 2d 2d pace.sh..-------
0ec0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a ------------....
0ed0: 54 72 69 6d 20 74 72 61 69 6c 69 6e 67 20 73 70 Trim trailing sp
0ee0: 61 63 65 73 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e aces..^^^^^^^^^^
0ef0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a 2d 2d ^^^^^^^^^^....--
0f00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f10: 0d 0a 5b 63 6f 6e 66 69 67 66 3a 73 65 74 74 69 ..[configf:setti
0f20: 6e 67 73 20 74 72 69 6d 2d 74 72 61 69 6c 69 6e ngs trim-trailin
0f30: 67 2d 73 70 61 63 65 73 20 79 65 73 5d 0d 0a 2d g-spaces yes]..-
0f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0f50: 2d 0d 0a 0d 0a 4a 6f 62 20 53 75 62 6d 69 73 73 -....Job Submiss
0f60: 69 6f 6e 20 43 6f 6e 74 72 6f 6c 0d 0a 5e 5e 5e ion Control..^^^
0f70: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
0f80: 5e 5e 5e 0d 0a 0d 0a 53 75 62 6d 69 74 20 6a 6f ^^^....Submit jo
0f90: 62 73 20 74 6f 20 48 6f 73 74 20 54 79 70 65 73 bs to Host Types
0fa0: 20 62 61 73 65 64 20 6f 6e 20 54 65 73 74 20 4e based on Test N
0fb0: 61 6d 65 0d 0a 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ame..+++++++++++
0fc0: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ++++++++++++++++
0fd0: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ++++++++++++++++
0fe0: 2b 0d 0a 0d 0a 2e 49 6e 20 6d 65 67 61 74 65 73 +.....In megates
0ff0: 74 2e 63 6f 6e 66 69 67 0d 0a 2d 2d 2d 2d 2d 2d t.config..------
1000: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1010: 2d 2d 0d 0a 5b 68 6f 73 74 2d 74 79 70 65 73 5d --..[host-types]
1020: 0d 0a 67 65 6e 65 72 61 6c 20 20 20 6e 62 66 61 ..general nbfa
1030: 6b 65 0d 0a 72 65 6d 6f 74 65 20 20 20 20 62 73 ke..remote bs
1040: 75 62 0d 0a 0d 0a 5b 6c 61 75 6e 63 68 65 72 73 ub....[launchers
1050: 5d 0d 0a 72 75 6e 66 69 72 73 74 2f 73 75 6d 25 ]..runfirst/sum%
1060: 20 72 65 6d 6f 74 65 0d 0a 25 20 67 65 6e 65 72 remote..% gener
1070: 61 6c 0d 0a 0d 0a 5b 6a 6f 62 74 6f 6f 6c 73 5d al....[jobtools]
1080: 0d 0a 6c 61 75 6e 63 68 65 72 20 62 73 75 62 0d ..launcher bsub.
1090: 0a 23 20 69 66 20 64 65 66 69 6e 65 64 20 61 6e .# if defined an
10a0: 64 20 6e 6f 74 20 22 6e 6f 22 20 66 6c 65 78 69 d not "no" flexi
10b0: 2d 6c 61 75 6e 63 68 65 72 20 77 69 6c 6c 20 62 -launcher will b
10c0: 79 70 61 73 73 20 6c 61 75 6e 63 68 65 72 20 75 ypass launcher u
10d0: 6e 6c 65 73 73 20 0d 0a 23 20 74 68 65 72 65 20 nless ..# there
10e0: 69 73 20 6e 6f 20 68 6f 73 74 2d 74 79 70 65 20 is no host-type
10f0: 6d 61 74 63 68 2e 0d 0a 66 6c 65 78 69 2d 6c 61 match...flexi-la
1100: 75 6e 63 68 65 72 20 79 65 73 0d 0a 2d 2d 2d 2d uncher yes..----
1110: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1120: 2d 2d 2d 2d 0d 0a 0d 0a 68 6f 73 74 2d 74 79 70 ----....host-typ
1130: 65 73 0d 0a 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 0d 0a es..++++++++++..
1140: 0d 0a 4c 69 73 74 20 6f 66 20 68 6f 73 74 20 74 ..List of host t
1150: 79 70 65 73 20 61 6e 64 20 74 68 65 20 63 6f 6d ypes and the com
1160: 6d 61 6e 64 6c 69 6e 65 20 74 6f 20 72 75 6e 20 mandline to run
1170: 61 20 6a 6f 62 20 6f 6e 20 74 68 61 74 20 68 6f a job on that ho
1180: 73 74 20 74 79 70 65 2e 0d 0a 0d 0a 2e 68 6f 73 st type......hos
1190: 74 2d 74 79 70 65 20 3d 3e 20 6c 61 75 6e 63 68 t-type => launch
11a0: 20 63 6f 6d 6d 61 6e 64 0d 0a 2d 2d 2d 2d 2d 2d command..------
11b0: 2d 2d 2d 2d 2d 2d 0d 0a 67 65 6e 65 72 61 6c 20 ------..general
11c0: 6e 62 66 61 6b 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d nbfake..--------
11d0: 2d 2d 2d 2d 0d 0a 0d 0a 6c 61 75 6e 63 68 65 72 ----....launcher
11e0: 73 0d 0a 2b 2b 2b 2b 2b 2b 2b 2b 2b 0d 0a 0d 0a s..+++++++++....
11f0: 2e 74 65 73 74 2f 69 74 65 6d 70 61 74 68 20 3d .test/itempath =
1200: 3e 20 68 6f 73 74 2d 74 79 70 65 0d 0a 2d 2d 2d > host-type..---
1210: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 72 75 6e 66 69 ---------..runfi
1220: 72 73 74 2f 73 75 6d 25 20 72 65 6d 6f 74 65 0d rst/sum% remote.
1230: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d .------------...
1240: 0a 4d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 53 .Miscellaneous S
1250: 65 74 75 70 20 49 74 65 6d 73 0d 0a 2b 2b 2b 2b etup Items..++++
1260: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ++++++++++++++++
1270: 2b 2b 2b 2b 2b 0d 0a 0d 0a 41 74 74 65 6d 70 74 +++++....Attempt
1280: 20 74 6f 20 72 65 72 75 6e 20 74 65 73 74 73 20 to rerun tests
1290: 69 6e 20 22 53 54 55 43 4b 2f 44 45 41 44 22 2c in "STUCK/DEAD",
12a0: 20 22 6e 2f 61 22 2c 20 22 5a 45 52 4f 5f 49 54 "n/a", "ZERO_IT
12b0: 45 4d 53 22 20 73 74 61 74 65 73 2e 0d 0a 0d 0a EMS" states.....
12c0: 2e 49 6e 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e .In megatest.con
12d0: 66 69 67 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d fig..-----------
12e0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 73 65 74 75 70 5d -------..[setup]
12f0: 0d 0a 72 65 72 75 6e 73 20 35 0d 0a 2d 2d 2d 2d ..reruns 5..----
1300: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
1310: 0d 0a 52 65 70 6c 61 63 65 20 74 68 65 20 64 65 ..Replace the de
1320: 66 61 75 6c 74 20 62 6c 61 63 6b 6c 69 73 74 65 fault blackliste
1330: 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 d environment va
1340: 72 69 61 62 6c 65 73 20 77 69 74 68 20 75 73 65 riables with use
1350: 72 20 73 75 70 70 6c 69 65 64 0d 0a 6c 69 73 74 r supplied..list
1360: 2e 0d 0a 0d 0a 44 65 66 61 75 6c 74 20 6c 69 73 .....Default lis
1370: 74 3a 20 55 53 45 52 20 48 4f 4d 45 20 44 49 53 t: USER HOME DIS
1380: 50 4c 41 59 20 4c 53 5f 43 4f 4c 4f 52 53 20 58 PLAY LS_COLORS X
1390: 4b 45 59 53 59 4d 44 42 20 45 44 49 54 4f 52 20 KEYSYMDB EDITOR
13a0: 4d 41 4b 45 46 4c 41 47 53 20 4d 41 4b 45 46 20 MAKEFLAGS MAKEF
13b0: 4d 41 4b 45 4f 56 45 52 52 49 44 45 53 0d 0a 0d MAKEOVERRIDES...
13c0: 0a 2e 41 64 64 20 61 20 22 62 61 64 22 20 76 61 ..Add a "bad" va
13d0: 72 69 61 62 6c 65 20 22 50 52 4f 4d 50 54 22 20 riable "PROMPT"
13e0: 74 6f 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 to the variables
13f0: 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 63 6f that will be co
1400: 6d 6d 65 6e 74 65 64 20 6f 75 74 0d 0a 69 6e 20 mmented out..in
1410: 74 68 65 20 6d 65 67 61 74 65 73 74 2e 73 68 20 the megatest.sh
1420: 61 6e 64 20 6d 65 67 61 74 65 73 74 2e 63 73 68 and megatest.csh
1430: 20 66 69 6c 65 73 3a 0d 0a 2d 2d 2d 2d 2d 2d 2d files:..-------
1440: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 73 65 74 ----------..[set
1450: 75 70 5d 0d 0a 62 6c 61 63 6b 6c 69 73 74 76 61 up]..blacklistva
1460: 72 73 20 55 53 45 52 20 48 4f 4d 45 20 44 49 53 rs USER HOME DIS
1470: 50 4c 41 59 20 4c 53 5f 43 4f 4c 4f 52 53 20 58 PLAY LS_COLORS X
1480: 4b 45 59 53 59 4d 44 42 20 45 44 49 54 4f 52 20 KEYSYMDB EDITOR
1490: 4d 41 4b 45 46 4c 41 47 53 20 50 52 4f 4d 50 54 MAKEFLAGS PROMPT
14a0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
14b0: 2d 2d 2d 0d 0a 0d 0a 52 75 6e 20 74 69 6d 65 20 ---....Run time
14c0: 6c 69 6d 69 74 0d 0a 2b 2b 2b 2b 2b 2b 2b 2b 2b limit..+++++++++
14d0: 2b 2b 2b 2b 2b 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d +++++....-------
14e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 73 65 74 ----------..[set
14f0: 75 70 5d 0d 0a 23 20 74 68 69 73 20 77 69 6c 6c up]..# this will
1500: 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6b automatically k
1510: 69 6c 6c 20 74 68 65 20 74 65 73 74 20 69 66 20 ill the test if
1520: 69 74 20 72 75 6e 73 20 66 6f 72 20 6d 6f 72 65 it runs for more
1530: 20 74 68 61 6e 20 31 68 20 32 6d 20 61 6e 64 20 than 1h 2m and
1540: 33 73 0d 0a 72 75 6e 74 69 6d 65 6c 69 6d 20 31 3s..runtimelim 1
1550: 68 20 32 6d 20 33 73 0d 0a 2d 2d 2d 2d 2d 2d 2d h 2m 3s..-------
1560: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 54 65 ----------....Te
1570: 73 74 73 20 62 72 6f 77 73 65 72 20 76 69 65 77 sts browser view
1580: 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ..~~~~~~~~~~~~~~
1590: 7e 7e 7e 7e 0d 0a 0d 0a 54 68 65 20 74 65 73 74 ~~~~....The test
15a0: 73 20 62 72 6f 77 73 65 72 20 28 73 65 65 20 74 s browser (see t
15b0: 68 65 20 52 75 6e 20 43 6f 6e 74 72 6f 6c 20 74 he Run Control t
15c0: 61 62 20 6f 6e 20 74 68 65 20 64 61 73 68 62 6f ab on the dashbo
15d0: 61 72 64 29 20 68 61 73 20 74 77 6f 20 76 69 65 ard) has two vie
15e0: 77 73 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e ws for displayin
15f0: 67 20 74 68 65 20 74 65 73 74 73 2e 20 0d 0a 0d g the tests. ...
1600: 0a 2e 20 44 6f 74 20 28 67 72 61 70 68 76 69 7a .. Dot (graphviz
1610: 29 20 62 61 73 65 64 20 74 72 65 65 0d 0a 2e 20 ) based tree...
1620: 4e 6f 20 64 6f 74 2c 20 70 6c 61 69 6e 20 6c 69 No dot, plain li
1630: 73 74 69 6e 67 0d 0a 0d 0a 54 68 65 20 64 65 66 sting....The def
1640: 61 75 6c 74 20 69 73 20 74 68 65 20 67 72 61 70 ault is the grap
1650: 68 76 69 7a 20 62 61 73 65 64 20 74 72 65 65 20 hviz based tree
1660: 62 75 74 20 69 66 20 79 6f 75 72 20 74 65 73 74 but if your test
1670: 73 20 64 6f 6e 27 74 20 76 69 65 77 0d 0a 77 65 s don't view..we
1680: 6c 6c 20 69 6e 20 74 68 61 74 20 6d 6f 64 65 20 ll in that mode
1690: 74 68 65 6e 20 75 73 65 20 22 6e 6f 64 6f 74 22 then use "nodot"
16a0: 20 74 6f 20 74 75 72 6e 20 69 74 20 6f 66 66 2e to turn it off.
16b0: 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....------------
16c0: 2d 2d 2d 2d 2d 0d 0a 5b 73 65 74 75 70 5d 0d 0a -----..[setup]..
16d0: 6e 6f 64 6f 74 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d nodot..---------
16e0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 43 61 70 74 --------....Capt
16f0: 75 72 69 6e 67 20 54 65 73 74 20 44 61 74 61 0d uring Test Data.
1700: 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e .~~~~~~~~~~~~~~~
1710: 7e 7e 7e 7e 0d 0a 0d 0a 49 6e 20 61 20 74 65 73 ~~~~....In a tes
1720: 74 20 79 6f 75 20 63 61 6e 20 63 61 70 74 75 72 t you can captur
1730: 65 20 61 72 62 69 74 72 61 72 79 20 76 61 72 69 e arbitrary vari
1740: 61 62 6c 65 73 20 61 6e 64 20 72 6f 6c 6c 20 74 ables and roll t
1750: 68 65 6d 20 75 70 20 69 6e 20 74 68 65 0d 0a 6d hem up in the..m
1760: 65 67 61 74 65 73 74 20 64 61 74 61 62 61 73 65 egatest database
1770: 20 66 6f 72 20 76 69 65 77 69 6e 67 20 6f 6e 20 for viewing on
1780: 74 68 65 20 64 61 73 68 62 6f 61 72 64 20 6f 72 the dashboard or
1790: 20 77 65 62 20 61 70 70 2e 0d 0a 0d 0a 2e 49 6e web app......In
17a0: 20 61 20 74 65 73 74 20 61 73 20 61 20 73 63 72 a test as a scr
17b0: 69 70 74 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ipt..-----------
17c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 24 -------------..$
17d0: 4d 54 5f 4d 45 47 41 54 45 53 54 20 2d 6c 6f 61 MT_MEGATEST -loa
17e0: 64 2d 74 65 73 74 2d 64 61 74 61 20 3c 3c 20 45 d-test-data << E
17f0: 4f 46 0d 0a 66 6f 6f 2c 62 61 72 2c 20 20 20 31 OF..foo,bar, 1
1800: 2e 32 2c 20 20 31 2e 39 2c 20 3e 0d 0a 66 6f 6f .2, 1.9, >..foo
1810: 2c 72 61 62 2c 20 31 2e 30 65 39 2c 20 31 30 65 ,rab, 1.0e9, 10e
1820: 39 2c 20 31 65 39 0d 0a 66 6f 6f 2c 62 6c 61 2c 9, 1e9..foo,bla,
1830: 20 20 20 31 2e 32 2c 20 20 31 2e 39 2c 20 3c 0d 1.2, 1.9, <.
1840: 0a 66 6f 6f 2c 62 61 6c 2c 20 20 20 31 2e 32 2c .foo,bal, 1.2,
1850: 20 20 31 2e 32 2c 20 3c 20 20 20 2c 20 20 20 20 1.2, < ,
1860: 20 2c 43 68 65 63 6b 20 66 6f 72 20 6f 76 65 72 ,Check for over
1870: 6c 6f 61 64 0d 0a 66 6f 6f 2c 61 6c 62 2c 20 20 load..foo,alb,
1880: 20 31 2e 32 2c 20 20 31 2e 32 2c 20 3c 3d 20 20 1.2, 1.2, <=
1890: 2c 20 41 6d 70 73 2c 54 68 69 73 20 69 73 20 74 , Amps,This is t
18a0: 68 65 20 68 69 67 68 20 70 6f 77 65 72 20 63 69 he high power ci
18b0: 72 63 75 69 74 20 74 65 73 74 0d 0a 66 6f 6f 2c rcuit test..foo,
18c0: 61 62 6c 2c 20 20 20 31 2e 32 2c 20 20 31 2e 33 abl, 1.2, 1.3
18d0: 2c 20 30 2e 31 0d 0a 66 6f 6f 2c 62 72 61 2c 20 , 0.1..foo,bra,
18e0: 20 20 31 2e 32 2c 20 70 61 73 73 2c 20 73 69 6c 1.2, pass, sil
18f0: 6c 79 20 73 74 75 66 66 0d 0a 66 61 7a 2c 62 61 ly stuff..faz,ba
1900: 72 2c 20 20 20 20 31 30 2c 20 20 38 6d 41 2c 20 r, 10, 8mA,
1910: 20 20 20 20 2c 20 20 20 20 20 2c 22 74 68 69 73 , ,"this
1920: 20 69 73 20 61 20 63 6f 6d 6d 65 6e 74 22 0d 0a is a comment"..
1930: 45 4f 46 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d EOF..-----------
1940: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
1950: 0a 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 20 79 .Alternatively y
1960: 6f 75 20 63 61 6e 20 75 73 65 20 6c 6f 67 70 72 ou can use logpr
1970: 6f 20 74 72 69 67 67 65 72 73 20 74 6f 20 63 61 o triggers to ca
1980: 70 74 75 72 65 20 76 61 6c 75 65 73 20 61 6e 64 pture values and
1990: 20 69 6e 6a 65 63 74 20 74 68 65 6d 0d 0a 69 6e inject them..in
19a0: 74 6f 20 6d 65 67 61 74 65 73 74 20 75 73 69 6e to megatest usin
19b0: 67 20 74 68 65 20 2d 73 65 74 2d 76 61 6c 75 65 g the -set-value
19c0: 73 20 6d 65 63 68 61 6e 69 73 6d 3a 0d 0a 0d 0a s mechanism:....
19d0: 2e 4d 65 67 61 74 65 73 74 20 68 65 6c 70 20 72 .Megatest help r
19e0: 65 6c 61 74 65 64 20 74 6f 20 2d 73 65 74 2d 76 elated to -set-v
19f0: 61 6c 75 65 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d alues..---------
1a00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
1a10: 0a 54 65 73 74 20 64 61 74 61 20 63 61 70 74 75 .Test data captu
1a20: 72 65 0d 0a 20 20 2d 73 65 74 2d 76 61 6c 75 65 re.. -set-value
1a30: 73 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 s :
1a40: 75 70 64 61 74 65 20 6f 72 20 73 65 74 20 76 61 update or set va
1a50: 6c 75 65 73 20 69 6e 20 74 68 65 20 74 65 73 74 lues in the test
1a60: 64 61 74 61 20 74 61 62 6c 65 0d 0a 20 20 3a 63 data table.. :c
1a70: 61 74 65 67 6f 72 79 20 20 20 20 20 20 20 20 20 ategory
1a80: 20 20 20 20 20 20 3a 20 73 65 74 20 74 68 65 20 : set the
1a90: 63 61 74 65 67 6f 72 79 20 66 69 65 6c 64 20 28 category field (
1aa0: 6f 70 74 69 6f 6e 61 6c 29 0d 0a 20 20 3a 76 61 optional).. :va
1ab0: 72 69 61 62 6c 65 20 20 20 20 20 20 20 20 20 20 riable
1ac0: 20 20 20 20 20 3a 20 73 65 74 20 74 68 65 20 76 : set the v
1ad0: 61 72 69 61 62 6c 65 20 6e 61 6d 65 20 28 6f 70 ariable name (op
1ae0: 74 69 6f 6e 61 6c 29 0d 0a 20 20 3a 76 61 6c 75 tional).. :valu
1af0: 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e
1b00: 20 20 20 3a 20 76 61 6c 75 65 20 6d 65 61 73 75 : value measu
1b10: 72 65 64 20 28 72 65 71 75 69 72 65 64 29 0d 0a red (required)..
1b20: 20 20 3a 65 78 70 65 63 74 65 64 20 20 20 20 20 :expected
1b30: 20 20 20 20 20 20 20 20 20 20 3a 20 76 61 6c 75 : valu
1b40: 65 20 65 78 70 65 63 74 65 64 20 28 72 65 71 75 e expected (requ
1b50: 69 72 65 64 29 0d 0a 20 20 3a 74 6f 6c 20 20 20 ired).. :tol
1b60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1b70: 20 3a 20 7c 76 61 6c 75 65 2d 65 78 70 65 63 74 : |value-expect
1b80: 7c 20 3c 3d 20 74 6f 6c 20 28 72 65 71 75 69 72 | <= tol (requir
1b90: 65 64 2c 20 63 61 6e 20 62 65 20 3c 2c 20 3e 2c ed, can be <, >,
1ba0: 20 3e 3d 2c 20 3c 3d 20 6f 72 20 6e 75 6d 62 65 >=, <= or numbe
1bb0: 72 29 0d 0a 20 20 3a 75 6e 69 74 73 20 20 20 20 r).. :units
1bc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 :
1bd0: 6e 61 6d 65 20 6f 66 20 74 68 65 20 75 6e 69 74 name of the unit
1be0: 73 20 66 6f 72 20 76 61 6c 75 65 2c 20 65 78 70 s for value, exp
1bf0: 65 63 74 65 64 5f 76 61 6c 75 65 20 65 74 63 2e ected_value etc.
1c00: 20 28 6f 70 74 69 6f 6e 61 6c 29 0d 0a 2d 2d 2d (optional)..---
1c10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1c20: 2d 2d 2d 2d 2d 0d 0a 0d 0a 44 61 73 68 62 6f 61 -----....Dashboa
1c30: 72 64 20 73 65 74 74 69 6e 67 73 0d 0a 7e 7e 7e rd settings..~~~
1c40: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d ~~~~~~~~~~~~~~~.
1c50: 0a 0d 0a 2e 52 75 6e 73 20 74 61 62 20 62 75 74 ....Runs tab but
1c60: 74 6f 6e 73 2c 20 66 6f 6e 74 20 61 6e 64 20 73 tons, font and s
1c70: 69 7a 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ize..-----------
1c80: 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 64 61 73 68 62 6f -------..[dashbo
1c90: 61 72 64 5d 0d 0a 62 74 6e 2d 68 65 69 67 68 74 ard]..btn-height
1ca0: 20 78 31 34 0d 0a 62 74 6e 2d 66 6f 6e 74 73 7a x14..btn-fontsz
1cb0: 20 31 30 0d 0a 63 65 6c 6c 2d 77 69 64 74 68 20 10..cell-width
1cc0: 36 30 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 60..------------
1cd0: 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 44 61 74 61 62 61 ------....Databa
1ce0: 73 65 20 73 65 74 74 69 6e 67 73 0d 0a 7e 7e 7e se settings..~~~
1cf0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a ~~~~~~~~~~~~~~..
1d00: 0d 0a 2e 44 61 74 61 62 61 73 65 20 63 6f 6e 66 ...Database conf
1d10: 69 67 20 73 65 74 74 69 6e 67 73 20 69 6e 20 5b ig settings in [
1d20: 73 65 74 75 70 5d 20 73 65 63 74 69 6f 6e 20 6f setup] section o
1d30: 66 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 f megatest.confi
1d40: 67 0d 0a 5b 77 69 64 74 68 3d 22 37 30 25 22 2c g..[width="70%",
1d50: 63 6f 6c 73 3d 22 5e 2c 32 6d 2c 32 6d 2c 32 6d cols="^,2m,2m,2m
1d60: 22 2c 66 72 61 6d 65 3d 22 74 6f 70 62 6f 74 22 ",frame="topbot"
1d70: 2c 6f 70 74 69 6f 6e 73 3d 22 68 65 61 64 65 72 ,options="header
1d80: 22 5d 0d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d "]..|===========
1d90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 7c 56 61 ===========..|Va
1da0: 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r
1db0: 20 20 20 20 20 20 20 20 7c 20 50 75 72 70 6f 73 | Purpos
1dc0: 65 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 56 e | V
1dd0: 61 6c 69 64 20 76 61 6c 75 65 73 20 20 20 20 20 alid values
1de0: 20 20 20 20 20 20 20 7c 20 43 6f 6d 6d 65 6e 74 | Comment
1df0: 73 0d 0a 7c 64 65 6c 61 79 2d 6f 6e 2d 62 75 73 s..|delay-on-bus
1e00: 79 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 y |
1e10: 50 72 65 76 65 6e 74 20 63 6f 6e 63 75 72 72 65 Prevent concurre
1e20: 6e 74 20 61 63 63 65 73 73 20 69 73 73 75 65 73 nt access issues
1e30: 20 7c 20 79 65 73 5c 7c 6e 6f 20 6f 72 20 6e 6f | yes\|no or no
1e40: 74 20 64 65 66 69 6e 65 64 20 7c 20 44 65 66 61 t defined | Defa
1e50: 75 6c 74 3d 6e 6f 2c 20 6d 61 79 20 68 65 6c 70 ult=no, may help
1e60: 20 6f 6e 20 73 6f 6d 65 20 6e 65 74 77 6f 72 6b on some network
1e70: 20 66 69 6c 65 20 73 79 73 74 65 6d 73 2c 20 6d file systems, m
1e80: 61 79 20 73 6c 6f 77 20 74 68 69 6e 67 73 20 64 ay slow things d
1e90: 6f 77 6e 20 61 6c 73 6f 2e 0d 0a 7c 66 61 73 74 own also...|fast
1ea0: 73 74 61 72 74 09 09 20 20 20 7c 20 41 6c 6c 20 start.. | All
1eb0: 64 69 72 65 63 74 20 66 69 6c 65 20 61 63 63 65 direct file acce
1ec0: 73 73 20 74 6f 20 73 71 6c 69 74 65 20 64 62 20 ss to sqlite db
1ed0: 66 69 6c 65 73 20 7c 20 79 65 73 5c 7c 6e 6f 20 files | yes\|no
1ee0: 6f 72 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 7c or not defined |
1ef0: 20 44 65 66 61 75 6c 74 3d 79 65 73 2c 20 73 75 Default=yes, su
1f00: 67 67 65 73 74 20 6e 6f 20 66 6f 72 20 63 65 6e ggest no for cen
1f10: 74 72 61 6c 20 61 75 74 6f 6d 61 74 65 64 20 73 tral automated s
1f20: 79 73 74 65 6d 73 20 61 6e 64 20 79 65 73 20 66 ystems and yes f
1f30: 6f 72 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 or interactive u
1f40: 73 65 0d 0a 7c 68 6f 6d 65 68 6f 73 74 20 09 09 se..|homehost ..
1f50: 20 20 20 7c 20 53 74 61 72 74 20 73 65 72 76 65 | Start serve
1f60: 72 73 20 6f 6e 20 74 68 69 73 20 68 6f 73 74 20 rs on this host
1f70: 7c 20 3c 68 6f 73 74 6e 61 6d 65 3e 20 7c 20 44 | <hostname> | D
1f80: 65 66 61 75 6c 74 73 20 74 6f 20 6c 6f 63 61 6c efaults to local
1f90: 20 68 6f 73 74 0d 0a 7c 68 6f 73 74 6e 61 6d 65 host..|hostname
1fa0: 09 09 20 20 20 7c 20 48 6f 73 74 6e 61 6d 65 20 .. | Hostname
1fb0: 74 6f 20 62 69 6e 64 20 74 6f 20 7c 20 3c 68 6f to bind to | <ho
1fc0: 73 74 6e 61 6d 65 3e 5c 7c 2d 09 20 20 7c 20 4f stname>\|-. | O
1fd0: 6e 20 6d 75 6c 74 69 2d 68 6f 6d 65 64 20 68 6f n multi-homed ho
1fe0: 73 74 73 20 61 6c 6c 6f 77 73 20 62 69 6e 64 69 sts allows bindi
1ff0: 6e 67 20 74 6f 20 73 70 65 63 69 66 69 63 20 68 ng to specific h
2000: 6f 73 74 6e 61 6d 65 0d 0a 7c 6c 6f 77 70 6f 72 ostname..|lowpor
2010: 74 09 09 20 20 20 7c 20 53 74 61 72 74 20 73 65 t.. | Start se
2020: 61 72 63 68 69 6e 67 20 66 6f 72 20 61 20 70 6f arching for a po
2030: 72 74 20 61 74 20 74 68 69 73 20 70 6f 72 74 6e rt at this portn
2040: 75 6d 7c 20 33 32 37 36 38 20 7c 20 0d 0a 7c 72 um| 32768 | ..|r
2050: 65 71 75 69 72 65 64 09 09 20 20 20 7c 20 53 65 equired.. | Se
2060: 72 76 65 72 20 72 65 71 75 69 72 65 64 20 20 20 rver required
2070: 20 7c 20 79 65 73 5c 7c 6e 6f 20 6f 72 20 6e 6f | yes\|no or no
2080: 74 20 64 65 66 69 6e 65 64 20 20 7c 20 44 65 66 t defined | Def
2090: 61 75 6c 74 3d 6e 6f 2c 20 66 6f 72 63 65 20 73 ault=no, force s
20a0: 74 61 72 74 20 6f 66 20 73 65 72 76 65 72 20 61 tart of server a
20b0: 6c 77 61 79 73 0d 0a 7c 73 65 72 76 65 72 2d 71 lways..|server-q
20c0: 75 65 72 79 2d 74 68 72 65 73 68 6f 6c 64 09 20 uery-threshold.
20d0: 20 20 7c 20 53 74 61 72 74 20 73 65 72 76 65 72 | Start server
20e0: 20 77 68 65 6e 20 71 75 65 72 69 65 73 20 74 61 when queries ta
20f0: 6b 65 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 74 ke longer than t
2100: 68 69 73 20 7c 20 6e 75 6d 62 65 72 20 69 6e 20 his | number in
2110: 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 7c 20 44 milliseconds | D
2120: 65 66 61 75 6c 74 3d 33 30 30 0d 0a 7c 74 69 6d efault=300..|tim
2130: 65 6f 75 74 09 09 20 20 20 7c 20 68 74 74 70 20 eout.. | http
2140: 61 70 69 20 74 69 6d 65 6f 75 74 20 09 7c 20 6e api timeout .| n
2150: 75 6d 62 65 72 20 69 6e 20 68 6f 75 72 73 09 20 umber in hours.
2160: 20 7c 20 44 65 66 61 75 6c 74 20 69 73 20 31 20 | Default is 1
2170: 6d 69 6e 75 74 65 2c 20 64 6f 20 6e 6f 74 20 63 minute, do not c
2180: 68 61 6e 67 65 0d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d hange..|========
2190: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a ==============..
21a0: 0d 0a 54 68 65 20 74 65 73 74 63 6f 6e 66 69 67 ..The testconfig
21b0: 20 46 69 6c 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d File..---------
21c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 53 65 ----------....Se
21d0: 74 75 70 20 73 65 63 74 69 6f 6e 0d 0a 7e 7e 7e tup section..~~~
21e0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 48 65 ~~~~~~~~~~....He
21f0: 61 64 65 72 0d 0a 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a ader..^^^^^^....
2200: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2210: 2d 2d 2d 0d 0a 5b 73 65 74 75 70 5d 0d 0a 2d 2d ---..[setup]..--
2220: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2230: 2d 0d 0a 0d 0a 54 68 65 20 72 75 6e 73 63 72 69 -....The runscri
2240: 70 74 20 6d 65 74 68 6f 64 20 69 73 20 61 20 62 pt method is a b
2250: 72 75 74 65 20 66 6f 72 63 65 20 77 61 79 20 74 rute force way t
2260: 6f 20 72 75 6e 20 73 63 72 69 70 74 73 20 77 68 o run scripts wh
2270: 65 72 65 20 74 68 65 0d 0a 75 73 65 72 20 69 73 ere the..user is
2280: 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 responsible for
2290: 20 73 65 74 74 69 6e 67 20 53 54 41 54 45 20 61 setting STATE a
22a0: 6e 64 20 53 54 41 54 55 53 0d 0a 0d 0a 2d 2d 2d nd STATUS....---
22b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
22c0: 0d 0a 72 75 6e 73 63 72 69 70 74 20 6d 61 69 6e ..runscript main
22d0: 2e 63 73 68 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .csh..----------
22e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 52 65 71 ---------....Req
22f0: 75 69 72 65 6d 65 6e 74 73 20 73 65 63 74 69 6f uirements sectio
2300: 6e 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e n..~~~~~~~~~~~~~
2310: 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 2e 48 65 61 64 ~~~~~~~.....Head
2320: 65 72 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d er..------------
2330: 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 72 65 71 75 69 72 -------..[requir
2340: 65 6d 65 6e 74 73 5d 0d 0a 2d 2d 2d 2d 2d 2d 2d ements]..-------
2350: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a ------------....
2360: 57 61 69 74 20 6f 6e 20 4f 74 68 65 72 20 54 65 Wait on Other Te
2370: 73 74 73 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e sts..^^^^^^^^^^^
2380: 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a 2d 2d 2d 2d ^^^^^^^^....----
2390: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
23a0: 0a 23 20 41 20 6e 6f 72 6d 61 6c 20 77 61 69 74 .# A normal wait
23b0: 6f 6e 20 77 61 69 74 73 20 66 6f 72 20 74 68 65 on waits for the
23c0: 20 70 72 69 6f 72 20 74 65 73 74 73 20 74 6f 20 prior tests to
23d0: 62 65 20 43 4f 4d 50 4c 45 54 45 44 20 0d 0a 23 be COMPLETED ..#
23e0: 20 61 6e 64 20 50 41 53 53 2c 20 43 48 45 43 4b and PASS, CHECK
23f0: 20 6f 72 20 57 41 49 56 45 44 0d 0a 77 61 69 74 or WAIVED..wait
2400: 6f 6e 20 74 65 73 74 31 20 74 65 73 74 32 0d 0a on test1 test2..
2410: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2420: 2d 2d 2d 0d 0a 0d 0a 4d 6f 64 65 0d 0a 5e 5e 5e ---....Mode..^^^
2430: 5e 0d 0a 0d 0a 54 68 65 20 64 65 66 61 75 6c 74 ^....The default
2440: 20 28 69 2e 65 2e 20 69 66 20 6d 6f 64 65 20 69 (i.e. if mode i
2450: 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 29 s not specified)
2460: 20 69 73 20 6e 6f 72 6d 61 6c 2e 20 41 6c 6c 20 is normal. All
2470: 70 72 65 2d 64 65 70 65 6e 64 65 6e 74 20 74 65 pre-dependent te
2480: 73 74 73 0d 0a 6d 75 73 74 20 62 65 20 43 4f 4d sts..must be COM
2490: 50 4c 45 54 45 44 20 61 6e 64 20 50 41 53 53 2c PLETED and PASS,
24a0: 20 43 48 45 43 4b 20 6f 72 20 57 41 49 56 45 44 CHECK or WAIVED
24b0: 20 62 65 66 6f 72 65 20 74 68 65 20 74 65 73 74 before the test
24c0: 20 77 69 6c 6c 20 73 74 61 72 74 0d 0a 0d 0a 2d will start....-
24d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
24e0: 2d 2d 0d 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 --..[requirement
24f0: 73 5d 0d 0a 6d 6f 64 65 20 20 20 6e 6f 72 6d 61 s]..mode norma
2500: 6c 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d l..-------------
2510: 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 54 68 65 20 74 6f ------....The to
2520: 70 6c 65 76 65 6c 20 6d 6f 64 65 20 72 65 71 75 plevel mode requ
2530: 69 72 65 73 20 6f 6e 6c 79 20 74 68 61 74 20 74 ires only that t
2540: 68 65 20 70 72 69 6f 72 20 74 65 73 74 73 20 61 he prior tests a
2550: 72 65 20 43 4f 4d 50 4c 45 54 45 44 2e 0d 0a 0d re COMPLETED....
2560: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
2570: 2d 2d 2d 2d 0d 0a 5b 72 65 71 75 69 72 65 6d 65 ----..[requireme
2580: 6e 74 73 5d 0d 0a 6d 6f 64 65 20 74 6f 70 6c 65 nts]..mode tople
2590: 76 65 6c 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d vel..-----------
25a0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 41 20 69 74 --------....A it
25b0: 65 6d 20 62 61 73 65 64 20 77 61 69 74 6f 6e 20 em based waiton
25c0: 77 69 6c 6c 20 73 74 61 72 74 20 69 74 65 6d 73 will start items
25d0: 20 69 6e 20 61 20 74 65 73 74 20 77 68 65 6e 20 in a test when
25e0: 74 68 65 20 73 61 6d 65 2d 6e 61 6d 65 64 0d 0a the same-named..
25f0: 69 74 65 6d 20 69 73 20 43 4f 4d 50 4c 45 54 45 item is COMPLETE
2600: 44 20 61 6e 64 20 50 41 53 53 2c 20 43 48 45 43 D and PASS, CHEC
2610: 4b 20 6f 72 20 57 41 49 56 45 44 20 69 6e 20 74 K or WAIVED in t
2620: 68 65 20 70 72 69 6f 72 20 74 65 73 74 2e 20 54 he prior test. T
2630: 68 69 73 0d 0a 77 61 73 20 68 69 73 74 6f 72 69 his..was histori
2640: 63 61 6c 6c 79 20 63 61 6c 6c 65 64 20 22 69 74 cally called "it
2650: 65 6d 77 61 69 74 22 20 6d 6f 64 65 2e 20 54 68 emwait" mode. Th
2660: 65 20 74 65 72 6d 73 20 22 69 74 65 6d 77 61 69 e terms "itemwai
2670: 74 22 20 61 6e 64 0d 0a 22 69 74 65 6d 6d 61 74 t" and.."itemmat
2680: 63 68 22 20 61 72 65 20 73 79 6e 6f 6e 79 6d 73 ch" are synonyms
2690: 2e 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .....-----------
26a0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 72 65 71 75 69 --------..[requi
26b0: 72 65 6d 65 6e 74 73 5d 0d 0a 6d 6f 64 65 20 69 rements]..mode i
26c0: 74 65 6d 6d 61 74 63 68 0d 0a 2d 2d 2d 2d 2d 2d temmatch..------
26d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
26e0: 0a 4f 76 65 72 72 69 64 69 6e 67 20 45 6e 76 69 .Overriding Envi
26f0: 72 6f 6d 65 6e 74 20 56 61 72 69 61 62 6c 65 73 roment Variables
2700: 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ..~~~~~~~~~~~~~~
2710: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
2720: 7e 0d 0a 0d 0a 4f 76 65 72 72 69 64 65 20 76 61 ~....Override va
2730: 72 69 61 62 6c 65 73 20 62 65 66 6f 72 65 20 73 riables before s
2740: 74 61 72 74 69 6e 67 20 74 68 65 20 74 65 73 74 tarting the test
2750: 2e 20 43 61 6e 20 69 6e 63 6c 75 64 65 20 66 69 . Can include fi
2760: 6c 65 73 20 28 70 65 72 68 61 70 73 20 67 65 6e les (perhaps gen
2770: 65 72 61 74 65 64 20 62 79 20 6d 65 67 61 74 65 erated by megate
2780: 73 74 20 2d 65 6e 76 64 65 6c 74 61 20 6f 72 20 st -envdelta or
2790: 73 69 6d 69 6c 61 72 29 2e 0d 0a 0d 0a 2d 2d 2d similar).....---
27a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
27b0: 2d 0d 0a 5b 70 72 65 2d 6c 61 75 6e 63 68 2d 65 -..[pre-launch-e
27c0: 6e 76 2d 76 61 72 73 5d 0d 0a 56 41 52 31 20 76 nv-vars]..VAR1 v
27d0: 61 6c 75 65 31 0d 0a 0d 0a 23 20 47 65 74 20 73 alue1....# Get s
27e0: 6f 6d 65 20 67 65 6e 65 72 61 74 65 64 20 73 65 ome generated se
27f0: 74 74 69 6e 67 73 0d 0a 5b 69 6e 63 6c 75 64 65 ttings..[include
2800: 20 2e 2e 2f 67 65 6e 65 72 61 74 65 64 2d 76 61 ../generated-va
2810: 72 73 2e 63 6f 6e 66 69 67 5d 0d 0a 0d 0a 23 20 rs.config]....#
2820: 55 73 65 20 74 68 69 73 20 74 72 69 63 6b 20 74 Use this trick t
2830: 6f 20 75 6e 73 65 74 20 76 61 72 69 61 62 6c 65 o unset variable
2840: 73 0d 0a 23 7b 73 63 68 65 6d 65 20 28 75 6e 73 s..#{scheme (uns
2850: 65 74 65 6e 76 20 22 46 4f 4f 42 41 52 22 29 7d etenv "FOOBAR")}
2860: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
2870: 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 49 74 65 6d 6d 61 ------....Itemma
2880: 70 20 48 61 6e 64 6c 69 6e 67 0d 0a 7e 7e 7e 7e p Handling..~~~~
2890: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a ~~~~~~~~~~~~....
28a0: 46 6f 72 20 63 61 73 65 73 20 77 65 72 65 20 74 For cases were t
28b0: 68 65 20 64 65 70 65 6e 64 65 6e 74 20 74 65 73 he dependent tes
28c0: 74 20 68 61 73 20 61 20 73 69 6d 69 6c 61 72 20 t has a similar
28d0: 62 75 74 20 6e 6f 74 20 69 64 65 6e 74 69 63 61 but not identica
28e0: 6c 0d 0a 69 74 65 6d 70 61 74 68 20 74 6f 20 74 l..itempath to t
28f0: 68 65 20 64 6f 77 6e 73 74 72 65 61 6d 20 74 65 he downstream te
2900: 73 74 20 61 6e 20 69 74 65 6d 6d 61 70 20 63 61 st an itemmap ca
2910: 6e 20 61 6c 6c 6f 77 20 66 6f 72 20 69 74 65 6d n allow for item
2920: 6d 61 74 63 68 0d 0a 6d 6f 64 65 0d 0a 0d 0a 2e match..mode.....
2930: 65 78 61 6d 70 6c 65 20 66 6f 72 20 72 65 6d 6f example for remo
2940: 76 69 6e 67 20 70 61 72 74 20 6f 66 20 69 74 65 ving part of ite
2950: 6d 6d 61 70 20 66 6f 72 20 77 61 69 74 6f 6e 20 mmap for waiton
2960: 74 65 73 74 20 28 65 67 3a 20 69 74 65 6d 20 2b test (eg: item +
2970: 66 6f 6f 2d 78 2f 62 61 72 2b 20 64 65 70 65 6e foo-x/bar+ depen
2980: 64 73 20 6f 6e 20 77 61 69 74 6f 6e 27 73 20 69 ds on waiton's i
2990: 74 65 6d 20 2b 79 2f 62 61 72 2b 29 0d 0a 2d 2d tem +y/bar+)..--
29a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
29b0: 2d 0d 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 -..[requirements
29c0: 5d 0d 0a 6d 6f 64 65 20 69 74 65 6d 77 61 69 74 ]..mode itemwait
29d0: 0d 0a 23 20 69 74 65 6d 6d 61 70 20 3c 69 74 65 ..# itemmap <ite
29e0: 6d 20 70 61 74 74 65 72 6e 20 66 6f 72 20 74 68 m pattern for th
29f0: 69 73 20 74 65 73 74 3e 20 20 3c 69 74 65 6d 20 is test> <item
2a00: 72 65 70 6c 61 63 65 6d 65 6e 74 20 70 61 74 74 replacement patt
2a10: 65 72 6e 20 66 6f 72 20 77 61 69 74 6f 6e 20 74 ern for waiton t
2a20: 65 73 74 3e 0d 0a 69 74 65 6d 6d 61 70 20 2e 2a est>..itemmap .*
2a30: 78 2f 20 79 2f 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d x/ y/....-------
2a40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a ------------....
2a50: 2e 65 78 61 6d 70 6c 65 20 66 6f 72 20 72 65 6d .example for rem
2a60: 6f 76 69 6e 67 20 70 61 72 74 20 6f 66 20 69 74 oving part of it
2a70: 65 6d 6d 61 70 20 66 6f 72 20 77 61 69 74 6f 6e emmap for waiton
2a80: 20 74 65 73 74 20 28 65 67 3a 20 69 74 65 6d 20 test (eg: item
2a90: 2b 66 6f 6f 2f 62 61 72 2f 62 61 7a 2b 20 69 6e +foo/bar/baz+ in
2aa0: 20 74 68 69 73 20 74 65 73 74 20 64 65 70 65 6e this test depen
2ab0: 64 73 20 6f 6e 20 77 61 69 74 6f 6e 27 73 20 69 ds on waiton's i
2ac0: 74 65 6d 20 2b 62 61 7a 2b 29 0d 0a 2d 2d 2d 2d tem +baz+)..----
2ad0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
2ae0: 0a 0d 0a 23 20 23 23 20 70 61 74 74 65 72 6e 20 ...# ## pattern
2af0: 72 65 70 6c 61 63 65 6d 65 6e 74 20 6e 6f 74 65 replacement note
2b00: 73 0d 0a 23 0d 0a 23 20 23 23 20 45 78 61 6d 70 s..#..# ## Examp
2b10: 6c 65 0d 0a 23 20 23 23 20 52 65 6d 6f 76 65 20 le..# ## Remove
2b20: 65 76 65 72 79 74 68 69 6e 67 20 75 70 20 74 6f everything up to
2b30: 20 74 68 65 20 6c 61 73 74 20 2f 0d 0a 5b 72 65 the last /..[re
2b40: 71 75 69 72 65 6d 65 6e 74 73 5d 0d 0a 6d 6f 64 quirements]..mod
2b50: 65 20 69 74 65 6d 77 61 69 74 0d 0a 23 20 69 74 e itemwait..# it
2b60: 65 6d 6d 61 70 20 3c 69 74 65 6d 20 70 61 74 74 emmap <item patt
2b70: 65 72 6e 20 66 6f 72 20 74 68 69 73 20 74 65 73 ern for this tes
2b80: 74 3e 20 3c 6e 6f 74 68 69 6e 67 20 68 65 72 65 t> <nothing here
2b90: 20 69 6e 64 69 63 61 74 65 73 20 72 65 6d 6f 76 indicates remov
2ba0: 61 6c 3e 0d 0a 69 74 65 6d 6d 61 70 20 2e 2a 2f al>..itemmap .*/
2bb0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
2bc0: 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e 65 78 61 6d 70 6c -----.....exampl
2bd0: 65 20 72 65 70 6c 61 63 69 6e 67 20 70 61 72 74 e replacing part
2be0: 20 6f 66 20 69 74 65 6d 6d 61 70 20 66 6f 72 20 of itemmap for
2bf0: 28 65 67 3a 20 69 74 65 6d 20 2b 66 6f 6f 2f 31 (eg: item +foo/1
2c00: 32 33 34 2b 20 77 69 6c 6c 20 69 6d 70 6c 79 20 234+ will imply
2c10: 77 61 69 74 6f 6e 27 73 20 69 74 65 6d 20 2b 62 waiton's item +b
2c20: 61 72 2f 31 32 33 34 2b 29 0d 0a 2d 2d 2d 2d 2d ar/1234+)..-----
2c30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
2c40: 0d 0a 23 0d 0a 23 20 23 23 20 45 78 61 6d 70 6c ..#..# ## Exampl
2c50: 65 0d 0a 23 20 23 23 20 52 65 70 6c 61 63 65 20 e..# ## Replace
2c60: 66 6f 6f 2f 20 77 69 74 68 20 62 61 72 2f 0d 0a foo/ with bar/..
2c70: 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 5d 0d 0a [requirements]..
2c80: 6d 6f 64 65 20 69 74 65 6d 77 61 69 74 0d 0a 23 mode itemwait..#
2c90: 20 69 74 65 6d 6d 61 70 20 3c 69 74 65 6d 20 70 itemmap <item p
2ca0: 61 74 74 65 72 6e 20 66 6f 72 20 74 68 69 73 20 attern for this
2cb0: 74 65 73 74 3e 20 20 3c 69 74 65 6d 20 72 65 70 test> <item rep
2cc0: 6c 61 63 65 6d 65 6e 74 20 70 61 74 74 65 72 6e lacement pattern
2cd0: 20 66 6f 72 20 77 61 69 74 6f 6e 20 74 65 73 74 for waiton test
2ce0: 3e 0d 0a 69 74 65 6d 6d 61 70 20 66 6f 6f 2f 20 >..itemmap foo/
2cf0: 62 61 72 2f 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d bar/....--------
2d00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e -----------.....
2d10: 65 78 61 6d 70 6c 65 20 66 6f 72 20 62 61 63 6b example for back
2d20: 72 65 66 65 72 65 6e 63 65 20 28 65 67 3a 20 69 reference (eg: i
2d30: 74 65 6d 20 2b 66 6f 6f 32 33 2f 74 68 75 64 2b tem +foo23/thud+
2d40: 20 77 69 6c 6c 20 69 6d 70 6c 79 20 77 61 69 74 will imply wait
2d50: 6f 6e 27 73 20 69 74 65 6d 20 2b 6e 75 6d 2d 32 on's item +num-2
2d60: 33 2f 62 61 72 2f 74 68 75 64 2b 0d 0a 2d 2d 2d 3/bar/thud+..---
2d70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2d80: 0d 0a 23 0d 0a 23 20 23 23 20 45 78 61 6d 70 6c ..#..# ## Exampl
2d90: 65 0d 0a 23 20 23 23 20 63 61 6e 20 75 73 65 20 e..# ## can use
2da0: 5c 7b 6e 75 6d 62 65 72 7d 20 69 6e 20 72 65 70 \{number} in rep
2db0: 6c 61 63 65 6d 65 6e 74 20 70 61 74 74 65 72 6e lacement pattern
2dc0: 20 74 6f 20 62 61 63 6b 72 65 66 65 72 65 6e 63 to backreferenc
2dd0: 65 20 61 20 28 63 61 70 74 75 72 65 29 20 66 72 e a (capture) fr
2de0: 6f 6d 20 6d 61 74 63 68 69 6e 67 20 70 61 74 74 om matching patt
2df0: 65 72 6e 20 73 69 6d 69 6c 61 72 20 74 6f 20 73 ern similar to s
2e00: 65 64 20 6f 72 20 70 65 72 6c 0d 0a 5b 72 65 71 ed or perl..[req
2e10: 75 69 72 65 6d 65 6e 74 73 5d 0d 0a 6d 6f 64 65 uirements]..mode
2e20: 20 69 74 65 6d 77 61 69 74 0d 0a 23 20 69 74 65 itemwait..# ite
2e30: 6d 6d 61 70 20 3c 69 74 65 6d 20 70 61 74 74 65 mmap <item patte
2e40: 72 6e 20 66 6f 72 20 74 68 69 73 20 74 65 73 74 rn for this test
2e50: 3e 20 20 3c 69 74 65 6d 20 72 65 70 6c 61 63 65 > <item replace
2e60: 6d 65 6e 74 20 70 61 74 74 65 72 6e 20 66 6f 72 ment pattern for
2e70: 20 77 61 69 74 6f 6e 20 74 65 73 74 3e 0d 0a 69 waiton test>..i
2e80: 74 65 6d 6d 61 70 20 66 6f 6f 28 5c 64 2b 29 2f temmap foo(\d+)/
2e90: 20 6e 75 6d 2d 5c 31 2f 62 61 72 2f 0d 0a 0d 0a num-\1/bar/....
2ea0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2eb0: 2d 2d 2d 0d 0a 0d 0a 2e 65 78 61 6d 70 6c 65 20 ---.....example
2ec0: 6d 75 6c 74 69 70 6c 65 20 69 74 65 6d 6d 61 70 multiple itemmap
2ed0: 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d s..-------------
2ee0: 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 23 20 6d 75 6c 74 ------....# mult
2ef0: 69 2d 6c 69 6e 65 3b 20 6d 61 74 63 68 65 73 20 i-line; matches
2f00: 61 72 65 20 61 70 70 6c 69 65 64 20 69 6e 20 74 are applied in t
2f10: 68 65 20 6c 69 73 74 65 64 20 6f 72 64 65 72 0d he listed order.
2f20: 0a 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 .# The following
2f30: 20 77 6f 75 6c 64 20 6d 61 70 3a 0d 0a 23 20 20 would map:..#
2f40: 20 61 31 32 33 62 33 32 31 20 74 6f 20 62 33 32 a123b321 to b32
2f50: 31 66 6f 6f 61 31 32 33 20 74 68 65 6e 20 74 6f 1fooa123 then to
2f60: 20 33 32 31 66 6f 6f 61 31 32 33 70 0d 0a 23 0d 321fooa123p..#.
2f70: 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 5d 0d .[requirements].
2f80: 0a 69 74 65 6d 6d 61 70 20 28 61 5c 64 2b 29 28 .itemmap (a\d+)(
2f90: 62 5c 64 2b 29 20 5c 32 66 6f 6f 5c 31 0d 0a 20 b\d+) \2foo\1..
2fa0: 20 62 28 2e 2a 29 20 5c 31 70 0d 0a 2d 2d 2d 2d b(.*) \1p..----
2fb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
2fc0: 0a 0d 0a 0d 0a 43 6f 6d 70 6c 65 78 20 6d 61 70 .....Complex map
2fd0: 70 69 6e 67 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ping..^^^^^^^^^^
2fe0: 5e 5e 5e 5e 5e 0d 0a 43 6f 6d 70 6c 65 78 20 6d ^^^^^..Complex m
2ff0: 61 70 70 69 6e 67 73 20 63 61 6e 20 62 65 20 68 appings can be h
3000: 61 6e 64 6c 65 64 20 77 69 74 68 20 61 20 73 65 andled with a se
3010: 70 61 72 61 74 65 20 5b 69 74 65 6d 6d 61 70 5d parate [itemmap]
3020: 20 73 65 63 74 69 6f 6e 20 28 69 6e 73 74 65 61 section (instea
3030: 64 20 69 66 20 61 6e 20 69 74 65 6d 6d 61 70 20 d if an itemmap
3040: 6c 69 6e 65 20 69 6e 20 74 68 65 20 5b 72 65 71 line in the [req
3050: 75 69 72 65 6d 65 6e 74 73 5d 20 73 65 63 74 69 uirements] secti
3060: 6f 6e 29 0d 0a 0d 0a 45 61 63 68 20 6c 69 6e 65 on)....Each line
3070: 20 69 6e 20 61 6e 20 69 74 65 6d 6d 61 70 20 73 in an itemmap s
3080: 65 63 74 69 6f 6e 20 73 74 61 72 74 73 20 77 69 ection starts wi
3090: 74 68 20 61 20 77 61 69 74 6f 6e 20 74 65 73 74 th a waiton test
30a0: 20 6e 61 6d 65 20 66 6f 6c 6c 6f 77 65 64 20 62 name followed b
30b0: 79 20 61 6e 20 69 74 65 6d 6d 61 70 20 65 78 70 y an itemmap exp
30c0: 72 65 73 73 69 6f 6e 0d 0a 0d 0a 2e 65 67 3a 20 ression.....eg:
30d0: 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 The following ca
30e0: 75 73 65 73 20 77 61 69 74 6f 6e 20 74 65 73 74 uses waiton test
30f0: 20 41 20 69 74 65 6d 20 2b 62 61 72 2f 31 32 33 A item +bar/123
3100: 34 2b 20 74 6f 20 72 75 6e 20 77 68 65 6e 20 6f 4+ to run when o
3110: 75 72 20 74 65 73 74 27 73 20 2b 66 6f 6f 2f 31 ur test's +foo/1
3120: 32 33 34 2b 20 69 74 65 6d 20 69 73 20 72 65 71 234+ item is req
3130: 75 65 73 74 65 64 20 61 73 20 77 65 6c 6c 20 61 uested as well a
3140: 73 20 63 61 75 73 69 6e 67 20 77 61 69 74 6f 6e s causing waiton
3150: 20 74 65 73 74 20 42 27 73 20 2b 62 6c 61 68 2b test B's +blah+
3160: 20 69 74 65 6d 20 74 6f 20 72 75 6e 20 77 68 65 item to run whe
3170: 6e 20 6f 75 72 20 74 65 73 74 27 73 20 2b 73 74 n our test's +st
3180: 75 66 66 2f 62 6c 61 68 2b 20 69 74 65 6d 20 69 uff/blah+ item i
3190: 73 20 72 65 71 75 65 73 74 65 64 0d 0a 2d 2d 2d s requested..---
31a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 69 74 -----------..[it
31b0: 65 6d 6d 61 70 5d 0d 0a 41 20 66 6f 6f 2f 20 62 emmap]..A foo/ b
31c0: 61 72 2f 0d 0a 42 20 73 74 75 66 66 2f 0d 0a 2d ar/..B stuff/..-
31d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
31e0: 0a 0d 0a 43 6f 6d 70 6c 65 78 20 6d 61 70 70 69 ...Complex mappi
31f0: 6e 67 20 65 78 61 6d 70 6c 65 0d 0a 5e 5e 5e 5e ng example..^^^^
3200: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
3210: 5e 5e 5e 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 20 69 6d ^^^........// im
3220: 61 67 65 3a 3a 69 74 65 6d 6d 61 70 2e 70 6e 67 age::itemmap.png
3230: 5b 5d 0d 0a 69 6d 61 67 65 3a 3a 63 6f 6d 70 6c []..image::compl
3240: 65 78 2d 69 74 65 6d 6d 61 70 2e 70 6e 67 5b 5d ex-itemmap.png[]
3250: 0d 0a 0d 0a 0d 0a 57 65 20 61 63 63 6f 6d 70 6c ......We accompl
3260: 69 73 68 20 74 68 69 73 20 62 79 20 63 6f 6e 66 ish this by conf
3270: 69 67 75 72 69 6e 67 20 74 68 65 20 74 65 73 74 iguring the test
3280: 63 6f 6e 66 69 67 73 20 6f 66 20 6f 75 72 20 74 configs of our t
3290: 65 73 74 73 20 43 20 44 20 61 6e 64 20 45 20 61 ests C D and E a
32a0: 73 20 66 6f 6c 6c 6f 77 73 3a 0d 0a 0d 0a 2e 54 s follows:.....T
32b0: 65 73 74 63 6f 6e 66 69 67 20 66 6f 72 20 54 65 estconfig for Te
32c0: 73 74 20 45 20 68 61 73 0d 0a 2d 2d 2d 2d 2d 2d st E has..------
32d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
32e0: 0d 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 5d ..[requirements]
32f0: 0d 0a 77 61 69 74 6f 6e 20 43 0d 0a 69 74 65 6d ..waiton C..item
3300: 6d 61 70 20 28 5c 64 2b 29 2f 72 65 73 20 5c 31 map (\d+)/res \1
3310: 2f 62 62 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d /bb..-----------
3320: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e -----------.....
3330: 54 65 73 74 63 6f 6e 66 69 67 20 66 6f 72 20 54 Testconfig for T
3340: 65 73 74 20 44 20 68 61 73 0d 0a 2d 2d 2d 2d 2d est D has..-----
3350: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3360: 2d 0d 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 -..[requirements
3370: 5d 0d 0a 77 61 69 74 6f 6e 20 43 0d 0a 69 74 65 ]..waiton C..ite
3380: 6d 6d 61 70 20 28 5c 64 2b 29 2f 72 65 73 20 5c mmap (\d+)/res \
3390: 31 2f 61 61 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 1/aa..----------
33a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a ------------....
33b0: 2e 54 65 73 74 63 6f 6e 66 69 67 20 66 6f 72 20 .Testconfig for
33c0: 54 65 73 74 20 43 20 68 61 73 0d 0a 2d 2d 2d 2d Test C has..----
33d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
33e0: 2d 2d 0d 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 --..[requirement
33f0: 73 5d 0d 0a 77 61 69 74 6f 6e 20 41 20 42 0d 0a s]..waiton A B..
3400: 0d 0a 5b 69 74 65 6d 6d 61 70 5d 0d 0a 41 20 28 ..[itemmap]..A (
3410: 5c 64 2b 29 2f 61 61 20 61 61 2f 5c 31 0d 0a 42 \d+)/aa aa/\1..B
3420: 20 28 5c 64 2b 29 2f 62 62 20 62 62 2f 5c 31 0d (\d+)/bb bb/\1.
3430: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
3440: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e 54 65 73 74 -------.....Test
3450: 63 6f 6e 66 69 67 73 20 66 6f 72 20 54 65 73 74 configs for Test
3460: 20 42 20 61 6e 64 20 54 65 73 74 20 41 20 68 61 B and Test A ha
3470: 76 65 20 6e 6f 20 77 61 69 74 6f 6e 20 6f 72 20 ve no waiton or
3480: 69 74 65 6d 6d 61 70 20 63 6f 6e 66 69 67 75 72 itemmap configur
3490: 65 64 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ed..------------
34a0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 2d 2d 2d 2d 2d 2d 2d -------..-------
34b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a ------------....
34c0: 2e 57 61 6c 6b 20 74 68 72 6f 75 67 68 20 6f 6e .Walk through on
34d0: 65 20 69 74 65 6d 20 2d 2d 20 77 65 20 77 61 6e e item -- we wan
34e0: 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 t the following
34f0: 74 6f 20 68 61 70 70 65 6e 20 66 6f 72 20 74 65 to happen for te
3500: 73 74 70 61 74 74 20 2b 44 2f 31 2f 72 65 73 2b stpatt +D/1/res+
3510: 20 28 73 65 65 20 62 6c 75 65 20 62 6f 78 65 73 (see blue boxes
3520: 20 69 6e 20 63 6f 6d 70 6c 65 78 20 69 74 65 6d in complex item
3530: 6d 61 70 69 6e 67 20 66 69 67 75 72 65 20 61 62 maping figure ab
3540: 6f 76 65 29 3a 0d 0a 0d 0a 2e 20 65 67 20 66 72 ove):..... eg fr
3550: 6f 6d 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 om command line
3560: 2b 6d 65 67 61 74 65 73 74 20 2d 72 75 6e 20 2d +megatest -run -
3570: 74 65 73 74 70 61 74 74 20 44 2f 31 2f 72 65 73 testpatt D/1/res
3580: 20 2d 74 61 72 67 65 74 20 6d 79 74 61 72 67 65 -target mytarge
3590: 74 20 2d 72 75 6e 6e 61 6d 65 20 6d 79 72 75 6e t -runname myrun
35a0: 6e 61 6d 65 2b 0d 0a 2e 20 46 75 6c 6c 20 6c 69 name+... Full li
35b0: 73 74 20 74 6f 20 62 65 20 72 75 6e 20 69 73 20 st to be run is
35c0: 6e 6f 77 3a 20 2b 44 2f 31 2f 72 65 73 2b 0d 0a now: +D/1/res+..
35d0: 2e 20 54 65 73 74 20 44 20 68 61 73 20 61 20 77 . Test D has a w
35e0: 61 69 74 6f 6e 20 2d 20 74 65 73 74 20 43 2e 20 aiton - test C.
35f0: 20 54 65 73 74 20 44 27 73 20 69 74 65 6d 6d 61 Test D's itemma
3600: 70 20 72 75 6c 65 20 2b 69 74 65 6d 6d 61 70 20 p rule +itemmap
3610: 28 5c 64 26 70 6c 75 73 3b 29 2f 72 65 73 20 5c (\d+)/res \
3620: 31 2f 61 61 2b 20 2d 3e 20 20 63 61 75 73 65 73 1/aa+ -> causes
3630: 20 2b 43 2f 31 2f 61 61 2b 20 74 6f 20 72 75 6e +C/1/aa+ to run
3640: 20 62 65 66 6f 72 65 20 2b 44 2f 31 2f 72 65 73 before +D/1/res
3650: 2b 0d 0a 2e 20 46 75 6c 6c 20 6c 69 73 74 20 74 +... Full list t
3660: 6f 20 62 65 20 72 75 6e 20 69 73 20 6e 6f 77 3a o be run is now:
3670: 20 2b 44 2f 31 2f 72 65 73 2b 2c 20 2b 43 2f 31 +D/1/res+, +C/1
3680: 2f 61 61 2b 0d 0a 2e 20 54 65 73 74 20 43 20 77 /aa+... Test C w
3690: 61 73 20 61 20 77 61 69 74 6f 6e 20 2d 20 74 65 as a waiton - te
36a0: 73 74 20 41 2e 20 54 65 73 74 20 43 27 73 20 72 st A. Test C's r
36b0: 75 6c 65 20 2b 41 20 28 5c 64 26 70 6c 75 73 3b ule +A (\d+
36c0: 29 2f 61 61 20 61 61 2f 5c 31 2b 20 2d 3e 20 63 )/aa aa/\1+ -> c
36d0: 61 75 73 65 73 20 2b 41 2f 61 61 2f 31 2b 20 74 auses +A/aa/1+ t
36e0: 6f 20 72 75 6e 20 62 65 66 6f 72 65 20 2b 43 2f o run before +C/
36f0: 31 2f 61 61 2b 0d 0a 2e 20 46 75 6c 6c 20 6c 69 1/aa+... Full li
3700: 73 74 20 74 6f 20 62 65 20 72 75 6e 20 69 73 20 st to be run is
3710: 6e 6f 77 3a 20 2b 44 2f 31 2f 72 65 73 2b 2c 20 now: +D/1/res+,
3720: 2b 43 2f 31 2f 61 61 2b 2c 20 2b 41 2f 61 61 2f +C/1/aa+, +A/aa/
3730: 31 2b 0d 0a 2e 20 54 65 73 74 20 41 20 68 61 73 1+... Test A has
3740: 20 6e 6f 20 77 61 69 74 6f 6e 73 2e 20 20 41 6c no waitons. Al
3750: 6c 20 77 61 69 74 6f 6e 73 20 6f 66 20 61 6c 6c l waitons of all
3760: 20 74 65 73 74 73 20 69 6e 20 66 75 6c 6c 20 6c tests in full l
3770: 69 73 74 20 68 61 76 65 20 62 65 65 6e 20 70 72 ist have been pr
3780: 6f 63 65 73 73 65 64 2e 20 20 46 75 6c 6c 20 6c ocessed. Full l
3790: 69 73 74 20 69 73 20 66 69 6e 61 6c 69 7a 65 64 ist is finalized
37a0: 2e 0d 0a 0d 0a 0d 0a 0d 0a 69 74 65 6d 73 74 61 .........itemsta
37b0: 62 6c 65 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d ble..^^^^^^^^^^.
37c0: 0a 41 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 .An alternative
37d0: 74 6f 20 64 65 66 69 6e 69 6e 67 20 69 74 65 6d to defining item
37e0: 73 20 69 73 20 74 68 65 20 69 74 65 6d 73 74 61 s is the itemsta
37f0: 62 6c 65 20 73 65 63 74 69 6f 6e 2e 20 20 54 68 ble section. Th
3800: 69 73 20 6c 65 74 73 20 79 6f 75 20 64 65 66 69 is lets you defi
3810: 6e 65 20 74 68 65 20 69 74 65 6d 70 61 74 68 20 ne the itempath
3820: 69 6e 20 61 20 74 61 62 6c 65 20 66 6f 72 6d 61 in a table forma
3830: 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 73 70 t rather than sp
3840: 65 63 69 66 79 69 6e 67 20 63 6f 6d 70 6f 6e 65 ecifying compone
3850: 6e 74 73 20 61 6e 64 20 72 65 6c 79 69 6e 67 20 nts and relying
3860: 6f 6e 20 67 65 74 74 69 6e 67 20 61 6c 6c 20 70 on getting all p
3870: 65 72 6d 75 74 61 74 69 6f 6e 73 20 6f 66 20 74 ermutations of t
3880: 68 6f 73 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 2e hose components.
3890: 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 44 79 6e 61 ............Dyna
38a0: 6d 69 63 20 46 6c 6f 77 20 44 65 70 65 6e 64 65 mic Flow Depende
38b0: 6e 63 79 20 54 72 65 65 0d 0a 5e 5e 5e 5e 5e 5e ncy Tree..^^^^^^
38c0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
38d0: 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a 2e 41 75 74 6f 67 ^^^^^^.....Autog
38e0: 65 6e 65 72 61 74 69 6f 6e 20 77 61 69 74 6f 6e eneration waiton
38f0: 20 6c 69 73 74 20 66 6f 72 20 64 79 6e 61 6d 69 list for dynami
3900: 63 20 66 6c 6f 77 20 64 65 70 65 6e 64 65 6e 63 c flow dependenc
3910: 79 20 74 72 65 65 73 0d 0a 2d 2d 2d 2d 2d 2d 2d y trees..-------
3920: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 72 ------------..[r
3930: 65 71 75 69 72 65 6d 65 6e 74 73 5d 0d 0a 23 20 equirements]..#
3940: 57 69 74 68 20 61 20 74 6f 70 6c 65 76 65 6c 20 With a toplevel
3950: 74 65 73 74 20 79 6f 75 20 6d 61 79 20 77 69 73 test you may wis
3960: 68 20 74 6f 20 67 65 6e 65 72 61 74 65 20 79 6f h to generate yo
3970: 75 72 20 6c 69 73 74 20 0d 0a 23 20 6f 66 20 74 ur list ..# of t
3980: 65 73 74 73 20 74 6f 20 72 75 6e 20 64 79 6e 61 ests to run dyna
3990: 6d 69 63 61 6c 6c 79 0d 0a 23 0d 0a 77 61 69 74 mically..#..wait
39a0: 6f 6e 20 23 7b 73 68 65 6c 6c 20 67 65 74 2d 76 on #{shell get-v
39b0: 61 6c 69 64 2d 74 65 73 74 73 2d 74 6f 2d 72 75 alid-tests-to-ru
39c0: 6e 2e 73 68 7d 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d n.sh}..---------
39d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 52 75 ----------....Ru
39e0: 6e 20 74 69 6d 65 20 6c 69 6d 69 74 0d 0a 5e 5e n time limit..^^
39f0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a ^^^^^^^^^^^^....
3a00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3a10: 2d 0d 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 -..[requirements
3a20: 5d 0d 0a 72 75 6e 74 69 6d 65 6c 69 6d 20 31 68 ]..runtimelim 1h
3a30: 20 32 6d 20 33 73 20 20 23 20 74 68 69 73 20 77 2m 3s # this w
3a40: 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c ill automaticall
3a50: 79 20 6b 69 6c 6c 20 74 68 65 20 74 65 73 74 20 y kill the test
3a60: 69 66 20 69 74 20 72 75 6e 73 20 66 6f 72 20 6d if it runs for m
3a70: 6f 72 65 20 74 68 61 6e 20 31 68 20 32 6d 20 61 ore than 1h 2m a
3a80: 6e 64 20 33 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d nd 3s..---------
3a90: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 53 6b 69 70 --------....Skip
3aa0: 0d 0a 5e 5e 5e 5e 0d 0a 0d 0a 41 20 74 65 73 74 ..^^^^....A test
3ab0: 20 77 69 74 68 20 61 20 73 6b 69 70 20 73 65 63 with a skip sec
3ac0: 74 69 6f 6e 20 77 69 6c 6c 20 63 6f 6e 64 69 74 tion will condit
3ad0: 69 6f 6e 61 6c 20 73 6b 69 70 20 72 75 6e 6e 69 ional skip runni
3ae0: 6e 67 2e 0d 0a 0d 0a 2e 53 6b 69 70 20 73 65 63 ng......Skip sec
3af0: 74 69 6f 6e 20 65 78 61 6d 70 6c 65 0d 0a 2d 2d tion example..--
3b00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
3b10: 0a 5b 73 6b 69 70 5d 0d 0a 70 72 65 76 72 75 6e .[skip]..prevrun
3b20: 6e 69 6e 67 20 78 0d 0a 23 20 72 75 6e 64 65 6c ning x..# rundel
3b30: 61 79 20 33 30 6d 20 31 35 73 0d 0a 2d 2d 2d 2d ay 30m 15s..----
3b40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
3b50: 0a 53 6b 69 70 20 6f 6e 20 53 74 69 6c 6c 2d 72 .Skip on Still-r
3b60: 75 6e 6e 69 6e 67 20 54 65 73 74 73 0d 0a 5e 5e unning Tests..^^
3b70: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
3b80: 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a 2d 2d 2d ^^^^^^^^^....---
3b90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
3ba0: 23 20 4e 42 2f 2f 20 49 66 20 74 68 65 20 70 72 # NB// If the pr
3bb0: 65 76 72 75 6e 6e 69 6e 67 20 6c 69 6e 65 20 65 evrunning line e
3bc0: 78 69 73 74 73 20 77 69 74 68 20 2a 61 6e 79 2a xists with *any*
3bd0: 20 76 61 6c 75 65 20 74 68 65 20 74 65 73 74 20 value the test
3be0: 77 69 6c 6c 0d 0a 23 20 61 75 74 6f 6d 61 74 69 will..# automati
3bf0: 63 61 6c 6c 79 20 53 4b 49 50 20 69 66 20 74 68 cally SKIP if th
3c00: 65 20 73 61 6d 65 2d 6e 61 6d 65 64 20 74 65 73 e same-named tes
3c10: 74 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 52 t is currently R
3c20: 55 4e 4e 49 4e 47 2e 20 54 68 65 0d 0a 23 20 22 UNNING. The..# "
3c30: 78 22 20 63 61 6e 20 62 65 20 61 6e 79 20 73 74 x" can be any st
3c40: 72 69 6e 67 2e 20 43 6f 6d 6d 65 6e 74 20 6f 75 ring. Comment ou
3c50: 74 20 74 68 65 20 70 72 65 76 72 75 6e 6e 69 6e t the prevrunnin
3c60: 67 20 6c 69 6e 65 20 74 6f 20 74 75 72 6e 20 6f g line to turn o
3c70: 66 66 0d 0a 23 20 73 6b 69 70 2e 0d 0a 0d 0a 5b ff..# skip.....[
3c80: 73 6b 69 70 5d 0d 0a 70 72 65 76 72 75 6e 6e 69 skip]..prevrunni
3c90: 6e 67 20 78 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ng x..----------
3ca0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 53 6b 69 70 20 -------....Skip
3cb0: 69 66 20 61 20 46 69 6c 65 20 45 78 69 73 74 73 if a File Exists
3cc0: 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ..^^^^^^^^^^^^^^
3cd0: 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a 2d 2d 2d 2d 2d ^^^^^^^....-----
3ce0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 73 ------------..[s
3cf0: 6b 69 70 5d 0d 0a 66 69 6c 65 65 78 69 73 74 73 kip]..fileexists
3d00: 20 2f 70 61 74 68 2f 74 6f 2f 61 2f 66 69 6c 65 /path/to/a/file
3d10: 20 23 20 73 6b 69 70 20 69 66 20 2f 70 61 74 68 # skip if /path
3d20: 2f 74 6f 2f 61 2f 66 69 6c 65 20 65 78 69 73 74 /to/a/file exist
3d30: 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d s..-------------
3d40: 2d 2d 2d 2d 0d 0a 0d 0a 53 6b 69 70 20 69 66 20 ----....Skip if
3d50: 74 65 73 74 20 72 61 6e 20 6d 6f 72 65 20 72 65 test ran more re
3d60: 63 65 6e 74 6c 79 20 74 68 61 6e 20 73 70 65 63 cently than spec
3d70: 69 66 69 65 64 20 74 69 6d 65 0d 0a 5e 5e 5e 5e ified time..^^^^
3d80: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
3d90: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
3da0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a ^^^^^^^^^^^^^^..
3db0: 0d 0a 2e 53 6b 69 70 20 69 66 20 74 68 69 73 20 ...Skip if this
3dc0: 74 65 73 74 20 68 61 73 20 62 65 65 6e 20 72 75 test has been ru
3dd0: 6e 20 69 6e 20 74 68 65 20 70 61 73 74 20 66 69 n in the past fi
3de0: 66 74 65 65 6e 20 6d 69 6e 75 74 65 73 20 61 6e fteen minutes an
3df0: 64 20 31 35 20 73 65 63 6f 6e 64 73 2e 0d 0a 2d d 15 seconds...-
3e00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3e10: 0d 0a 5b 73 6b 69 70 5d 0d 0a 72 75 6e 64 65 6c ..[skip]..rundel
3e20: 61 79 20 31 35 6d 20 31 35 73 0d 0a 2d 2d 2d 2d ay 15m 15s..----
3e30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
3e40: 0a 44 69 73 6b 73 0d 0a 5e 5e 5e 5e 5e 0d 0a 0d .Disks..^^^^^...
3e50: 0a 41 20 64 69 73 6b 73 20 73 65 63 74 69 6f 6e .A disks section
3e60: 20 69 6e 20 74 65 73 74 63 6f 6e 66 69 67 20 77 in testconfig w
3e70: 69 6c 6c 20 6f 76 65 72 72 69 64 65 20 74 68 65 ill override the
3e80: 20 64 69 73 6b 73 20 73 65 63 74 69 6f 6e 20 69 disks section i
3e90: 6e 0d 0a 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 n..megatest.conf
3ea0: 69 67 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 ig. This can be
3eb0: 75 73 65 64 20 74 6f 20 61 6c 6c 6f 63 61 74 65 used to allocate
3ec0: 20 64 69 73 6b 73 20 6f 6e 20 61 20 70 65 72 2d disks on a per-
3ed0: 74 65 73 74 20 6f 72 20 70 65 72 20 69 74 65 6d test or per item
3ee0: 0d 0a 62 61 73 69 73 2e 0d 0a 0d 0a 43 6f 6e 74 ..basis.....Cont
3ef0: 72 6f 6c 6c 65 64 20 77 61 69 76 65 72 20 70 72 rolled waiver pr
3f00: 6f 70 61 67 61 74 69 6f 6e 0d 0a 5e 5e 5e 5e 5e opagation..^^^^^
3f10: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
3f20: 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a 49 66 20 74 ^^^^^^^^....If t
3f30: 65 73 74 20 69 73 20 46 41 49 4c 20 61 6e 64 20 est is FAIL and
3f40: 70 72 65 76 69 6f 75 73 20 74 65 73 74 20 69 6e previous test in
3f50: 20 72 75 6e 20 77 69 74 68 20 73 61 6d 65 20 4d run with same M
3f60: 54 5f 54 41 52 47 45 54 20 69 73 20 57 41 49 56 T_TARGET is WAIV
3f70: 45 44 20 74 68 65 6e 20 61 70 70 6c 79 20 74 68 ED then apply th
3f80: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 75 6c 65 e following rule
3f90: 73 20 66 72 6f 6d 20 74 68 65 20 74 65 73 74 63 s from the testc
3fa0: 6f 6e 66 69 67 3a 0d 0a 49 66 20 61 20 77 61 69 onfig:..If a wai
3fb0: 76 65 72 20 63 68 65 63 6b 20 69 73 20 73 70 65 ver check is spe
3fc0: 63 69 66 69 65 64 20 69 6e 20 74 68 65 20 74 65 cified in the te
3fd0: 73 74 63 6f 6e 66 69 67 20 61 70 70 6c 79 20 74 stconfig apply t
3fe0: 68 65 20 63 68 65 63 6b 20 61 6e 64 20 69 66 20 he check and if
3ff0: 69 74 20 70 61 73 73 65 73 20 74 68 65 6e 20 73 it passes then s
4000: 65 74 20 74 68 69 73 20 46 41 49 4c 20 74 6f 20 et this FAIL to
4010: 57 41 49 56 45 44 0d 0a 0d 0a 57 61 69 76 65 72 WAIVED....Waiver
4020: 20 63 68 65 63 6b 20 68 61 73 20 74 77 6f 20 70 check has two p
4030: 61 72 74 73 2c 20 31 29 20 61 20 6c 69 73 74 20 arts, 1) a list
4040: 6f 66 20 77 61 69 76 65 72 2c 20 72 75 6c 65 6e of waiver, rulen
4050: 61 6d 65 2c 20 66 69 6c 65 70 61 74 74 65 72 6e ame, filepattern
4060: 73 20 61 6e 64 20 32 29 20 74 68 65 20 72 75 6c s and 2) the rul
4070: 65 6e 61 6d 65 20 73 63 72 69 70 74 20 73 70 65 ename script spe
4080: 63 20 28 6e 6f 74 65 20 74 68 61 74 20 22 64 69 c (note that "di
4090: 66 66 22 20 61 6e 64 20 22 6c 6f 67 70 72 6f 22 ff" and "logpro"
40a0: 20 61 72 65 20 70 72 65 64 65 66 69 6e 65 64 29 are predefined)
40b0: 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....------------
40c0: 2d 2d 2d 2d 2d 0d 0a 23 23 23 23 23 23 20 45 58 -----..###### EX
40d0: 41 4d 50 4c 45 20 46 52 4f 4d 20 74 65 73 74 63 AMPLE FROM testc
40e0: 6f 6e 66 69 67 20 23 23 23 23 23 23 23 23 23 0d onfig #########.
40f0: 0a 23 20 6d 61 74 63 68 69 6e 67 20 66 69 6c 65 .# matching file
4100: 28 73 29 20 77 69 6c 6c 20 62 65 20 64 69 66 66 (s) will be diff
4110: 27 64 20 77 69 74 68 20 70 72 65 76 69 6f 75 73 'd with previous
4120: 20 72 75 6e 20 61 6e 64 20 6c 6f 67 70 72 6f 20 run and logpro
4130: 61 70 70 6c 69 65 64 0d 0a 23 20 69 66 20 50 41 applied..# if PA
4140: 53 53 20 6f 72 20 57 41 52 4e 20 72 65 73 75 6c SS or WARN resul
4150: 74 20 66 72 6f 6d 20 6c 6f 67 70 72 6f 20 74 68 t from logpro th
4160: 65 6e 20 57 41 49 56 45 52 20 73 74 61 74 65 20 en WAIVER state
4170: 69 73 20 73 65 74 0d 0a 23 0d 0a 5b 77 61 69 76 is set..#..[waiv
4180: 65 72 73 5d 0d 0a 23 20 6c 6f 67 70 72 6f 5f 66 ers]..# logpro_f
4190: 69 6c 65 20 20 20 20 72 75 6c 65 6e 61 6d 65 20 ile rulename
41a0: 20 20 20 20 20 69 6e 70 75 74 5f 67 6c 6f 62 0d input_glob.
41b0: 0a 77 61 69 76 65 72 5f 31 20 20 20 20 20 20 20 .waiver_1
41c0: 20 20 6c 6f 67 70 72 6f 20 20 20 20 20 20 20 20 logpro
41d0: 6c 6f 6f 6b 69 74 74 6d 70 2e 6c 6f 67 0d 0a 0d lookittmp.log...
41e0: 0a 5b 77 61 69 76 65 72 5f 72 75 6c 65 73 5d 0d .[waiver_rules].
41f0: 0a 0d 0a 23 20 54 68 69 73 20 62 75 69 6c 74 69 ...# This builti
4200: 6e 20 72 75 6c 65 20 69 73 20 74 68 65 20 64 65 n rule is the de
4210: 66 61 75 6c 74 20 69 66 20 74 68 65 72 65 20 69 fault if there i
4220: 73 20 6e 6f 20 3c 77 61 69 76 65 72 6e 61 6d 65 s no <waivername
4230: 3e 2e 6c 6f 67 70 72 6f 20 66 69 6c 65 0d 0a 23 >.logpro file..#
4240: 20 64 69 66 66 20 20 20 64 69 66 66 20 25 66 69 diff diff %fi
4250: 6c 65 31 25 20 25 66 69 6c 65 32 25 0d 0a 0d 0a le1% %file2%....
4260: 23 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 72 # This builtin r
4270: 75 6c 65 20 69 73 20 61 70 70 6c 69 65 64 20 69 ule is applied i
4280: 66 20 61 20 3c 77 61 69 76 65 72 6e 61 6d 65 3e f a <waivername>
4290: 2e 6c 6f 67 70 72 6f 20 66 69 6c 65 20 65 78 69 .logpro file exi
42a0: 73 74 73 0d 0a 23 20 6c 6f 67 70 72 6f 20 64 69 sts..# logpro di
42b0: 66 66 20 25 66 69 6c 65 31 25 20 25 66 69 6c 65 ff %file1% %file
42c0: 32 25 20 7c 20 6c 6f 67 70 72 6f 20 25 77 61 69 2% | logpro %wai
42d0: 76 65 72 6e 61 6d 65 25 2e 6c 6f 67 70 72 6f 20 vername%.logpro
42e0: 25 77 61 69 76 65 72 6e 61 6d 65 25 2e 68 74 6d %waivername%.htm
42f0: 6c 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d l..-------------
4300: 2d 2d 2d 2d 0d 0a 0d 0a 45 7a 73 74 65 70 73 0d ----....Ezsteps.
4310: 0a 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 2e 45 78 61 .~~~~~~~.....Exa
4320: 6d 70 6c 65 20 65 7a 73 74 65 70 73 20 77 69 74 mple ezsteps wit
4330: 68 20 6c 6f 67 70 72 6f 20 72 75 6c 65 73 0d 0a h logpro rules..
4340: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4350: 2d 0d 0a 5b 65 7a 73 74 65 70 73 5d 0d 0a 6c 6f -..[ezsteps]..lo
4360: 6f 6b 69 74 74 6d 70 20 20 20 6c 73 20 2f 74 6d okittmp ls /tm
4370: 70 0d 0a 0d 0a 5b 6c 6f 67 70 72 6f 5d 0d 0a 6c p....[logpro]..l
4380: 6f 6f 6b 69 74 74 6d 70 20 3b 3b 20 4e 6f 74 65 ookittmp ;; Note
4390: 3a 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 66 6f : config file fo
43a0: 72 6d 61 74 20 73 75 70 70 6f 72 74 73 20 6d 75 rmat supports mu
43b0: 6c 74 69 2d 6c 69 6e 65 20 65 6e 74 72 69 65 73 lti-line entries
43c0: 20 77 68 65 72 65 20 6c 65 61 64 69 6e 67 20 77 where leading w
43d0: 68 69 74 65 73 70 61 63 65 20 69 73 20 72 65 6d hitespace is rem
43e0: 6f 76 65 64 20 66 72 6f 6d 20 65 61 63 68 20 6c oved from each l
43f0: 69 6e 65 0d 0a 20 20 3b 3b 20 20 20 20 20 61 20 ine.. ;; a
4400: 62 6c 61 6e 6b 20 6c 69 6e 65 20 69 6e 64 69 63 blank line indic
4410: 61 74 65 73 20 74 68 65 20 65 6e 64 20 6f 66 20 ates the end of
4420: 74 68 65 20 62 6c 6f 63 6b 20 6f 66 20 74 65 78 the block of tex
4430: 74 20 0d 0a 20 20 28 65 78 70 65 63 74 3a 72 65 t .. (expect:re
4440: 71 75 69 72 65 64 20 69 6e 20 22 4c 6f 67 46 69 quired in "LogFi
4450: 6c 65 42 6f 64 79 22 20 3e 20 30 20 22 41 20 66 leBody" > 0 "A f
4460: 69 6c 65 20 6e 61 6d 65 20 74 68 61 74 20 73 68 ile name that sh
4470: 6f 75 6c 64 20 6e 65 76 65 72 20 65 78 69 73 74 ould never exist
4480: 21 22 20 23 2f 54 68 69 73 20 69 73 20 61 20 61 !" #/This is a a
4490: 77 66 75 6c 6c 79 20 73 74 75 70 69 64 20 66 69 wfully stupid fi
44a0: 6c 65 20 6e 61 6d 65 20 74 68 61 74 20 73 68 6f le name that sho
44b0: 75 6c 64 20 6e 65 76 65 72 20 62 65 20 66 6f 75 uld never be fou
44c0: 6e 64 20 69 6e 20 74 68 65 20 74 65 6d 70 20 64 nd in the temp d
44d0: 69 72 2f 29 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d ir/)....--------
44e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 54 6f 20 ---------....To
44f0: 74 72 61 6e 73 66 65 72 20 74 68 65 20 65 6e 76 transfer the env
4500: 69 72 6f 6e 6d 65 6e 74 20 74 6f 20 74 68 65 20 ironment to the
4510: 6e 65 78 74 20 73 74 65 70 20 79 6f 75 20 63 61 next step you ca
4520: 6e 20 64 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 n do the followi
4530: 6e 67 3a 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d ng:....---------
4540: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4550: 2d 2d 2d 0d 0a 24 4d 54 5f 4d 45 47 41 54 45 53 ---..$MT_MEGATES
4560: 54 20 2d 65 6e 76 32 66 69 6c 65 20 2e 65 7a 73 T -env2file .ezs
4570: 74 65 70 73 2f 24 7b 73 74 65 70 6e 61 6d 65 7d teps/${stepname}
4580: 09 20 20 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d . ..-----------
4590: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
45a0: 2d 0d 0a 0d 0a 54 72 69 67 67 65 72 73 0d 0a 7e -....Triggers..~
45b0: 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 49 6e 20 79 6f ~~~~~~~....In yo
45c0: 75 72 20 74 65 73 74 63 6f 6e 66 69 67 20 6f 72 ur testconfig or
45d0: 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67 megatest.config
45e0: 20 74 72 69 67 67 65 72 73 20 63 61 6e 20 62 65 triggers can be
45f0: 20 73 70 65 63 69 66 69 65 64 20 0d 0a 0d 0a 2d specified ....-
4600: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4610: 0d 0a 5b 74 72 69 67 67 65 72 73 5d 0d 0a 0d 0a ..[triggers]....
4620: 23 20 43 61 6c 6c 20 73 63 72 69 70 74 20 72 75 # Call script ru
4630: 6e 6e 69 6e 67 2e 73 68 20 77 68 65 6e 20 74 65 nning.sh when te
4640: 73 74 20 67 6f 65 73 20 74 6f 20 73 74 61 74 65 st goes to state
4650: 3d 52 55 4e 4e 49 4e 47 2c 20 73 74 61 74 75 73 =RUNNING, status
4660: 3d 50 41 53 53 0d 0a 52 55 4e 4e 49 4e 47 2f 50 =PASS..RUNNING/P
4670: 41 53 53 20 72 75 6e 6e 69 6e 67 2e 73 68 0d 0a ASS running.sh..
4680: 0d 0a 23 20 43 61 6c 6c 20 73 63 72 69 70 74 20 ..# Call script
4690: 72 75 6e 6e 69 6e 67 2e 73 68 20 61 6e 79 20 74 running.sh any t
46a0: 69 6d 65 20 73 74 61 74 65 20 67 6f 65 73 20 74 ime state goes t
46b0: 6f 20 52 55 4e 4e 49 4e 47 0d 0a 52 55 4e 4e 49 o RUNNING..RUNNI
46c0: 4e 47 2f 20 72 75 6e 6e 69 6e 67 2e 73 68 0d 0a NG/ running.sh..
46d0: 0d 0a 23 20 43 61 6c 6c 20 73 63 72 69 70 74 20 ..# Call script
46e0: 6f 6e 70 61 73 73 2e 73 68 20 61 6e 79 20 74 69 onpass.sh any ti
46f0: 6d 65 20 73 74 61 74 75 73 20 67 6f 65 73 20 74 me status goes t
4700: 6f 20 50 41 53 53 0d 0a 50 41 53 53 2f 20 6f 6e o PASS..PASS/ on
4710: 70 61 73 73 2e 73 68 0d 0a 2d 2d 2d 2d 2d 2d 2d pass.sh..-------
4720: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 53 63 ----------....Sc
4730: 72 69 70 74 73 20 63 61 6c 6c 65 64 20 77 69 6c ripts called wil
4740: 6c 20 68 61 76 65 3b 20 74 65 73 74 2d 69 64 20 l have; test-id
4750: 74 65 73 74 2d 72 75 6e 64 69 72 20 74 72 69 67 test-rundir trig
4760: 67 65 72 20 74 65 73 74 2d 6e 61 6d 65 20 69 74 ger test-name it
4770: 65 6d 2d 70 61 74 68 20 73 74 61 74 65 20 73 74 em-path state st
4780: 61 74 75 73 20 65 76 65 6e 74 2d 74 69 6d 65 2c atus event-time,
4790: 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 63 6f added to the co
47a0: 6d 6d 61 6e 64 6c 69 6e 65 2e 0d 0a 0d 0a 48 49 mmandline.....HI
47b0: 4e 54 0d 0a 0d 0a 54 6f 20 73 74 61 72 74 20 61 NT....To start a
47c0: 6e 20 78 74 65 72 6d 20 28 75 73 65 66 75 6c 20 n xterm (useful
47d0: 66 6f 72 20 64 65 62 75 67 67 69 6e 67 29 2c 20 for debugging),
47e0: 75 73 65 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 use a command li
47f0: 6e 65 20 6c 69 6b 65 20 74 68 65 20 66 6f 6c 6c ne like the foll
4800: 6f 77 69 6e 67 3a 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d owing:....------
4810: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 74 72 -----------..[tr
4820: 69 67 67 65 72 73 5d 0d 0a 43 4f 4d 50 4c 45 54 iggers]..COMPLET
4830: 45 44 2f 20 78 74 65 72 6d 20 2d 65 20 62 61 73 ED/ xterm -e bas
4840: 68 20 2d 73 20 2d 2d 20 0d 0a 2d 2d 2d 2d 2d 2d h -s -- ..------
4850: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 4e -----------....N
4860: 4f 54 45 3a 20 54 68 65 72 65 20 69 73 20 61 20 OTE: There is a
4870: 74 72 61 69 6c 69 6e 67 20 73 70 61 63 65 20 61 trailing space a
4880: 66 74 65 72 20 74 68 65 20 2d 2d 0d 0a 0d 0a 54 fter the --....T
4890: 68 65 72 65 20 61 72 65 20 61 20 6e 75 6d 62 65 here are a numbe
48a0: 72 20 6f 66 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 r of environment
48b0: 20 76 61 72 69 61 62 6c 65 73 20 61 76 61 69 6c variables avail
48c0: 61 62 6c 65 20 74 6f 20 74 68 65 20 74 72 69 67 able to the trig
48d0: 67 65 72 20 73 63 72 69 70 74 0d 0a 62 75 74 20 ger script..but
48e0: 73 69 6e 63 65 20 74 72 69 67 67 65 72 73 20 63 since triggers c
48f0: 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 an be called in
4900: 76 61 72 69 6f 75 73 20 63 6f 6e 74 65 78 74 73 various contexts
4910: 20 6e 6f 74 20 61 6c 6c 20 76 61 72 69 61 62 6c not all variabl
4920: 65 73 20 61 72 65 0d 0a 61 76 61 69 6c 61 62 6c es are..availabl
4930: 65 20 61 74 20 61 6c 6c 20 74 69 6d 65 73 2e 20 e at all times.
4940: 54 68 65 20 74 72 69 67 67 65 72 20 73 63 72 69 The trigger scri
4950: 70 74 20 73 68 6f 75 6c 64 20 63 68 65 63 6b 20 pt should check
4960: 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 for the variable
4970: 20 61 6e 64 0d 0a 66 61 69 6c 20 67 72 61 63 65 and..fail grace
4980: 66 75 6c 6c 79 20 69 66 20 69 74 20 64 6f 65 73 fully if it does
4990: 6e 27 74 20 65 78 69 73 74 2e 0d 0a 0d 0a 2e 45 n't exist......E
49a0: 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 nvironment varia
49b0: 62 6c 65 73 20 76 69 73 69 62 6c 65 20 74 6f 20 bles visible to
49c0: 74 68 65 20 74 72 69 67 67 65 72 20 73 63 72 69 the trigger scri
49d0: 70 74 0d 0a 5b 77 69 64 74 68 3d 22 39 30 25 22 pt..[width="90%"
49e0: 2c 63 6f 6c 73 3d 22 5e 2c 32 6d 22 2c 66 72 61 ,cols="^,2m",fra
49f0: 6d 65 3d 22 74 6f 70 62 6f 74 22 2c 6f 70 74 69 me="topbot",opti
4a00: 6f 6e 73 3d 22 68 65 61 64 65 72 22 5d 0d 0a 7c ons="header"]..|
4a10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
4a20: 3d 3d 3d 3d 3d 3d 0d 0a 7c 56 61 72 69 61 62 6c ======..|Variabl
4a30: 65 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 e |
4a40: 50 75 72 70 6f 73 65 20 20 20 20 20 20 20 20 20 Purpose
4a50: 20 20 20 0d 0a 7c 20 4d 54 5f 54 45 53 54 5f 52 ..| MT_TEST_R
4a60: 55 4e 5f 44 49 52 20 20 20 20 20 7c 20 54 68 65 UN_DIR | The
4a70: 20 64 69 72 65 63 74 6f 72 79 20 77 68 65 72 65 directory where
4a80: 20 4d 65 67 61 74 65 73 74 20 72 61 6e 20 74 68 Megatest ran th
4a90: 69 73 20 74 65 73 74 20 20 20 20 20 20 20 20 20 is test
4aa0: 20 20 20 20 20 20 20 20 20 20 0d 0a 7c 20 4d 54 ..| MT
4ab0: 5f 43 4d 44 49 4e 46 4f 20 20 20 20 20 20 20 20 _CMDINFO
4ac0: 20 20 7c 20 45 6e 63 6f 64 65 64 20 63 6f 6d 6d | Encoded comm
4ad0: 61 6e 64 20 64 61 74 61 20 66 6f 72 20 74 68 65 and data for the
4ae0: 20 74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 test
4af0: 20 20 20 20 20 20 20 20 0d 0a 7c 20 4d 54 5f 44 ..| MT_D
4b00: 45 42 55 47 5f 4d 4f 44 45 20 20 20 20 20 20 20 EBUG_MODE
4b10: 7c 20 55 73 65 64 20 74 6f 20 70 61 73 73 20 74 | Used to pass t
4b20: 68 65 20 64 65 62 75 67 20 6d 6f 64 65 20 74 6f he debug mode to
4b30: 20 6e 65 73 74 65 64 20 63 61 6c 6c 73 20 74 6f nested calls to
4b40: 20 4d 65 67 61 74 65 73 74 20 20 20 20 20 20 20 Megatest
4b50: 20 20 20 20 20 20 20 20 20 20 20 20 0d 0a 7c 20 ..|
4b60: 4d 54 5f 52 55 4e 5f 41 52 45 41 5f 48 4f 4d 45 MT_RUN_AREA_HOME
4b70: 20 20 20 20 7c 20 4d 65 67 61 74 65 73 74 20 68 | Megatest h
4b80: 6f 6d 65 20 61 72 65 61 20 0d 0a 7c 20 4d 54 5f ome area ..| MT_
4b90: 54 45 53 54 53 55 49 54 45 4e 41 4d 45 20 20 20 TESTSUITENAME
4ba0: 20 7c 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 | The name of t
4bb0: 68 69 73 20 74 65 73 74 73 75 69 74 65 20 6f 72 his testsuite or
4bc0: 20 61 72 65 61 20 20 20 20 20 20 20 20 20 20 20 area
4bd0: 20 20 20 20 20 20 20 20 0d 0a 7c 20 4d 54 5f 54 ..| MT_T
4be0: 45 53 54 5f 4e 41 4d 45 20 20 20 20 20 20 20 20 EST_NAME
4bf0: 7c 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 | The name of th
4c00: 69 73 20 74 65 73 74 0d 0a 7c 20 4d 54 5f 49 54 is test..| MT_IT
4c10: 45 4d 5f 49 4e 46 4f 20 20 20 20 20 20 20 20 7c EM_INFO |
4c20: 20 54 68 65 20 76 61 72 69 61 62 6c 65 20 61 6e The variable an
4c30: 64 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 d values for the
4c40: 20 74 65 73 74 20 69 74 65 6d 0d 0a 7c 20 4d 54 test item..| MT
4c50: 5f 4d 45 47 41 54 45 53 54 20 20 20 20 20 20 20 _MEGATEST
4c60: 20 20 7c 20 57 68 69 63 68 20 4d 65 67 61 74 65 | Which Megate
4c70: 73 74 20 62 69 6e 61 72 79 20 69 73 20 62 65 69 st binary is bei
4c80: 6e 67 20 75 73 65 64 20 62 79 20 74 68 69 73 20 ng used by this
4c90: 61 72 65 61 0d 0a 7c 20 4d 54 5f 54 41 52 47 45 area..| MT_TARGE
4ca0: 54 20 20 20 20 20 20 20 20 20 20 20 7c 20 54 68 T | Th
4cb0: 65 20 74 61 72 67 65 74 20 76 61 72 69 61 62 6c e target variabl
4cc0: 65 20 76 61 6c 75 65 73 2c 20 73 65 70 61 72 61 e values, separa
4cd0: 74 65 64 20 62 79 20 27 2f 27 0d 0a 7c 20 4d 54 ted by '/'..| MT
4ce0: 5f 4c 49 4e 4b 54 52 45 45 20 20 20 20 20 20 20 _LINKTREE
4cf0: 20 20 7c 20 54 68 65 20 62 61 73 65 20 6f 66 20 | The base of
4d00: 74 68 65 20 6c 69 6e 6b 20 74 72 65 65 20 77 68 the link tree wh
4d10: 65 72 65 20 61 6c 6c 20 72 75 6e 20 74 65 73 74 ere all run test
4d20: 73 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 0d 0a s can be found..
4d30: 7c 20 4d 54 5f 49 54 45 4d 50 41 54 48 20 20 20 | MT_ITEMPATH
4d40: 20 20 20 20 20 20 7c 20 54 68 65 20 76 61 6c 75 | The valu
4d50: 65 73 20 6f 66 20 74 68 65 20 69 74 65 6d 20 70 es of the item p
4d60: 61 74 68 20 76 61 72 69 61 62 6c 65 73 2c 20 73 ath variables, s
4d70: 65 70 61 72 61 74 65 64 20 62 79 20 27 2f 27 0d eparated by '/'.
4d80: 0a 7c 20 4d 54 5f 52 55 4e 4e 41 4d 45 20 20 20 .| MT_RUNNAME
4d90: 20 20 20 20 20 20 20 7c 20 54 68 65 20 6e 61 6d | The nam
4da0: 65 20 6f 66 20 74 68 65 20 72 75 6e 0d 0a 7c 3d e of the run..|=
4db0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
4dc0: 3d 3d 3d 3d 3d 0d 0a 0d 0a 0d 0a 4f 76 65 72 72 =====......Overr
4dd0: 69 64 65 20 74 68 65 20 54 6f 70 6c 65 76 65 6c ide the Toplevel
4de0: 20 48 54 4d 4c 20 46 69 6c 65 0d 0a 7e 7e 7e 7e HTML File..~~~~
4df0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
4e00: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 4d ~~~~~~~~~~~....M
4e10: 65 67 61 74 65 73 74 20 67 65 6e 65 72 61 74 65 egatest generate
4e20: 73 20 61 20 73 69 6d 70 6c 65 20 68 74 6d 6c 20 s a simple html
4e30: 66 69 6c 65 20 73 75 6d 6d 61 72 79 20 66 6f 72 file summary for
4e40: 20 74 6f 70 20 6c 65 76 65 6c 20 74 65 73 74 73 top level tests
4e50: 20 6f 66 0d 0a 69 74 65 72 61 74 65 64 20 74 65 of..iterated te
4e60: 73 74 73 2e 20 54 68 65 20 67 65 6e 65 72 61 74 sts. The generat
4e70: 69 6f 6e 20 63 61 6e 20 62 65 20 6f 76 65 72 72 ion can be overr
4e80: 69 64 64 65 6e 2e 20 4e 4f 54 45 3a 20 74 68 65 idden. NOTE: the
4e90: 20 6f 75 74 70 75 74 20 6f 66 0d 0a 74 68 65 20 output of..the
4ea0: 73 63 72 69 70 74 20 69 73 20 63 61 70 74 75 72 script is captur
4eb0: 65 64 20 66 72 6f 6d 20 73 74 64 6f 75 74 20 74 ed from stdout t
4ec0: 6f 20 63 72 65 61 74 65 20 74 68 65 20 68 74 6d o create the htm
4ed0: 6c 2e 0d 0a 0d 0a 0d 0a 2e 46 6f 72 20 74 65 73 l........For tes
4ee0: 74 20 22 72 75 6e 66 69 72 73 74 22 20 6f 76 65 t "runfirst" ove
4ef0: 72 72 69 64 65 20 74 68 65 20 74 6f 70 6c 65 76 rride the toplev
4f00: 65 6c 20 67 65 6e 65 72 61 74 69 6f 6e 20 77 69 el generation wi
4f10: 74 68 20 61 20 73 63 72 69 70 74 20 22 6d 79 73 th a script "mys
4f20: 75 6d 6d 61 72 79 2e 73 68 22 0d 0a 2d 2d 2d 2d ummary.sh"..----
4f30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 -------------..#
4f40: 20 4f 76 65 72 72 69 64 65 20 74 68 65 20 72 6f Override the ro
4f50: 6c 6c 75 70 20 66 6f 72 20 73 70 65 63 69 66 69 llup for specifi
4f60: 63 20 74 65 73 74 73 0d 0a 5b 74 65 73 74 72 6f c tests..[testro
4f70: 6c 6c 75 70 5d 0d 0a 72 75 6e 66 69 72 73 74 20 llup]..runfirst
4f80: 6d 79 73 75 6d 6d 61 72 79 2e 73 68 0d 0a 2d 2d mysummary.sh..--
4f90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
4fa0: 0a 0d 0a 41 72 63 68 69 76 69 6e 67 20 53 65 74 ...Archiving Set
4fb0: 75 70 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d up..------------
4fc0: 2d 2d 2d 0d 0a 0d 0a 49 6e 20 6d 65 67 61 74 65 ---....In megate
4fd0: 73 74 2e 63 6f 6e 66 69 67 20 61 64 64 20 74 68 st.config add th
4fe0: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 63 74 e following sect
4ff0: 69 6f 6e 73 3a 0d 0a 0d 0a 2e 6d 65 67 61 74 65 ions:.....megate
5000: 73 74 2e 63 6f 6e 66 69 67 0d 0a 2d 2d 2d 2d 2d st.config..-----
5010: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 61 72 63 68 ---------..[arch
5020: 69 76 65 5d 0d 0a 23 20 77 68 65 72 65 20 74 6f ive]..# where to
5030: 20 67 65 74 20 62 75 70 20 65 78 65 63 75 74 61 get bup executa
5040: 62 6c 65 0d 0a 23 20 62 75 70 20 2f 70 61 74 68 ble..# bup /path
5050: 2f 74 6f 2f 62 75 70 0d 0a 0d 0a 5b 61 72 63 68 /to/bup....[arch
5060: 69 76 65 2d 64 69 73 6b 73 5d 0d 0a 0d 0a 23 20 ive-disks]....#
5070: 41 72 63 68 69 76 65 73 20 77 69 6c 6c 20 62 65 Archives will be
5080: 20 6f 72 67 61 6e 69 73 65 64 20 75 6e 64 65 72 organised under
5090: 20 74 68 65 73 65 20 70 61 74 68 73 20 6c 69 6b these paths lik
50a0: 65 20 74 68 69 73 3a 0d 0a 23 20 20 3c 74 65 73 e this:..# <tes
50b0: 74 73 75 69 74 65 3e 2f 3c 63 72 65 61 74 69 6f tsuite>/<creatio
50c0: 6e 64 61 74 65 3e 0d 0a 23 20 57 69 74 68 69 6e ndate>..# Within
50d0: 20 74 68 65 20 61 72 63 68 69 76 65 20 74 68 65 the archive the
50e0: 20 64 61 74 61 20 69 73 20 73 74 72 75 63 74 75 data is structu
50f0: 72 65 64 20 6c 69 6b 65 20 74 68 69 73 3a 0d 0a red like this:..
5100: 23 20 20 3c 74 61 72 67 65 74 3e 2f 3c 72 75 6e # <target>/<run
5110: 6e 61 6d 65 3e 2f 3c 74 65 73 74 3e 2f 0d 0a 61 name>/<test>/..a
5120: 72 63 68 69 76 65 30 20 2f 6d 66 73 2f 6d 79 61 rchive0 /mfs/mya
5130: 72 63 68 69 76 65 2d 64 61 74 61 2f 61 64 69 73 rchive-data/adis
5140: 6b 31 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d k1..------------
5150: 2d 2d 0d 0a 0d 0a 48 61 6e 64 6c 69 6e 67 20 45 --....Handling E
5160: 6e 76 69 72 6f 6e 6d 65 6e 74 20 56 61 72 69 61 nvironment Varia
5170: 62 6c 65 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d bles..----------
5180: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5190: 2d 2d 2d 2d 0d 0a 0d 0a 49 74 20 69 73 20 6f 66 ----....It is of
51a0: 74 65 6e 20 6e 65 63 65 73 73 61 72 79 20 74 6f ten necessary to
51b0: 20 63 61 70 74 75 72 65 20 61 6e 64 20 6f 72 20 capture and or
51c0: 6d 61 6e 69 70 75 6c 61 74 65 20 65 6e 76 69 72 manipulate envir
51d0: 6f 6e 6d 65 6e 74 0d 0a 76 61 72 69 61 62 6c 65 onment..variable
51e0: 73 2e 20 4d 65 67 61 74 65 73 74 20 68 61 73 20 s. Megatest has
51f0: 73 6f 6d 65 20 66 61 63 69 6c 69 74 69 65 73 20 some facilities
5200: 62 75 69 6c 74 20 69 6e 20 74 6f 20 68 65 6c 70 built in to help
5210: 2e 0d 0a 0d 0a 43 61 70 74 75 72 65 20 76 61 72 .....Capture var
5220: 69 61 62 6c 65 73 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e iables..~~~~~~~~
5230: 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 2e 43 6f ~~~~~~~~~.....Co
5240: 6d 6d 61 6e 64 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d mmands..--------
5250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5260: 2d 2d 2d 2d 2d 2d 0d 0a 23 20 63 61 70 74 75 72 ------..# captur
5270: 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e e the current en
5280: 76 69 72 6f 6d 65 6e 74 20 69 6e 74 6f 20 61 20 viroment into a
5290: 64 62 20 63 61 6c 6c 65 64 20 65 6e 76 64 61 74 db called envdat
52a0: 2e 64 62 20 75 6e 64 65 72 0d 0a 23 20 74 68 65 .db under..# the
52b0: 20 63 6f 6e 74 65 78 74 20 22 62 65 66 6f 72 65 context "before
52c0: 22 0d 0a 6d 65 67 61 74 65 73 74 20 2d 65 6e 76 "..megatest -env
52d0: 63 61 70 20 62 65 66 6f 72 65 0d 0a 0d 0a 23 20 cap before....#
52e0: 63 61 70 74 75 72 65 20 74 68 65 20 63 75 72 72 capture the curr
52f0: 65 6e 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 ent environment
5300: 69 6e 74 6f 20 61 20 64 62 20 63 61 6c 6c 65 64 into a db called
5310: 20 73 74 61 72 74 75 70 2e 64 62 20 77 69 74 68 startup.db with
5320: 20 0d 0a 23 20 63 6f 6e 74 65 78 74 20 22 61 66 ..# context "af
5330: 74 65 72 22 0d 0a 6d 65 67 61 74 65 73 74 20 2d ter"..megatest -
5340: 65 6e 76 63 61 70 20 61 66 74 65 72 20 73 74 61 envcap after sta
5350: 72 74 75 70 2e 64 62 0d 0a 0d 0a 23 20 77 72 69 rtup.db....# wri
5360: 74 65 20 74 68 65 20 64 69 66 66 20 66 72 6f 6d te the diff from
5370: 20 62 65 66 6f 72 65 20 74 6f 20 61 66 74 65 72 before to after
5380: 0d 0a 6d 65 67 61 74 65 73 74 20 2d 65 6e 76 64 ..megatest -envd
5390: 65 6c 74 61 20 62 65 66 6f 72 65 2d 61 66 74 65 elta before-afte
53a0: 72 20 2d 64 75 6d 70 6d 6f 64 65 20 62 61 73 68 r -dumpmode bash
53b0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
53c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
53d0: 0d 0a 0d 0a 44 75 6d 70 20 6d 6f 64 65 73 20 69 ....Dump modes i
53e0: 6e 63 6c 75 64 65 20 62 61 73 68 2c 20 63 73 68 nclude bash, csh
53f0: 20 61 6e 64 20 63 6f 6e 66 69 67 2e 20 59 6f 75 and config. You
5400: 20 63 61 6e 20 69 6e 63 6c 75 64 65 20 63 6f 6e can include con
5410: 66 69 67 20 64 61 74 61 0d 0a 69 6e 74 6f 20 6d fig data..into m
5420: 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67 20 6f egatest.config o
5430: 72 20 72 75 6e 63 6f 6e 66 69 67 73 2e 63 6f 6e r runconfigs.con
5440: 66 69 67 2e 0d 0a 0d 0a 2e 45 78 61 6d 70 6c 65 fig......Example
5450: 20 6f 66 20 67 65 6e 65 72 61 74 69 6e 67 20 61 of generating a
5460: 6e 64 20 75 73 69 6e 67 20 63 6f 6e 66 69 67 20 nd using config
5470: 64 61 74 61 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d data..----------
5480: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5490: 2d 2d 2d 2d 0d 0a 6d 65 67 61 74 65 73 74 20 2d ----..megatest -
54a0: 65 6e 76 63 61 70 20 6f 72 69 67 69 6e 61 6c 0d envcap original.
54b0: 0a 23 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 .# do some stuff
54c0: 20 68 65 72 65 0d 0a 6d 65 67 61 74 65 73 74 20 here..megatest
54d0: 2d 65 6e 76 63 61 70 20 6d 75 6e 67 65 64 0d 0a -envcap munged..
54e0: 6d 65 67 61 74 65 73 74 20 2d 65 6e 76 64 65 6c megatest -envdel
54f0: 74 61 20 6f 72 69 67 69 6e 61 6c 2d 6d 75 6e 67 ta original-mung
5500: 65 64 20 2d 64 75 6d 70 6d 6f 64 65 20 69 6e 69 ed -dumpmode ini
5510: 20 2d 6f 20 6d 6f 64 69 66 69 65 64 2e 63 6f 6e -o modified.con
5520: 66 69 67 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d fig..-----------
5530: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5540: 2d 2d 2d 0d 0a 0d 0a 54 68 65 6e 20 69 6e 20 72 ---....Then in r
5550: 75 6e 63 6f 6e 66 69 67 73 2e 63 6f 6e 66 69 67 unconfigs.config
5560: 0d 0a 0d 0a 2e 45 78 61 6d 70 6c 65 20 6f 66 20 .....Example of
5570: 75 73 69 6e 67 20 6d 6f 64 69 66 69 65 64 2e 63 using modified.c
5580: 6f 6e 66 69 67 20 69 6e 20 61 20 74 65 73 74 63 onfig in a testc
5590: 6f 6e 66 69 67 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d onfig..---------
55a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
55b0: 2d 2d 2d 2d 2d 0d 0a 63 61 74 20 74 65 73 74 63 -----..cat testc
55c0: 6f 6e 66 69 67 0d 0a 5b 70 72 65 2d 6c 61 75 6e onfig..[pre-laun
55d0: 63 68 2d 65 6e 76 2d 76 61 72 73 5d 0d 0a 5b 69 ch-env-vars]..[i
55e0: 6e 63 6c 75 64 65 20 6d 6f 64 69 66 69 65 64 2e nclude modified.
55f0: 63 6f 6e 66 69 67 5d 0d 0a 2d 2d 2d 2d 2d 2d 2d config]..-------
5600: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
5610: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 4d 61 6e 61 67 -------....Manag
5620: 69 6e 67 20 4f 6c 64 20 52 75 6e 73 0d 0a 2d 2d ing Old Runs..--
5630: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
5640: 0a 0d 0a 49 74 20 69 73 20 6f 66 74 65 6e 20 64 ...It is often d
5650: 65 73 69 72 65 64 20 74 6f 20 6b 65 65 70 20 73 esired to keep s
5660: 6f 6d 65 20 6f 6c 64 65 72 20 72 75 6e 73 20 61 ome older runs a
5670: 72 6f 75 6e 64 20 62 75 74 20 74 68 69 73 20 6d round but this m
5680: 75 73 74 20 62 65 20 62 61 6c 61 6e 63 65 64 20 ust be balanced
5690: 77 69 74 68 20 74 68 65 20 63 6f 73 74 73 20 6f with the costs o
56a0: 66 20 64 69 73 6b 20 73 70 61 63 65 2e 0d 0a 0d f disk space....
56b0: 0a 2e 20 55 73 65 20 2d 72 65 6d 6f 76 65 2d 6b .. Use -remove-k
56c0: 65 65 70 0d 0a 2e 20 55 73 65 20 2d 61 72 63 68 eep... Use -arch
56d0: 69 76 65 20 28 63 61 6e 20 61 6c 73 6f 20 62 65 ive (can also be
56e0: 20 64 6f 6e 65 20 66 72 6f 6d 20 74 68 65 20 2d done from the -
56f0: 72 65 6d 6f 76 65 2d 6b 65 65 70 20 69 6e 74 65 remove-keep inte
5700: 72 66 61 63 65 29 0d 0a 2e 20 75 73 65 20 2d 72 rface)... use -r
5710: 65 6d 6f 76 65 2d 72 75 6e 73 20 77 69 74 68 20 emove-runs with
5720: 2d 6b 65 65 70 2d 72 65 63 6f 72 64 73 0d 0a 0d -keep-records...
5730: 0a 2e 46 6f 72 20 65 61 63 68 20 74 61 72 67 65 ..For each targe
5740: 74 2c 20 72 65 6d 6f 76 65 20 61 6c 6c 20 72 75 t, remove all ru
5750: 6e 73 20 62 75 74 20 74 68 65 20 6d 6f 73 74 20 ns but the most
5760: 72 65 63 65 6e 74 20 33 20 69 66 20 74 68 65 79 recent 3 if they
5770: 20 61 72 65 20 6f 76 65 72 20 31 20 77 65 65 6b are over 1 week
5780: 20 6f 6c 64 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d old..----------
5790: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 20 75 -----------..# u
57a0: 73 65 20 2d 70 72 65 63 6d 64 20 27 73 6c 65 65 se -precmd 'slee
57b0: 70 20 35 3b 6e 62 66 61 6b 65 27 20 74 6f 20 6c p 5;nbfake' to l
57c0: 69 6d 69 74 20 6f 76 65 72 6c 6f 61 64 69 6e 67 imit overloading
57d0: 20 74 68 65 20 68 6f 73 74 20 63 6f 6d 70 75 74 the host comput
57e0: 65 72 20 62 75 74 20 74 6f 20 61 6c 6c 6f 77 20 er but to allow
57f0: 74 68 65 20 72 65 6d 6f 76 65 73 20 74 6f 20 72 the removes to r
5800: 75 6e 20 69 6e 20 70 61 72 61 6c 6c 65 6c 2e 0d un in parallel..
5810: 0a 6d 65 67 61 74 65 73 74 20 2d 61 63 74 69 6f .megatest -actio
5820: 6e 73 20 70 72 69 6e 74 2c 72 65 6d 6f 76 65 2d ns print,remove-
5830: 72 75 6e 73 20 2d 72 65 6d 6f 76 65 2d 6b 65 65 runs -remove-kee
5840: 70 20 33 20 2d 74 61 72 67 65 74 20 25 2f 25 2f p 3 -target %/%/
5850: 25 2f 25 20 2d 72 75 6e 6e 61 6d 65 20 25 20 2d %/% -runname % -
5860: 61 67 65 20 31 77 20 2d 70 72 65 63 6d 64 20 27 age 1w -precmd '
5870: 73 6c 65 65 70 20 35 3b 6e 62 66 61 6b 65 27 22 sleep 5;nbfake'"
5880: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
5890: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 4e 65 73 74 65 -------....Neste
58a0: 64 20 52 75 6e 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d d Runs..--------
58b0: 2d 2d 2d 0d 0a 0d 0a 41 20 4d 65 67 61 74 65 73 ---....A Megates
58c0: 74 20 74 65 73 74 20 63 61 6e 20 72 75 6e 20 61 t test can run a
58d0: 20 66 75 6c 6c 20 4d 65 67 61 74 65 73 74 20 72 full Megatest r
58e0: 75 6e 20 69 6e 20 65 69 74 68 65 72 20 74 68 65 un in either the
58f0: 20 73 61 6d 65 0d 0a 4d 65 67 61 74 65 73 74 20 same..Megatest
5900: 61 72 65 61 20 6f 72 20 69 6e 20 61 6e 6f 74 68 area or in anoth
5910: 65 72 20 61 72 65 61 2e 20 54 68 69 73 20 69 73 er area. This is
5920: 20 61 20 70 6f 77 65 72 66 75 6c 20 77 61 79 20 a powerful way
5930: 6f 66 20 63 68 61 69 6e 69 6e 67 0d 0a 63 6f 6d of chaining..com
5940: 70 6c 65 78 20 73 75 69 74 65 73 20 6f 66 20 74 plex suites of t
5950: 65 73 74 73 20 61 6e 64 20 6f 72 20 61 63 74 69 ests and or acti
5960: 6f 6e 73 2e 0d 0a 0d 0a 49 66 20 79 6f 75 20 61 ons.....If you a
5970: 72 65 20 6e 6f 74 20 75 73 69 6e 67 20 74 68 65 re not using the
5980: 20 63 75 72 72 65 6e 74 20 61 72 65 61 20 79 6f current area yo
5990: 75 20 63 61 6e 20 75 73 65 20 65 7a 73 74 65 70 u can use ezstep
59a0: 73 20 74 6f 20 72 65 74 72 69 65 76 65 0d 0a 61 s to retrieve..a
59b0: 6e 64 20 73 65 74 75 70 20 74 68 65 20 73 75 62 nd setup the sub
59c0: 2d 4d 65 67 61 74 65 73 74 20 72 75 6e 20 61 72 -Megatest run ar
59d0: 65 61 2e 0d 0a 0d 0a 49 6e 20 74 68 65 20 74 65 ea.....In the te
59e0: 73 74 63 6f 6e 66 69 67 3a 0d 0a 2d 2d 2d 2d 2d stconfig:..-----
59f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 73 75 62 ----------..[sub
5a00: 72 75 6e 5d 0d 0a 0d 0a 23 20 52 65 71 75 69 72 run]....# Requir
5a10: 65 64 3a 20 77 61 69 74 20 66 6f 72 20 74 68 65 ed: wait for the
5a20: 20 72 75 6e 20 6f 72 20 6a 75 73 74 20 6c 61 75 run or just lau
5a30: 6e 63 68 20 69 74 0d 0a 23 20 20 20 20 20 20 20 nch it..#
5a40: 20 20 20 20 69 66 20 6e 6f 20 74 68 65 6e 20 74 if no then t
5a50: 68 65 20 72 75 6e 20 77 69 6c 6c 20 62 65 20 61 he run will be a
5a60: 6e 20 61 75 74 6f 6d 61 74 69 63 20 50 41 53 53 n automatic PASS
5a70: 20 69 72 72 65 73 70 65 63 74 69 76 65 20 6f 66 irrespective of
5a80: 20 74 68 65 20 61 63 74 75 61 6c 20 72 65 73 75 the actual resu
5a90: 6c 74 0d 0a 72 75 6e 2d 77 61 69 74 20 79 65 73 lt..run-wait yes
5aa0: 7c 6e 6f 0d 0a 0d 0a 23 20 4f 70 74 69 6f 6e 61 |no....# Optiona
5ab0: 6c 3a 20 77 68 65 72 65 20 74 6f 20 65 78 65 63 l: where to exec
5ac0: 75 74 65 20 74 68 65 20 72 75 6e 2e 20 44 65 66 ute the run. Def
5ad0: 61 75 6c 74 20 69 73 20 74 68 65 20 63 75 72 72 ault is the curr
5ae0: 65 6e 74 20 72 75 6e 61 72 65 61 0d 0a 72 75 6e ent runarea..run
5af0: 2d 61 72 65 61 20 2f 73 6f 6d 65 2f 70 61 74 68 -area /some/path
5b00: 2f 74 6f 2f 6d 65 67 61 74 65 73 74 2f 61 72 65 /to/megatest/are
5b10: 61 0d 0a 0d 0a 23 20 4f 70 74 69 6f 6e 61 6c 3a a....# Optional:
5b20: 20 6d 65 74 68 6f 64 20 74 6f 20 75 73 65 20 74 method to use t
5b30: 6f 20 64 65 74 65 72 6d 69 6e 65 20 70 61 73 73 o determine pass
5b40: 2f 66 61 69 6c 20 73 74 61 74 75 73 20 6f 66 20 /fail status of
5b50: 74 68 65 20 72 75 6e 0d 0a 23 20 20 20 61 75 74 the run..# aut
5b60: 6f 20 28 64 65 66 61 75 6c 74 29 20 2d 20 72 6f o (default) - ro
5b70: 6c 6c 20 75 70 20 74 68 65 20 6e 65 74 20 73 74 ll up the net st
5b80: 61 74 65 2f 73 74 61 74 75 73 20 6f 66 20 74 68 ate/status of th
5b90: 65 20 73 75 62 2d 72 75 6e 0d 0a 23 20 20 20 6c e sub-run..# l
5ba0: 6f 67 70 72 6f 20 20 20 20 20 20 20 20 20 2d 20 ogpro -
5bb0: 75 73 65 20 74 68 65 20 70 72 6f 76 69 64 65 64 use the provided
5bc0: 20 6c 6f 67 70 72 6f 20 72 75 6c 65 73 2c 20 68 logpro rules, h
5bd0: 61 70 70 65 6e 73 20 61 75 74 6f 6d 61 74 69 63 appens automatic
5be0: 61 6c 6c 79 20 69 66 20 74 68 65 72 65 20 69 73 ally if there is
5bf0: 20 61 20 6c 6f 67 70 72 6f 20 73 65 63 74 69 6f a logpro sectio
5c00: 6e 0d 0a 23 20 70 61 73 73 66 61 69 6c 20 61 75 n..# passfail au
5c10: 74 6f 7c 6c 6f 67 70 72 6f 0d 0a 23 20 45 78 61 to|logpro..# Exa
5c20: 6d 70 6c 65 20 6f 66 20 6c 6f 67 70 72 6f 3a 0d mple of logpro:.
5c30: 0a 70 61 73 73 66 61 69 6c 20 6c 6f 67 70 72 6f .passfail logpro
5c40: 0d 0a 0d 0a 23 20 4f 70 74 69 6f 6e 61 6c 3a 20 ....# Optional:
5c50: 0d 0a 6c 6f 67 70 72 6f 20 3b 3b 20 69 66 20 74 ..logpro ;; if t
5c60: 68 69 73 20 73 65 63 74 69 6f 6e 20 65 78 69 73 his section exis
5c70: 74 73 20 74 68 65 6e 20 6c 6f 67 70 72 6f 20 69 ts then logpro i
5c80: 73 20 75 73 65 64 20 74 6f 20 64 65 74 65 72 6d s used to determ
5c90: 69 6e 65 20 70 61 73 73 2f 66 61 69 6c 0d 0a 20 ine pass/fail..
5ca0: 20 28 65 78 70 65 63 74 3a 72 65 71 75 69 72 65 (expect:require
5cb0: 64 20 69 6e 20 22 4c 6f 67 46 69 6c 65 42 6f 64 d in "LogFileBod
5cc0: 79 22 20 3e 3d 20 31 20 22 41 74 20 6c 65 61 73 y" >= 1 "At leas
5cd0: 74 20 6f 6e 65 20 70 61 73 73 22 20 23 2f 50 41 t one pass" #/PA
5ce0: 53 53 2f 29 0d 0a 20 20 28 65 78 70 65 63 74 3a SS/).. (expect:
5cf0: 65 72 72 6f 72 20 20 20 20 20 69 6e 20 22 4c 6f error in "Lo
5d00: 67 46 69 6c 65 42 6f 64 79 22 20 20 3d 20 30 20 gFileBody" = 0
5d10: 22 4e 6f 20 46 41 49 4c 73 20 61 6c 6c 6f 77 65 "No FAILs allowe
5d20: 64 22 20 20 23 2f 46 41 49 4c 2f 29 0d 0a 0d 0a d" #/FAIL/)....
5d30: 23 20 4f 70 74 69 6f 6e 61 6c 3a 20 74 61 72 67 # Optional: targ
5d40: 65 74 20 74 72 61 6e 73 6c 61 74 6f 72 2c 20 64 et translator, d
5d50: 65 66 61 75 6c 74 20 69 73 20 74 6f 20 75 73 65 efault is to use
5d60: 20 74 68 65 20 70 61 72 65 6e 74 20 74 61 72 67 the parent targ
5d70: 65 74 0d 0a 74 61 72 67 65 74 20 23 7b 73 68 65 et..target #{she
5d80: 6c 6c 20 73 6f 6d 65 73 63 72 69 70 74 2e 73 68 ll somescript.sh
5d90: 7d 0d 0a 0d 0a 23 20 4f 70 74 69 6f 6e 61 6c 3a }....# Optional:
5da0: 20 72 75 6e 6e 61 6d 65 20 74 72 61 6e 73 6c 61 runname transla
5db0: 74 6f 72 2f 67 65 6e 65 72 61 74 6f 72 2c 20 64 tor/generator, d
5dc0: 65 66 61 75 6c 74 20 69 73 20 74 6f 20 75 73 65 efault is to use
5dd0: 20 74 68 65 20 70 61 72 65 6e 74 20 72 75 6e 6e the parent runn
5de0: 61 6d 65 0d 0a 72 75 6e 2d 6e 61 6d 65 20 23 7b ame..run-name #{
5df0: 73 6f 6d 65 73 63 72 69 70 74 2e 73 68 7d 0d 0a somescript.sh}..
5e00: 0d 0a 23 20 4f 70 74 69 6f 6e 61 6c 3a 20 74 65 ..# Optional: te
5e10: 73 74 70 61 74 74 20 73 70 65 63 2c 20 64 65 66 stpatt spec, def
5e20: 61 75 6c 74 20 69 73 20 74 6f 20 66 69 72 73 74 ault is to first
5e30: 20 6c 6f 6f 6b 20 66 6f 72 20 54 45 53 54 50 41 look for TESTPA
5e40: 54 54 20 73 70 65 63 20 66 72 6f 6d 20 72 75 6e TT spec from run
5e50: 63 6f 6e 66 69 67 73 20 75 6e 6c 65 73 73 20 74 configs unless t
5e60: 68 65 72 65 20 69 73 20 61 20 63 6f 6e 74 6f 75 here is a contou
5e70: 72 20 73 70 65 63 0d 0a 74 65 73 74 2d 70 61 74 r spec..test-pat
5e80: 74 20 25 2f 69 74 65 6d 31 2c 74 65 73 74 32 0d t %/item1,test2.
5e90: 0a 0d 0a 23 20 4f 70 74 69 6f 6e 61 6c 3a 20 63 ...# Optional: c
5ea0: 6f 6e 74 6f 75 72 20 73 70 65 63 2c 20 75 73 65 ontour spec, use
5eb0: 20 74 68 65 20 6e 61 6d 65 64 20 63 6f 6e 74 6f the named conto
5ec0: 75 72 20 66 72 6f 6d 20 74 68 65 20 6d 65 67 61 ur from the mega
5ed0: 74 65 73 74 2e 63 6f 6e 66 69 67 20 63 6f 6e 74 test.config cont
5ee0: 6f 75 72 20 73 70 65 63 0d 0a 63 6f 6e 74 6f 75 our spec..contou
5ef0: 72 20 63 6f 6e 74 6f 75 72 6e 61 6d 65 20 23 23 r contourname ##
5f00: 23 20 4e 4f 54 45 3a 20 4e 6f 74 20 69 6d 70 6c # NOTE: Not impl
5f10: 65 6d 65 6e 74 65 64 20 79 65 74 21 20 4c 65 74 emented yet! Let
5f20: 20 75 73 20 6b 6e 6f 77 20 69 66 20 79 6f 75 20 us know if you
5f30: 6e 65 65 64 20 74 68 69 73 20 66 65 61 74 75 72 need this featur
5f40: 65 2e 0d 0a 0d 0a 23 20 4f 70 74 69 6f 6e 61 6c e.....# Optional
5f50: 3a 20 6d 6f 64 65 2d 70 61 74 74 2c 20 75 73 65 : mode-patt, use
5f60: 20 74 68 69 73 20 73 70 65 63 20 66 6f 72 20 74 this spec for t
5f70: 65 73 74 70 61 74 74 20 66 72 6f 6d 20 72 75 6e estpatt from run
5f80: 63 6f 6e 66 69 67 73 0d 0a 6d 6f 64 65 2d 70 61 configs..mode-pa
5f90: 74 74 20 54 45 53 54 50 41 54 54 0d 0a 0d 0a 23 tt TESTPATT....#
5fa0: 20 4f 70 74 69 6f 6e 61 6c 3a 20 74 61 67 2d 65 Optional: tag-e
5fb0: 78 70 72 2c 20 75 73 65 20 74 68 69 73 20 74 61 xpr, use this ta
5fc0: 67 2d 65 78 70 72 20 74 6f 20 73 65 6c 65 63 74 g-expr to select
5fd0: 20 74 65 73 74 73 0d 0a 74 61 67 2d 65 78 70 72 tests..tag-expr
5fe0: 20 71 75 69 63 6b 0d 0a 0d 0a 23 20 4f 70 74 69 quick....# Opti
5ff0: 6f 6e 61 6c 3a 20 28 6e 6f 74 20 79 65 74 20 69 onal: (not yet i
6000: 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 72 65 6d 6f mplemented, remo
6010: 76 65 2d 72 75 6e 73 20 69 73 20 61 6c 77 61 79 ve-runs is alway
6020: 73 20 70 72 6f 70 61 67 61 74 65 64 20 61 74 20 s propagated at
6030: 74 68 69 73 20 74 69 6d 65 29 2c 20 70 72 6f 70 this time), prop
6040: 61 67 61 74 65 20 74 68 65 73 65 20 61 63 74 69 agate these acti
6050: 6f 6e 73 20 66 72 6f 6d 20 74 68 65 20 70 61 72 ons from the par
6060: 65 6e 74 0d 0a 23 20 20 20 20 20 20 20 20 20 20 ent..#
6070: 20 74 65 73 74 0d 0a 23 20 20 20 4e 6f 74 65 2f test..# Note/
6080: 2f 20 64 65 66 61 75 6c 74 20 69 73 20 25 20 66 / default is % f
6090: 6f 72 20 61 6c 6c 0d 0a 70 72 6f 70 61 67 61 74 or all..propagat
60a0: 65 20 72 65 6d 6f 76 65 2d 72 75 6e 73 20 61 72 e remove-runs ar
60b0: 63 68 69 76 65 20 2e 2e 2e 0d 0a 0d 0a 2d 2d 2d chive .......---
60c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a ------------....
60d0: 50 72 6f 67 72 61 6d 6d 69 6e 67 20 41 50 49 0d Programming API.
60e0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
60f0: 0d 0a 0d 0a 54 68 65 73 65 20 72 6f 75 74 69 6e ....These routin
6100: 65 73 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 es can be called
6110: 20 66 72 6f 6d 20 74 68 65 20 6d 65 67 61 74 65 from the megate
6120: 73 74 20 72 65 70 6c 2e 20 0d 0a 0d 0a 2e 41 50 st repl. .....AP
6130: 49 20 4b 65 79 73 20 52 65 6c 61 74 65 64 20 43 I Keys Related C
6140: 61 6c 6c 73 0d 0a 5b 77 69 64 74 68 3d 22 37 30 alls..[width="70
6150: 25 22 2c 63 6f 6c 73 3d 22 5e 2c 32 6d 2c 32 6d %",cols="^,2m,2m
6160: 2c 32 6d 22 2c 66 72 61 6d 65 3d 22 74 6f 70 62 ,2m",frame="topb
6170: 6f 74 22 2c 6f 70 74 69 6f 6e 73 3d 22 68 65 61 ot",options="hea
6180: 64 65 72 2c 66 6f 6f 74 65 72 22 5d 0d 0a 7c 3d der,footer"]..|=
6190: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
61a0: 3d 3d 3d 3d 3d 0d 0a 7c 41 50 49 20 43 61 6c 6c =====..|API Call
61b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
61c0: 20 20 20 20 20 20 20 20 7c 20 50 75 72 70 6f 73 | Purpos
61d0: 65 20 63 6f 6d 6d 65 6e 74 73 20 20 20 7c 20 52 e comments | R
61e0: 65 74 75 72 6e 73 20 20 20 20 20 20 20 20 20 20 eturns
61f0: 20 20 20 20 20 20 20 7c 20 43 6f 6d 6d 65 6e 74 | Comment
6200: 73 0d 0a 7c 28 72 6d 74 3a 67 65 74 2d 6b 65 79 s..|(rmt:get-key
6210: 73 20 72 75 6e 2d 69 64 29 20 20 20 20 20 20 20 s run-id)
6220: 20 20 20 20 7c 20 20 20 20 20 20 20 20 20 20 20 |
6230: 20 20 20 20 20 20 20 20 20 7c 20 28 20 6b 65 79 | ( key
6240: 31 20 6b 65 79 32 20 2e 2e 2e 20 29 20 20 20 20 1 key2 ... )
6250: 20 20 20 7c 20 0d 0a 7c 20 28 72 6d 74 3a 67 65 | ..| (rmt:ge
6260: 74 2d 6b 65 79 2d 76 61 6c 2d 70 61 69 72 73 20 t-key-val-pairs
6270: 72 75 6e 2d 69 64 29 20 7c 20 20 20 20 20 20 20 run-id) |
6280: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 23 | #
6290: 74 3d 73 75 63 63 65 73 73 2f 23 66 3d 66 61 69 t=success/#f=fai
62a0: 6c 20 20 20 20 20 20 7c 20 57 6f 72 6b 73 20 6f l | Works o
62b0: 6e 6c 79 20 69 66 20 74 68 65 20 73 65 72 76 65 nly if the serve
62c0: 72 20 69 73 20 73 74 69 6c 6c 20 72 65 61 63 68 r is still reach
62d0: 61 62 6c 65 0d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d able..|=========
62e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d =============...
62f0: 0a 0d 0a 3a 6e 75 6d 62 65 72 65 64 21 3a 0d 0a ...:numbered!:..
6300: 0a 5a 20 34 65 39 63 63 36 61 65 61 61 34 65 64 .Z 4e9cc6aeaa4ed
6310: 30 63 62 62 35 34 37 37 32 62 35 33 64 39 33 61 0cbb54772b53d93a
6320: 64 63 36 0a dc6.