Wiki page
[reference] by
mrwellan
2018-02-15 10:44:59.
0000: 44 20 32 30 31 38 2d 30 32 2d 31 35 54 31 37 3a D 2018-02-15T17:
0010: 34 34 3a 35 39 2e 30 34 34 0a 4c 20 72 65 66 65 44:59.044.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 37 64 38 63 36 39 64 31 61 66 62 in.P 7d8c69d1afb
0040: 65 33 32 66 63 63 39 34 33 66 35 36 35 66 62 32 e32fcc943f565fb2
0050: 66 30 36 64 63 61 31 35 34 30 38 63 37 0a 55 20 f06dca15408c7.U
0060: 6d 72 77 65 6c 6c 61 6e 0a 57 20 32 33 30 31 33 mrwellan.W 23013
0070: 0a 52 65 66 65 72 65 6e 63 65 0d 0a 2d 2d 2d 2d .Reference..----
0080: 2d 2d 2d 2d 2d 0d 0a 0d 0a 43 6f 6e 66 69 67 20 -----....Config
0090: 46 69 6c 65 20 48 65 6c 70 65 72 73 0d 0a 7e 7e File Helpers..~~
00a0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
00b0: 7e 0d 0a 0d 0a 56 61 72 69 6f 75 73 20 68 65 6c ~....Various hel
00c0: 70 65 72 73 20 66 6f 72 20 6d 6f 72 65 20 61 64 pers for more ad
00d0: 76 61 6e 63 65 64 20 63 6f 6e 66 69 67 20 66 69 vanced config fi
00e0: 6c 65 73 2e 0d 0a 0d 0a 2e 48 65 6c 70 65 72 73 les......Helpers
00f0: 0d 0a 5b 77 69 64 74 68 3d 22 38 30 25 22 2c 63 ..[width="80%",c
0100: 6f 6c 73 3d 22 5e 2c 32 6d 2c 32 6d 2c 32 6d 22 ols="^,2m,2m,2m"
0110: 2c 66 72 61 6d 65 3d 22 74 6f 70 62 6f 74 22 2c ,frame="topbot",
0120: 6f 70 74 69 6f 6e 73 3d 22 68 65 61 64 65 72 22 options="header"
0130: 5d 0d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ]..|============
0140: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 7c 48 65 6c ==========..|Hel
0150: 70 65 72 20 20 20 20 20 20 20 20 20 20 20 20 20 per
0160: 20 20 20 20 20 20 20 20 20 7c 20 50 75 72 70 6f | Purpo
0170: 73 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 se
0180: 20 20 20 20 20 20 20 20 20 7c 20 56 61 6c 69 64 | Valid
0190: 20 76 61 6c 75 65 73 20 20 20 20 20 20 20 20 20 values
01a0: 20 20 20 7c 20 43 6f 6d 6d 65 6e 74 73 0d 0a 7c | Comments..|
01b0: 20 23 7b 73 63 68 65 6d 65 20 28 73 63 68 65 6d #{scheme (schem
01c0: 65 20 63 6f 64 65 2e 2e 2e 29 7d 20 7c 20 45 78 e code...)} | Ex
01d0: 65 63 75 74 65 20 61 72 62 69 74 72 61 72 79 20 ecute arbitrary
01e0: 73 63 68 65 6d 65 20 63 6f 64 65 20 7c 20 41 6e scheme code | An
01f0: 79 20 76 61 6c 69 64 20 73 63 68 65 6d 65 20 20 y valid scheme
0200: 20 20 20 20 20 20 7c 20 56 61 6c 75 65 20 72 65 | Value re
0210: 74 75 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 turned from the
0220: 63 61 6c 6c 20 69 73 20 63 6f 6e 76 65 72 74 65 call is converte
0230: 64 20 74 6f 20 61 20 73 74 72 69 6e 67 20 61 6e d to a string an
0240: 64 20 70 72 6f 63 65 73 73 65 64 20 61 73 20 70 d processed as p
0250: 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 art of the confi
0260: 67 20 66 69 6c 65 0d 0a 7c 20 23 7b 73 79 73 74 g file..| #{syst
0270: 65 6d 20 63 6f 6d 6d 61 6e 64 7d 20 20 20 20 20 em command}
0280: 20 20 20 20 20 7c 20 45 78 65 63 75 74 65 20 70 | Execute p
0290: 72 6f 67 72 61 6d 2c 20 69 6e 73 65 72 74 73 20 rogram, inserts
02a0: 65 78 69 74 20 63 6f 64 65 20 20 7c 20 41 6e 79 exit code | Any
02b0: 20 76 61 6c 69 64 20 55 6e 69 78 20 63 6f 6d 6d valid Unix comm
02c0: 61 6e 64 20 20 7c 20 44 69 73 63 61 72 64 73 20 and | Discards
02d0: 74 68 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 the output from
02e0: 74 68 65 20 70 72 6f 67 72 61 6d 0d 0a 7c 20 23 the program..| #
02f0: 7b 73 68 65 6c 6c 20 20 63 6f 6d 6d 61 6e 64 7d {shell command}
0300: 20 6f 72 20 23 7b 73 68 20 2e 2e 2e 7d 20 20 7c or #{sh ...} |
0310: 20 45 78 65 63 75 74 65 20 70 72 6f 67 72 61 6d Execute program
0320: 2c 20 69 6e 73 65 72 74 73 20 72 65 73 75 6c 74 , inserts result
0330: 20 66 72 6f 6d 20 73 74 64 6f 75 74 20 7c 20 41 from stdout | A
0340: 6e 79 20 76 61 6c 69 64 20 55 6e 69 78 20 63 6f ny valid Unix co
0350: 6d 6d 61 6e 64 20 7c 20 56 61 6c 75 65 20 72 65 mmand | Value re
0360: 74 75 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 turned from the
0370: 63 61 6c 6c 20 69 73 20 63 6f 6e 76 65 72 74 65 call is converte
0380: 64 20 74 6f 20 61 20 73 74 72 69 6e 67 20 61 6e d to a string an
0390: 64 20 70 72 6f 63 65 73 73 65 64 20 61 73 20 70 d processed as p
03a0: 61 72 74 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 art of the confi
03b0: 67 20 66 69 6c 65 0d 0a 7c 20 23 7b 72 65 61 6c g file..| #{real
03c0: 70 61 74 68 20 70 61 74 68 7d 20 6f 72 20 23 7b path path} or #{
03d0: 72 70 20 2e 2e 2e 7d 20 20 20 7c 20 52 65 70 6c rp ...} | Repl
03e0: 61 63 65 20 77 69 74 68 20 6e 6f 72 6d 61 6c 69 ace with normali
03f0: 7a 65 64 20 70 61 74 68 20 7c 20 4d 75 73 74 20 zed path | Must
0400: 62 65 20 61 20 76 61 6c 69 64 20 70 61 74 68 20 be a valid path
0410: 7c 0d 0a 7c 20 23 7b 67 65 74 65 6e 76 20 56 41 |..| #{getenv VA
0420: 52 7d 20 6f 72 20 23 7b 67 76 20 56 41 52 7d 20 R} or #{gv VAR}
0430: 20 20 20 20 20 7c 20 52 65 70 6c 61 63 65 20 77 | Replace w
0440: 69 74 68 20 63 6f 6e 74 65 6e 74 20 6f 66 20 65 ith content of e
0450: 6e 76 20 76 61 72 69 61 62 6c 65 20 7c 20 4d 75 nv variable | Mu
0460: 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 76 61 st be a valid va
0470: 72 20 7c 0d 0a 7c 20 23 7b 67 65 74 20 73 20 76 r |..| #{get s v
0480: 7d 20 6f 72 20 23 7b 67 20 73 20 76 7d 20 20 20 } or #{g s v}
0490: 20 20 7c 20 52 65 70 6c 61 63 65 20 77 69 74 68 | Replace with
04a0: 20 76 61 72 69 61 62 6c 65 20 76 20 66 72 6f 6d variable v from
04b0: 20 73 65 63 74 69 6f 6e 20 73 20 7c 20 56 61 72 section s | Var
04c0: 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 64 65 iable must be de
04d0: 66 69 6e 65 64 20 62 65 66 6f 72 65 20 75 73 65 fined before use
04e0: 20 7c 0d 0a 7c 20 23 7b 72 67 65 74 20 76 7d 20 |..| #{rget v}
04f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0500: 20 7c 20 52 65 70 6c 61 63 65 20 77 69 74 68 20 | Replace with
0510: 76 61 72 69 61 62 6c 65 20 76 20 66 72 6f 6d 20 variable v from
0520: 74 61 72 67 65 74 20 6f 72 20 64 65 66 61 75 6c target or defaul
0530: 74 20 6f 66 20 72 75 6e 63 6f 6e 66 69 67 73 20 t of runconfigs
0540: 66 69 6c 65 20 7c 20 7c 0d 0a 7c 20 23 7b 6d 74 file | |..| #{mt
0550: 72 61 68 7d 20 20 20 20 20 20 20 20 20 20 20 20 rah}
0560: 20 20 20 20 20 20 20 7c 20 52 65 70 6c 61 63 65 | Replace
0570: 20 77 69 74 68 20 74 68 65 20 70 61 74 68 20 74 with the path t
0580: 6f 20 74 68 65 20 6d 65 67 61 74 65 73 74 20 74 o the megatest t
0590: 65 73 74 73 75 69 74 65 20 61 72 65 61 20 7c 20 estsuite area |
05a0: 7c 20 0d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ..|===========
05b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 43 ===========....C
05c0: 6f 6e 66 69 67 20 46 69 6c 65 20 53 65 74 74 69 onfig File Setti
05d0: 6e 67 73 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ngs..~~~~~~~~~~~
05e0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 53 65 74 ~~~~~~~~~....Set
05f0: 74 69 6e 67 73 20 69 6e 20 6d 65 67 61 74 65 73 tings in megates
0600: 74 2e 63 6f 6e 66 69 67 0d 0a 0d 0a 43 6f 6e 66 t.config....Conf
0610: 69 67 20 46 69 6c 65 20 41 64 64 69 74 69 6f 6e ig File Addition
0620: 61 6c 20 46 65 61 74 75 72 65 73 0d 0a 7e 7e 7e al Features..~~~
0630: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
0640: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a ~~~~~~~~~~~~....
0650: 49 6e 63 6c 75 64 69 6e 67 20 6f 75 74 70 75 74 Including output
0660: 20 66 72 6f 6d 20 61 20 73 63 72 69 70 74 20 61 from a script a
0670: 73 20 69 66 20 69 74 20 77 61 73 20 69 6e 6c 69 s if it was inli
0680: 6e 65 20 74 6f 20 74 68 65 20 63 6f 6e 66 69 67 ne to the config
0690: 20 66 69 6c 65 3a 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d file:....------
06a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
06b0: 2d 2d 2d 0d 0a 5b 73 63 72 69 70 74 69 6e 63 20 ---..[scriptinc
06c0: 6d 79 73 63 72 69 70 74 2e 73 68 5d 0d 0a 2d 2d myscript.sh]..--
06d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
06e0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 49 66 20 74 68 -------....If th
06f0: 65 20 73 63 72 69 70 74 20 6f 75 74 70 75 74 73 e script outputs
0700: 3a 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d :....-----------
0710: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
0720: 5b 69 74 65 6d 73 5d 0d 0a 41 20 61 20 62 20 63 [items]..A a b c
0730: 0d 0a 42 20 64 20 65 20 66 0d 0a 2d 2d 2d 2d 2d ..B d e f..-----
0740: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0750: 2d 2d 2d 2d 0d 0a 0d 0a 54 68 65 6e 20 74 68 65 ----....Then the
0760: 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 77 6f 75 config file wou
0770: 6c 64 20 65 66 66 65 63 74 69 76 65 6c 79 20 61 ld effectively a
0780: 70 70 65 61 72 20 74 6f 20 63 6f 6e 74 61 69 6e ppear to contain
0790: 20 61 6e 20 69 74 65 6d 73 20 73 65 63 74 69 6f an items sectio
07a0: 6e 0d 0a 65 78 61 63 74 6c 79 20 6c 69 6b 65 20 n..exactly like
07b0: 74 68 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 the output from
07c0: 74 68 65 20 73 63 72 69 70 74 2e 20 54 68 69 73 the script. This
07d0: 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 is useful when
07e0: 64 79 6e 61 6d 69 63 61 6c 6c 79 0d 0a 63 72 65 dynamically..cre
07f0: 61 74 69 6e 67 20 69 74 65 6d 73 2c 20 69 74 65 ating items, ite
0800: 6d 73 74 61 62 6c 65 73 20 61 6e 64 20 6f 74 68 mstables and oth
0810: 65 72 20 63 6f 6e 66 69 67 20 73 74 72 75 63 74 er config struct
0820: 75 72 65 73 2e 20 59 6f 75 20 63 61 6e 20 73 65 ures. You can se
0830: 65 20 74 68 65 0d 0a 65 78 70 61 6e 73 69 6f 6e e the..expansion
0840: 20 6f 66 20 74 68 65 20 63 61 6c 6c 20 62 79 20 of the call by
0850: 6c 6f 6f 6b 69 6e 67 20 69 6e 20 74 68 65 20 63 looking in the c
0860: 61 63 68 65 64 20 66 69 6c 65 73 20 28 6c 6f 6f ached files (loo
0870: 6b 20 69 6e 20 79 6f 75 72 20 6c 69 6e 6b 74 72 k in your linktr
0880: 65 65 0d 0a 66 6f 72 20 6d 65 67 61 74 65 73 74 ee..for megatest
0890: 2e 63 6f 6e 66 69 67 20 61 6e 64 20 72 75 6e 63 .config and runc
08a0: 6f 6e 66 69 67 73 2e 63 6f 6e 66 69 67 20 63 61 onfigs.config ca
08b0: 63 68 65 20 66 69 6c 65 73 20 61 6e 64 20 69 6e che files and in
08c0: 20 79 6f 75 72 20 74 65 73 74 20 72 75 6e 0d 0a your test run..
08d0: 61 72 65 61 73 20 66 6f 72 20 74 68 65 20 65 78 areas for the ex
08e0: 70 61 6e 64 65 64 20 61 6e 64 20 63 61 63 68 65 panded and cache
08f0: 64 20 74 65 73 74 63 6f 6e 66 69 67 29 2e 0d 0a d testconfig)...
0900: 0d 0a 57 69 6c 64 63 61 72 64 73 20 61 6e 64 20 ..Wildcards and
0910: 72 65 67 65 78 65 73 20 69 6e 20 54 61 72 67 65 regexes in Targe
0920: 74 73 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ts....----------
0930: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
0940: 0a 5b 61 2f 32 2f 62 5d 0d 0a 56 41 52 31 20 56 .[a/2/b]..VAR1 V
0950: 41 4c 31 0d 0a 0d 0a 5b 61 2f 25 2f 62 5d 0d 0a AL1....[a/%/b]..
0960: 56 41 52 31 20 56 41 4c 32 0d 0a 2d 2d 2d 2d 2d VAR1 VAL2..-----
0970: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0980: 2d 2d 2d 2d 0d 0a 0d 0a 57 69 6c 6c 20 72 65 73 ----....Will res
0990: 75 6c 74 20 69 6e 3a 0d 0a 0d 0a 2d 2d 2d 2d 2d ult in:....-----
09a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
09b0: 2d 2d 2d 2d 0d 0a 5b 61 2f 32 2f 62 5d 0d 0a 56 ----..[a/2/b]..V
09c0: 41 52 31 20 56 41 4c 32 0d 0a 2d 2d 2d 2d 2d 2d AR1 VAL2..------
09d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
09e0: 2d 2d 2d 0d 0a 0d 0a 43 61 6e 20 75 73 65 20 65 ---....Can use e
09f0: 69 74 68 65 72 20 77 69 6c 64 63 61 72 64 20 6f ither wildcard o
0a00: 66 20 22 25 22 20 6f 72 20 61 20 72 65 67 75 6c f "%" or a regul
0a10: 61 72 20 65 78 70 72 65 73 73 69 6f 6e 3a 0d 0a ar expression:..
0a20: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
0a30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 2f 61 -----------..[/a
0a40: 62 63 2e 2a 64 65 66 2f 5d 0d 0a 2d 2d 2d 2d 2d bc.*def/]..-----
0a50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0a60: 2d 2d 2d 2d 0d 0a 0d 0a 44 69 73 6b 20 53 70 61 ----....Disk Spa
0a70: 63 65 20 43 68 65 63 6b 73 0d 0a 5e 5e 5e 5e 5e ce Checks..^^^^^
0a80: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a ^^^^^^^^^^^^....
0a90: 53 6f 6d 65 20 70 61 72 61 6d 65 74 65 72 73 20 Some parameters
0aa0: 79 6f 75 20 63 61 6e 20 70 75 74 20 69 6e 20 74 you can put in t
0ab0: 68 65 20 5b 73 65 74 75 70 5d 20 73 65 63 74 69 he [setup] secti
0ac0: 6f 6e 20 6f 66 20 6d 65 67 61 74 65 73 74 2e 63 on of megatest.c
0ad0: 6f 6e 66 69 67 3a 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d onfig:....------
0ae0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 -------------..#
0af0: 20 6d 69 6e 69 6d 75 6d 20 73 70 61 63 65 20 72 minimum space r
0b00: 65 71 75 69 72 65 64 20 69 6e 20 61 20 72 75 6e equired in a run
0b10: 20 64 69 73 6b 20 0d 0a 6d 69 6e 73 70 61 63 65 disk ..minspace
0b20: 20 31 30 30 30 30 30 30 30 0d 0a 0d 0a 23 20 6d 10000000....# m
0b30: 69 6e 69 6d 75 6d 20 73 70 61 63 65 20 72 65 71 inimum space req
0b40: 75 69 72 65 64 20 69 6e 20 64 62 64 69 72 3a 0d uired in dbdir:.
0b50: 0a 64 62 64 69 72 2d 73 70 61 63 65 2d 72 65 71 .dbdir-space-req
0b60: 75 69 72 65 64 20 31 30 30 30 30 30 0d 0a 0d 0a uired 100000....
0b70: 23 20 73 63 72 69 70 74 20 74 68 61 74 20 74 61 # script that ta
0b80: 6b 65 73 20 70 61 74 68 20 61 73 20 70 61 72 61 kes path as para
0b90: 6d 65 74 65 72 20 61 6e 64 20 72 65 74 75 72 6e meter and return
0ba0: 73 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 s number of byte
0bb0: 73 20 61 76 61 69 6c 61 62 6c 65 3a 0d 0a 66 72 s available:..fr
0bc0: 65 65 2d 73 70 61 63 65 2d 73 63 72 69 70 74 20 ee-space-script
0bd0: 63 68 65 63 6b 2d 73 70 61 63 65 2e 73 68 0d 0a check-space.sh..
0be0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0bf0: 2d 2d 2d 0d 0a 0d 0a 54 72 69 6d 20 74 72 61 69 ---....Trim trai
0c00: 6c 69 6e 67 20 73 70 61 63 65 73 0d 0a 5e 5e 5e ling spaces..^^^
0c10: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
0c20: 5e 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ^....-----------
0c30: 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 63 6f 6e 66 69 67 -------..[config
0c40: 66 3a 73 65 74 74 69 6e 67 73 20 74 72 69 6d 2d f:settings trim-
0c50: 74 72 61 69 6c 69 6e 67 2d 73 70 61 63 65 73 20 trailing-spaces
0c60: 79 65 73 5d 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d yes]..----------
0c70: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 4a 6f 62 20 --------....Job
0c80: 53 75 62 6d 69 73 73 69 6f 6e 20 43 6f 6e 74 72 Submission Contr
0c90: 6f 6c 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ol..^^^^^^^^^^^^
0ca0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a 53 75 ^^^^^^^^^^....Su
0cb0: 62 6d 69 74 20 6a 6f 62 73 20 74 6f 20 48 6f 73 bmit jobs to Hos
0cc0: 74 20 54 79 70 65 73 20 62 61 73 65 64 20 6f 6e t Types based on
0cd0: 20 54 65 73 74 20 4e 61 6d 65 0d 0a 2b 2b 2b 2b Test Name..++++
0ce0: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ++++++++++++++++
0cf0: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b ++++++++++++++++
0d00: 2b 2b 2b 2b 2b 2b 2b 2b 0d 0a 0d 0a 2e 49 6e 20 ++++++++.....In
0d10: 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67 0d megatest.config.
0d20: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
0d30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 68 6f 73 74 ---------..[host
0d40: 2d 74 79 70 65 73 5d 0d 0a 67 65 6e 65 72 61 6c -types]..general
0d50: 20 20 20 6e 62 66 61 6b 65 0d 0a 72 65 6d 6f 74 nbfake..remot
0d60: 65 20 20 20 20 62 73 75 62 0d 0a 0d 0a 5b 6c 61 e bsub....[la
0d70: 75 6e 63 68 65 72 73 5d 0d 0a 72 75 6e 66 69 72 unchers]..runfir
0d80: 73 74 2f 73 75 6d 25 20 72 65 6d 6f 74 65 0d 0a st/sum% remote..
0d90: 25 20 67 65 6e 65 72 61 6c 0d 0a 0d 0a 5b 6a 6f % general....[jo
0da0: 62 74 6f 6f 6c 73 5d 0d 0a 6c 61 75 6e 63 68 65 btools]..launche
0db0: 72 20 62 73 75 62 0d 0a 23 20 69 66 20 64 65 66 r bsub..# if def
0dc0: 69 6e 65 64 20 61 6e 64 20 6e 6f 74 20 22 6e 6f ined and not "no
0dd0: 22 20 66 6c 65 78 69 2d 6c 61 75 6e 63 68 65 72 " flexi-launcher
0de0: 20 77 69 6c 6c 20 62 79 70 61 73 73 20 6c 61 75 will bypass lau
0df0: 6e 63 68 65 72 20 75 6e 6c 65 73 73 20 0d 0a 23 ncher unless ..#
0e00: 20 74 68 65 72 65 20 69 73 20 6e 6f 20 68 6f 73 there is no hos
0e10: 74 2d 74 79 70 65 20 6d 61 74 63 68 2e 0d 0a 66 t-type match...f
0e20: 6c 65 78 69 2d 6c 61 75 6e 63 68 65 72 20 79 65 lexi-launcher ye
0e30: 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d s..-------------
0e40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 68 -----------....h
0e50: 6f 73 74 2d 74 79 70 65 73 0d 0a 2b 2b 2b 2b 2b ost-types..+++++
0e60: 2b 2b 2b 2b 2b 0d 0a 0d 0a 4c 69 73 74 20 6f 66 +++++....List of
0e70: 20 68 6f 73 74 20 74 79 70 65 73 20 61 6e 64 20 host types and
0e80: 74 68 65 20 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 the commandline
0e90: 74 6f 20 72 75 6e 20 61 20 6a 6f 62 20 6f 6e 20 to run a job on
0ea0: 74 68 61 74 20 68 6f 73 74 20 74 79 70 65 2e 0d that host type..
0eb0: 0a 0d 0a 2e 68 6f 73 74 2d 74 79 70 65 20 3d 3e ....host-type =>
0ec0: 20 6c 61 75 6e 63 68 20 63 6f 6d 6d 61 6e 64 0d launch command.
0ed0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 67 .------------..g
0ee0: 65 6e 65 72 61 6c 20 6e 62 66 61 6b 65 0d 0a 2d eneral nbfake..-
0ef0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 6c -----------....l
0f00: 61 75 6e 63 68 65 72 73 0d 0a 2b 2b 2b 2b 2b 2b aunchers..++++++
0f10: 2b 2b 2b 0d 0a 0d 0a 2e 74 65 73 74 2f 69 74 65 +++.....test/ite
0f20: 6d 70 61 74 68 20 3d 3e 20 68 6f 73 74 2d 74 79 mpath => host-ty
0f30: 70 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d pe..------------
0f40: 0d 0a 72 75 6e 66 69 72 73 74 2f 73 75 6d 25 20 ..runfirst/sum%
0f50: 72 65 6d 6f 74 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d remote..--------
0f60: 2d 2d 2d 2d 0d 0a 0d 0a 4d 69 73 63 65 6c 6c 61 ----....Miscella
0f70: 6e 65 6f 75 73 20 53 65 74 75 70 20 49 74 65 6d neous Setup Item
0f80: 73 0d 0a 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b s..+++++++++++++
0f90: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 0d 0a 0d 0a ++++++++++++....
0fa0: 41 74 74 65 6d 70 74 20 74 6f 20 72 65 72 75 6e Attempt to rerun
0fb0: 20 74 65 73 74 73 20 69 6e 20 22 53 54 55 43 4b tests in "STUCK
0fc0: 2f 44 45 41 44 22 2c 20 22 6e 2f 61 22 2c 20 22 /DEAD", "n/a", "
0fd0: 5a 45 52 4f 5f 49 54 45 4d 53 22 20 73 74 61 74 ZERO_ITEMS" stat
0fe0: 65 73 2e 0d 0a 0d 0a 2e 49 6e 20 6d 65 67 61 74 es......In megat
0ff0: 65 73 74 2e 63 6f 6e 66 69 67 0d 0a 2d 2d 2d 2d est.config..----
1000: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
1010: 5b 73 65 74 75 70 5d 0d 0a 72 65 72 75 6e 73 20 [setup]..reruns
1020: 35 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5..-------------
1030: 2d 2d 2d 2d 2d 0d 0a 0d 0a 52 65 70 6c 61 63 65 -----....Replace
1040: 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 6c 61 the default bla
1050: 63 6b 6c 69 73 74 65 64 20 65 6e 76 69 72 6f 6e cklisted environ
1060: 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20 77 ment variables w
1070: 69 74 68 20 75 73 65 72 20 73 75 70 70 6c 69 65 ith user supplie
1080: 64 0d 0a 6c 69 73 74 2e 0d 0a 0d 0a 44 65 66 61 d..list.....Defa
1090: 75 6c 74 20 6c 69 73 74 3a 20 55 53 45 52 20 48 ult list: USER H
10a0: 4f 4d 45 20 44 49 53 50 4c 41 59 20 4c 53 5f 43 OME DISPLAY LS_C
10b0: 4f 4c 4f 52 53 20 58 4b 45 59 53 59 4d 44 42 20 OLORS XKEYSYMDB
10c0: 45 44 49 54 4f 52 20 4d 41 4b 45 46 4c 41 47 53 EDITOR MAKEFLAGS
10d0: 20 4d 41 4b 45 46 20 4d 41 4b 45 4f 56 45 52 52 MAKEF MAKEOVERR
10e0: 49 44 45 53 0d 0a 0d 0a 2e 41 64 64 20 61 20 22 IDES.....Add a "
10f0: 62 61 64 22 20 76 61 72 69 61 62 6c 65 20 22 50 bad" variable "P
1100: 52 4f 4d 50 54 22 20 74 6f 20 74 68 65 20 76 61 ROMPT" to the va
1110: 72 69 61 62 6c 65 73 20 74 68 61 74 20 77 69 6c riables that wil
1120: 6c 20 62 65 20 63 6f 6d 6d 65 6e 74 65 64 20 6f l be commented o
1130: 75 74 0d 0a 69 6e 20 74 68 65 20 6d 65 67 61 74 ut..in the megat
1140: 65 73 74 2e 73 68 20 61 6e 64 20 6d 65 67 61 74 est.sh and megat
1150: 65 73 74 2e 63 73 68 20 66 69 6c 65 73 3a 0d 0a est.csh files:..
1160: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1170: 2d 0d 0a 5b 73 65 74 75 70 5d 0d 0a 62 6c 61 63 -..[setup]..blac
1180: 6b 6c 69 73 74 76 61 72 73 20 55 53 45 52 20 48 klistvars USER H
1190: 4f 4d 45 20 44 49 53 50 4c 41 59 20 4c 53 5f 43 OME DISPLAY LS_C
11a0: 4f 4c 4f 52 53 20 58 4b 45 59 53 59 4d 44 42 20 OLORS XKEYSYMDB
11b0: 45 44 49 54 4f 52 20 4d 41 4b 45 46 4c 41 47 53 EDITOR MAKEFLAGS
11c0: 20 50 52 4f 4d 50 54 0d 0a 2d 2d 2d 2d 2d 2d 2d PROMPT..-------
11d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 52 75 ----------....Ru
11e0: 6e 20 74 69 6d 65 20 6c 69 6d 69 74 0d 0a 2b 2b n time limit..++
11f0: 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 0d 0a 0d 0a ++++++++++++....
1200: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1210: 2d 0d 0a 5b 73 65 74 75 70 5d 0d 0a 23 20 74 68 -..[setup]..# th
1220: 69 73 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 is will automati
1230: 63 61 6c 6c 79 20 6b 69 6c 6c 20 74 68 65 20 74 cally kill the t
1240: 65 73 74 20 69 66 20 69 74 20 72 75 6e 73 20 66 est if it runs f
1250: 6f 72 20 6d 6f 72 65 20 74 68 61 6e 20 31 68 20 or more than 1h
1260: 32 6d 20 61 6e 64 20 33 73 0d 0a 72 75 6e 74 69 2m and 3s..runti
1270: 6d 65 6c 69 6d 20 31 68 20 32 6d 20 33 73 0d 0a melim 1h 2m 3s..
1280: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1290: 2d 0d 0a 0d 0a 54 65 73 74 73 20 62 72 6f 77 73 -....Tests brows
12a0: 65 72 20 76 69 65 77 0d 0a 7e 7e 7e 7e 7e 7e 7e er view..~~~~~~~
12b0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 54 ~~~~~~~~~~~....T
12c0: 68 65 20 74 65 73 74 73 20 62 72 6f 77 73 65 72 he tests browser
12d0: 20 28 73 65 65 20 74 68 65 20 52 75 6e 20 43 6f (see the Run Co
12e0: 6e 74 72 6f 6c 20 74 61 62 20 6f 6e 20 74 68 65 ntrol tab on the
12f0: 20 64 61 73 68 62 6f 61 72 64 29 20 68 61 73 20 dashboard) has
1300: 74 77 6f 20 76 69 65 77 73 20 66 6f 72 20 64 69 two views for di
1310: 73 70 6c 61 79 69 6e 67 20 74 68 65 20 74 65 73 splaying the tes
1320: 74 73 2e 20 0d 0a 0d 0a 2e 20 44 6f 74 20 28 67 ts. ..... Dot (g
1330: 72 61 70 68 76 69 7a 29 20 62 61 73 65 64 20 74 raphviz) based t
1340: 72 65 65 0d 0a 2e 20 4e 6f 20 64 6f 74 2c 20 70 ree... No dot, p
1350: 6c 61 69 6e 20 6c 69 73 74 69 6e 67 0d 0a 0d 0a lain listing....
1360: 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 74 The default is t
1370: 68 65 20 67 72 61 70 68 76 69 7a 20 62 61 73 65 he graphviz base
1380: 64 20 74 72 65 65 20 62 75 74 20 69 66 20 79 6f d tree but if yo
1390: 75 72 20 74 65 73 74 73 20 64 6f 6e 27 74 20 76 ur tests don't v
13a0: 69 65 77 0d 0a 77 65 6c 6c 20 69 6e 20 74 68 61 iew..well in tha
13b0: 74 20 6d 6f 64 65 20 74 68 65 6e 20 75 73 65 20 t mode then use
13c0: 22 6e 6f 64 6f 74 22 20 74 6f 20 74 75 72 6e 20 "nodot" to turn
13d0: 69 74 20 6f 66 66 2e 0d 0a 0d 0a 2d 2d 2d 2d 2d it off.....-----
13e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 73 ------------..[s
13f0: 65 74 75 70 5d 0d 0a 6e 6f 64 6f 74 0d 0a 2d 2d etup]..nodot..--
1400: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
1410: 0a 0d 0a 44 61 73 68 62 6f 61 72 64 20 73 65 74 ...Dashboard set
1420: 74 69 6e 67 73 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e tings..~~~~~~~~~
1430: 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 2e 52 75 ~~~~~~~~~.....Ru
1440: 6e 73 20 74 61 62 20 62 75 74 74 6f 6e 73 2c 20 ns tab buttons,
1450: 66 6f 6e 74 20 61 6e 64 20 73 69 7a 65 0d 0a 2d font and size..-
1460: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1470: 2d 0d 0a 5b 64 61 73 68 62 6f 61 72 64 5d 0d 0a -..[dashboard]..
1480: 62 74 6e 2d 68 65 69 67 68 74 20 78 31 34 0d 0a btn-height x14..
1490: 62 74 6e 2d 66 6f 6e 74 73 7a 20 31 30 0d 0a 63 btn-fontsz 10..c
14a0: 65 6c 6c 2d 77 69 64 74 68 20 36 30 0d 0a 2d 2d ell-width 60..--
14b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
14c0: 0d 0a 0d 0a 44 61 74 61 62 61 73 65 20 73 65 74 ....Database set
14d0: 74 69 6e 67 73 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e tings..~~~~~~~~~
14e0: 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 2e 44 61 74 ~~~~~~~~.....Dat
14f0: 61 62 61 73 65 20 63 6f 6e 66 69 67 20 73 65 74 abase config set
1500: 74 69 6e 67 73 20 69 6e 20 5b 73 65 74 75 70 5d tings in [setup]
1510: 20 73 65 63 74 69 6f 6e 20 6f 66 20 6d 65 67 61 section of mega
1520: 74 65 73 74 2e 63 6f 6e 66 69 67 0d 0a 5b 77 69 test.config..[wi
1530: 64 74 68 3d 22 37 30 25 22 2c 63 6f 6c 73 3d 22 dth="70%",cols="
1540: 5e 2c 32 6d 2c 32 6d 2c 32 6d 22 2c 66 72 61 6d ^,2m,2m,2m",fram
1550: 65 3d 22 74 6f 70 62 6f 74 22 2c 6f 70 74 69 6f e="topbot",optio
1560: 6e 73 3d 22 68 65 61 64 65 72 22 5d 0d 0a 7c 3d ns="header"]..|=
1570: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1580: 3d 3d 3d 3d 3d 0d 0a 7c 56 61 72 20 20 20 20 20 =====..|Var
1590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
15a0: 20 20 7c 20 50 75 72 70 6f 73 65 20 20 20 20 20 | Purpose
15b0: 20 20 20 20 20 20 20 7c 20 56 61 6c 69 64 20 76 | Valid v
15c0: 61 6c 75 65 73 20 20 20 20 20 20 20 20 20 20 20 alues
15d0: 20 7c 20 43 6f 6d 6d 65 6e 74 73 0d 0a 7c 64 65 | Comments..|de
15e0: 6c 61 79 2d 6f 6e 2d 62 75 73 79 20 20 20 20 20 lay-on-busy
15f0: 20 20 20 20 20 20 20 20 7c 20 50 72 65 76 65 6e | Preven
1600: 74 20 63 6f 6e 63 75 72 72 65 6e 74 20 61 63 63 t concurrent acc
1610: 65 73 73 20 69 73 73 75 65 73 20 7c 20 79 65 73 ess issues | yes
1620: 5c 7c 6e 6f 20 6f 72 20 6e 6f 74 20 64 65 66 69 \|no or not defi
1630: 6e 65 64 20 7c 20 44 65 66 61 75 6c 74 3d 6e 6f ned | Default=no
1640: 2c 20 6d 61 79 20 68 65 6c 70 20 6f 6e 20 73 6f , may help on so
1650: 6d 65 20 6e 65 74 77 6f 72 6b 20 66 69 6c 65 20 me network file
1660: 73 79 73 74 65 6d 73 2c 20 6d 61 79 20 73 6c 6f systems, may slo
1670: 77 20 74 68 69 6e 67 73 20 64 6f 77 6e 20 61 6c w things down al
1680: 73 6f 2e 0d 0a 7c 64 61 65 6d 6f 6e 69 7a 65 20 so...|daemonize
1690: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
16a0: 7c 20 44 61 65 6d 6f 6e 69 7a 65 20 74 68 65 20 | Daemonize the
16b0: 73 65 72 76 65 72 20 6f 6e 20 73 74 61 72 74 20 server on start
16c0: 7c 20 79 65 73 5c 7c 6e 6f 20 6f 72 20 6e 6f 74 | yes\|no or not
16d0: 20 64 65 66 69 6e 65 64 20 7c 20 44 65 66 61 75 defined | Defau
16e0: 6c 74 3d 6e 6f 0d 0a 7c 66 61 73 74 73 74 61 72 lt=no..|faststar
16f0: 74 09 09 20 20 20 7c 20 41 6c 6c 20 64 69 72 65 t.. | All dire
1700: 63 74 20 66 69 6c 65 20 61 63 63 65 73 73 20 74 ct file access t
1710: 6f 20 73 71 6c 69 74 65 20 64 62 20 66 69 6c 65 o sqlite db file
1720: 73 20 7c 20 79 65 73 5c 7c 6e 6f 20 6f 72 20 6e s | yes\|no or n
1730: 6f 74 20 64 65 66 69 6e 65 64 20 7c 20 44 65 66 ot defined | Def
1740: 61 75 6c 74 3d 79 65 73 2c 20 73 75 67 67 65 73 ault=yes, sugges
1750: 74 20 6e 6f 20 66 6f 72 20 63 65 6e 74 72 61 6c t no for central
1760: 20 61 75 74 6f 6d 61 74 65 64 20 73 79 73 74 65 automated syste
1770: 6d 73 20 61 6e 64 20 79 65 73 20 66 6f 72 20 69 ms and yes for i
1780: 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 0d 0a nteractive use..
1790: 7c 68 6f 6d 65 68 6f 73 74 20 09 09 20 20 20 7c |homehost .. |
17a0: 20 53 74 61 72 74 20 73 65 72 76 65 72 73 20 6f Start servers o
17b0: 6e 20 74 68 69 73 20 68 6f 73 74 20 7c 20 3c 68 n this host | <h
17c0: 6f 73 74 6e 61 6d 65 3e 20 7c 20 44 65 66 61 75 ostname> | Defau
17d0: 6c 74 73 20 74 6f 20 6c 6f 63 61 6c 20 68 6f 73 lts to local hos
17e0: 74 0d 0a 7c 68 6f 73 74 6e 61 6d 65 09 09 20 20 t..|hostname..
17f0: 20 7c 20 48 6f 73 74 6e 61 6d 65 20 74 6f 20 62 | Hostname to b
1800: 69 6e 64 20 74 6f 20 7c 20 3c 68 6f 73 74 6e 61 ind to | <hostna
1810: 6d 65 3e 5c 7c 2d 09 20 20 7c 20 4f 6e 20 6d 75 me>\|-. | On mu
1820: 6c 74 69 2d 68 6f 6d 65 64 20 68 6f 73 74 73 20 lti-homed hosts
1830: 61 6c 6c 6f 77 73 20 62 69 6e 64 69 6e 67 20 74 allows binding t
1840: 6f 20 73 70 65 63 69 66 69 63 20 68 6f 73 74 6e o specific hostn
1850: 61 6d 65 0d 0a 7c 6c 6f 77 70 6f 72 74 09 09 20 ame..|lowport..
1860: 20 20 7c 20 53 74 61 72 74 20 73 65 61 72 63 68 | Start search
1870: 69 6e 67 20 66 6f 72 20 61 20 70 6f 72 74 20 61 ing for a port a
1880: 74 20 74 68 69 73 20 70 6f 72 74 6e 75 6d 7c 20 t this portnum|
1890: 33 32 37 36 38 20 7c 20 0d 0a 7c 72 65 71 75 69 32768 | ..|requi
18a0: 72 65 64 09 09 20 20 20 7c 20 53 65 72 76 65 72 red.. | Server
18b0: 20 72 65 71 75 69 72 65 64 20 20 20 20 7c 20 79 required | y
18c0: 65 73 5c 7c 6e 6f 20 6f 72 20 6e 6f 74 20 64 65 es\|no or not de
18d0: 66 69 6e 65 64 20 20 7c 20 44 65 66 61 75 6c 74 fined | Default
18e0: 3d 6e 6f 2c 20 66 6f 72 63 65 20 73 74 61 72 74 =no, force start
18f0: 20 6f 66 20 73 65 72 76 65 72 20 61 6c 77 61 79 of server alway
1900: 73 0d 0a 7c 73 65 72 76 65 72 2d 71 75 65 72 79 s..|server-query
1910: 2d 74 68 72 65 73 68 6f 6c 64 09 20 20 20 7c 20 -threshold. |
1920: 53 74 61 72 74 20 73 65 72 76 65 72 20 77 68 65 Start server whe
1930: 6e 20 71 75 65 72 69 65 73 20 74 61 6b 65 20 6c n queries take l
1940: 6f 6e 67 65 72 20 74 68 61 6e 20 74 68 69 73 20 onger than this
1950: 7c 20 6e 75 6d 62 65 72 20 69 6e 20 6d 69 6c 6c | number in mill
1960: 69 73 65 63 6f 6e 64 73 20 7c 20 44 65 66 61 75 iseconds | Defau
1970: 6c 74 3d 33 30 30 0d 0a 7c 74 69 6d 65 6f 75 74 lt=300..|timeout
1980: 09 09 20 20 20 7c 20 68 74 74 70 20 61 70 69 20 .. | http api
1990: 74 69 6d 65 6f 75 74 20 09 7c 20 6e 75 6d 62 65 timeout .| numbe
19a0: 72 20 69 6e 20 68 6f 75 72 73 09 20 20 7c 20 44 r in hours. | D
19b0: 65 66 61 75 6c 74 20 69 73 20 31 20 6d 69 6e 75 efault is 1 minu
19c0: 74 65 2c 20 64 6f 20 6e 6f 74 20 63 68 61 6e 67 te, do not chang
19d0: 65 0d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d e..|============
19e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 54 68 ==========....Th
19f0: 65 20 74 65 73 74 63 6f 6e 66 69 67 20 46 69 6c e testconfig Fil
1a00: 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d e..-------------
1a10: 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 53 65 74 75 70 20 ------....Setup
1a20: 73 65 63 74 69 6f 6e 0d 0a 7e 7e 7e 7e 7e 7e 7e section..~~~~~~~
1a30: 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 48 65 61 64 65 72 ~~~~~~....Header
1a40: 0d 0a 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a 2d 2d 2d 2d ..^^^^^^....----
1a50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
1a60: 0a 5b 73 65 74 75 70 5d 0d 0a 2d 2d 2d 2d 2d 2d .[setup]..------
1a70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d -------------...
1a80: 0a 54 68 65 20 72 75 6e 73 63 72 69 70 74 20 6d .The runscript m
1a90: 65 74 68 6f 64 20 69 73 20 61 20 62 72 75 74 65 ethod is a brute
1aa0: 20 66 6f 72 63 65 20 77 61 79 20 74 6f 20 72 75 force way to ru
1ab0: 6e 20 73 63 72 69 70 74 73 20 77 68 65 72 65 20 n scripts where
1ac0: 74 68 65 0d 0a 75 73 65 72 20 69 73 20 72 65 73 the..user is res
1ad0: 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 73 65 74 ponsible for set
1ae0: 74 69 6e 67 20 53 54 41 54 45 20 61 6e 64 20 53 ting STATE and S
1af0: 54 41 54 55 53 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d TATUS....-------
1b00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 72 75 ------------..ru
1b10: 6e 73 63 72 69 70 74 20 6d 61 69 6e 2e 63 73 68 nscript main.csh
1b20: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
1b30: 2d 2d 2d 2d 2d 0d 0a 0d 0a 52 65 71 75 69 72 65 -----....Require
1b40: 6d 65 6e 74 73 20 73 65 63 74 69 6f 6e 0d 0a 7e ments section..~
1b50: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
1b60: 7e 7e 7e 0d 0a 0d 0a 2e 48 65 61 64 65 72 0d 0a ~~~.....Header..
1b70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1b80: 2d 2d 2d 0d 0a 5b 72 65 71 75 69 72 65 6d 65 6e ---..[requiremen
1b90: 74 73 5d 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ts]..-----------
1ba0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 57 61 69 74 --------....Wait
1bb0: 20 6f 6e 20 4f 74 68 65 72 20 54 65 73 74 73 0d on Other Tests.
1bc0: 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e .^^^^^^^^^^^^^^^
1bd0: 5e 5e 5e 5e 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d ^^^^....--------
1be0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 20 41 -----------..# A
1bf0: 20 6e 6f 72 6d 61 6c 20 77 61 69 74 6f 6e 20 77 normal waiton w
1c00: 61 69 74 73 20 66 6f 72 20 74 68 65 20 70 72 69 aits for the pri
1c10: 6f 72 20 74 65 73 74 73 20 74 6f 20 62 65 20 43 or tests to be C
1c20: 4f 4d 50 4c 45 54 45 44 20 0d 0a 23 20 61 6e 64 OMPLETED ..# and
1c30: 20 50 41 53 53 2c 20 43 48 45 43 4b 20 6f 72 20 PASS, CHECK or
1c40: 57 41 49 56 45 44 0d 0a 77 61 69 74 6f 6e 20 74 WAIVED..waiton t
1c50: 65 73 74 31 20 74 65 73 74 32 0d 0a 2d 2d 2d 2d est1 test2..----
1c60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
1c70: 0a 0d 0a 4d 6f 64 65 0d 0a 5e 5e 5e 5e 0d 0a 0d ...Mode..^^^^...
1c80: 0a 54 68 65 20 64 65 66 61 75 6c 74 20 28 69 2e .The default (i.
1c90: 65 2e 20 69 66 20 6d 6f 64 65 20 69 73 20 6e 6f e. if mode is no
1ca0: 74 20 73 70 65 63 69 66 69 65 64 29 20 69 73 20 t specified) is
1cb0: 6e 6f 72 6d 61 6c 2e 20 41 6c 6c 20 70 72 65 2d normal. All pre-
1cc0: 64 65 70 65 6e 64 65 6e 74 20 74 65 73 74 73 0d dependent tests.
1cd0: 0a 6d 75 73 74 20 62 65 20 43 4f 4d 50 4c 45 54 .must be COMPLET
1ce0: 45 44 20 61 6e 64 20 50 41 53 53 2c 20 43 48 45 ED and PASS, CHE
1cf0: 43 4b 20 6f 72 20 57 41 49 56 45 44 20 62 65 66 CK or WAIVED bef
1d00: 6f 72 65 20 74 68 65 20 74 65 73 74 20 77 69 6c ore the test wil
1d10: 6c 20 73 74 61 72 74 0d 0a 0d 0a 2d 2d 2d 2d 2d l start....-----
1d20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
1d30: 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 5d 0d 0a [requirements]..
1d40: 6d 6f 64 65 20 20 20 6e 6f 72 6d 61 6c 0d 0a 2d mode normal..-
1d50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1d60: 2d 2d 0d 0a 0d 0a 54 68 65 20 74 6f 70 6c 65 76 --....The toplev
1d70: 65 6c 20 6d 6f 64 65 20 72 65 71 75 69 72 65 73 el mode requires
1d80: 20 6f 6e 6c 79 20 74 68 61 74 20 74 68 65 20 70 only that the p
1d90: 72 69 6f 72 20 74 65 73 74 73 20 61 72 65 20 43 rior tests are C
1da0: 4f 4d 50 4c 45 54 45 44 2e 0d 0a 0d 0a 2d 2d 2d OMPLETED.....---
1db0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
1dc0: 0d 0a 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 5d ..[requirements]
1dd0: 0d 0a 6d 6f 64 65 20 74 6f 70 6c 65 76 65 6c 0d ..mode toplevel.
1de0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
1df0: 2d 2d 2d 2d 0d 0a 0d 0a 41 20 69 74 65 6d 20 62 ----....A item b
1e00: 61 73 65 64 20 77 61 69 74 6f 6e 20 77 69 6c 6c ased waiton will
1e10: 20 73 74 61 72 74 20 69 74 65 6d 73 20 69 6e 20 start items in
1e20: 61 20 74 65 73 74 20 77 68 65 6e 20 74 68 65 20 a test when the
1e30: 73 61 6d 65 2d 6e 61 6d 65 64 0d 0a 69 74 65 6d same-named..item
1e40: 20 69 73 20 43 4f 4d 50 4c 45 54 45 44 20 61 6e is COMPLETED an
1e50: 64 20 50 41 53 53 2c 20 43 48 45 43 4b 20 6f 72 d PASS, CHECK or
1e60: 20 57 41 49 56 45 44 20 69 6e 20 74 68 65 20 70 WAIVED in the p
1e70: 72 69 6f 72 20 74 65 73 74 2e 20 54 68 69 73 0d rior test. This.
1e80: 0a 77 61 73 20 68 69 73 74 6f 72 69 63 61 6c 6c .was historicall
1e90: 79 20 63 61 6c 6c 65 64 20 22 69 74 65 6d 77 61 y called "itemwa
1ea0: 69 74 22 20 6d 6f 64 65 2e 20 54 68 65 20 74 65 it" mode. The te
1eb0: 72 6d 73 20 22 69 74 65 6d 77 61 69 74 22 20 61 rms "itemwait" a
1ec0: 6e 64 0d 0a 22 69 74 65 6d 6d 61 74 63 68 22 20 nd.."itemmatch"
1ed0: 61 72 65 20 73 79 6e 6f 6e 79 6d 73 2e 0d 0a 0d are synonyms....
1ee0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
1ef0: 2d 2d 2d 2d 0d 0a 5b 72 65 71 75 69 72 65 6d 65 ----..[requireme
1f00: 6e 74 73 5d 0d 0a 6d 6f 64 65 20 69 74 65 6d 6d nts]..mode itemm
1f10: 61 74 63 68 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d atch..----------
1f20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 4f 76 65 ---------....Ove
1f30: 72 72 69 64 69 6e 67 20 45 6e 76 69 72 6f 6d 65 rriding Envirome
1f40: 6e 74 20 56 61 72 69 61 62 6c 65 73 0d 0a 7e 7e nt Variables..~~
1f50: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
1f60: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d ~~~~~~~~~~~~~...
1f70: 0a 4f 76 65 72 72 69 64 65 20 76 61 72 69 61 62 .Override variab
1f80: 6c 65 73 20 62 65 66 6f 72 65 20 73 74 61 72 74 les before start
1f90: 69 6e 67 20 74 68 65 20 74 65 73 74 2e 20 43 61 ing the test. Ca
1fa0: 6e 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 73 20 n include files
1fb0: 28 70 65 72 68 61 70 73 20 67 65 6e 65 72 61 74 (perhaps generat
1fc0: 65 64 20 62 79 20 6d 65 67 61 74 65 73 74 20 2d ed by megatest -
1fd0: 65 6e 76 64 65 6c 74 61 20 6f 72 20 73 69 6d 69 envdelta or simi
1fe0: 6c 61 72 29 2e 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d lar).....-------
1ff0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b -------------..[
2000: 70 72 65 2d 6c 61 75 6e 63 68 2d 65 6e 76 2d 76 pre-launch-env-v
2010: 61 72 73 5d 0d 0a 56 41 52 31 20 76 61 6c 75 65 ars]..VAR1 value
2020: 31 0d 0a 0d 0a 23 20 47 65 74 20 73 6f 6d 65 20 1....# Get some
2030: 67 65 6e 65 72 61 74 65 64 20 73 65 74 74 69 6e generated settin
2040: 67 73 0d 0a 5b 69 6e 63 6c 75 64 65 20 2e 2e 2f gs..[include ../
2050: 67 65 6e 65 72 61 74 65 64 2d 76 61 72 73 2e 63 generated-vars.c
2060: 6f 6e 66 69 67 5d 0d 0a 0d 0a 23 20 55 73 65 20 onfig]....# Use
2070: 74 68 69 73 20 74 72 69 63 6b 20 74 6f 20 75 6e this trick to un
2080: 73 65 74 20 76 61 72 69 61 62 6c 65 73 0d 0a 23 set variables..#
2090: 7b 73 63 68 65 6d 65 20 28 75 6e 73 65 74 65 6e {scheme (unseten
20a0: 76 20 22 46 4f 4f 42 41 52 22 29 7d 0d 0a 2d 2d v "FOOBAR")}..--
20b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
20c0: 2d 2d 0d 0a 0d 0a 49 74 65 6d 6d 61 70 20 48 61 --....Itemmap Ha
20d0: 6e 64 6c 69 6e 67 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e ndling..~~~~~~~~
20e0: 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 46 6f 72 20 ~~~~~~~~....For
20f0: 63 61 73 65 73 20 77 65 72 65 20 74 68 65 20 64 cases were the d
2100: 65 70 65 6e 64 65 6e 74 20 74 65 73 74 20 68 61 ependent test ha
2110: 73 20 61 20 73 69 6d 69 6c 61 72 20 62 75 74 20 s a similar but
2120: 6e 6f 74 20 69 64 65 6e 74 69 63 61 6c 0d 0a 69 not identical..i
2130: 74 65 6d 70 61 74 68 20 74 6f 20 74 68 65 20 64 tempath to the d
2140: 6f 77 6e 73 74 72 65 61 6d 20 74 65 73 74 20 61 ownstream test a
2150: 6e 20 69 74 65 6d 6d 61 70 20 63 61 6e 20 61 6c n itemmap can al
2160: 6c 6f 77 20 66 6f 72 20 69 74 65 6d 6d 61 74 63 low for itemmatc
2170: 68 0d 0a 6d 6f 64 65 0d 0a 0d 0a 2e 65 78 61 6d h..mode.....exam
2180: 70 6c 65 20 66 6f 72 20 72 65 6d 6f 76 69 6e 67 ple for removing
2190: 20 70 61 72 74 20 6f 66 20 69 74 65 6d 6d 61 70 part of itemmap
21a0: 20 66 6f 72 20 77 61 69 74 6f 6e 20 74 65 73 74 for waiton test
21b0: 20 28 65 67 3a 20 69 74 65 6d 20 2b 66 6f 6f 2d (eg: item +foo-
21c0: 78 2f 62 61 72 2b 20 64 65 70 65 6e 64 73 20 6f x/bar+ depends o
21d0: 6e 20 77 61 69 74 6f 6e 27 73 20 69 74 65 6d 20 n waiton's item
21e0: 2b 79 2f 62 61 72 2b 29 0d 0a 2d 2d 2d 2d 2d 2d +y/bar+)..------
21f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b -------------..[
2200: 72 65 71 75 69 72 65 6d 65 6e 74 73 5d 0d 0a 6d requirements]..m
2210: 6f 64 65 20 69 74 65 6d 77 61 69 74 0d 0a 23 20 ode itemwait..#
2220: 69 74 65 6d 6d 61 70 20 3c 69 74 65 6d 20 70 61 itemmap <item pa
2230: 74 74 65 72 6e 20 66 6f 72 20 74 68 69 73 20 74 ttern for this t
2240: 65 73 74 3e 20 20 3c 69 74 65 6d 20 72 65 70 6c est> <item repl
2250: 61 63 65 6d 65 6e 74 20 70 61 74 74 65 72 6e 20 acement pattern
2260: 66 6f 72 20 77 61 69 74 6f 6e 20 74 65 73 74 3e for waiton test>
2270: 0d 0a 69 74 65 6d 6d 61 70 20 2e 2a 78 2f 20 79 ..itemmap .*x/ y
2280: 2f 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d /....-----------
2290: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e 65 78 61 --------.....exa
22a0: 6d 70 6c 65 20 66 6f 72 20 72 65 6d 6f 76 69 6e mple for removin
22b0: 67 20 70 61 72 74 20 6f 66 20 69 74 65 6d 6d 61 g part of itemma
22c0: 70 20 66 6f 72 20 77 61 69 74 6f 6e 20 74 65 73 p for waiton tes
22d0: 74 20 28 65 67 3a 20 69 74 65 6d 20 2b 66 6f 6f t (eg: item +foo
22e0: 2f 62 61 72 2f 62 61 7a 2b 20 69 6e 20 74 68 69 /bar/baz+ in thi
22f0: 73 20 74 65 73 74 20 64 65 70 65 6e 64 73 20 6f s test depends o
2300: 6e 20 77 61 69 74 6f 6e 27 73 20 69 74 65 6d 20 n waiton's item
2310: 2b 62 61 7a 2b 29 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d +baz+)..--------
2320: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 23 -----------....#
2330: 20 23 23 20 70 61 74 74 65 72 6e 20 72 65 70 6c ## pattern repl
2340: 61 63 65 6d 65 6e 74 20 6e 6f 74 65 73 0d 0a 23 acement notes..#
2350: 0d 0a 23 20 23 23 20 45 78 61 6d 70 6c 65 0d 0a ..# ## Example..
2360: 23 20 23 23 20 52 65 6d 6f 76 65 20 65 76 65 72 # ## Remove ever
2370: 79 74 68 69 6e 67 20 75 70 20 74 6f 20 74 68 65 ything up to the
2380: 20 6c 61 73 74 20 2f 0d 0a 5b 72 65 71 75 69 72 last /..[requir
2390: 65 6d 65 6e 74 73 5d 0d 0a 6d 6f 64 65 20 69 74 ements]..mode it
23a0: 65 6d 77 61 69 74 0d 0a 23 20 69 74 65 6d 6d 61 emwait..# itemma
23b0: 70 20 3c 69 74 65 6d 20 70 61 74 74 65 72 6e 20 p <item pattern
23c0: 66 6f 72 20 74 68 69 73 20 74 65 73 74 3e 20 3c for this test> <
23d0: 6e 6f 74 68 69 6e 67 20 68 65 72 65 20 69 6e 64 nothing here ind
23e0: 69 63 61 74 65 73 20 72 65 6d 6f 76 61 6c 3e 0d icates removal>.
23f0: 0a 69 74 65 6d 6d 61 70 20 2e 2a 2f 0d 0a 2d 2d .itemmap .*/..--
2400: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2410: 2d 0d 0a 0d 0a 2e 65 78 61 6d 70 6c 65 20 72 65 -.....example re
2420: 70 6c 61 63 69 6e 67 20 70 61 72 74 20 6f 66 20 placing part of
2430: 69 74 65 6d 6d 61 70 20 66 6f 72 20 28 65 67 3a itemmap for (eg:
2440: 20 69 74 65 6d 20 2b 66 6f 6f 2f 31 32 33 34 2b item +foo/1234+
2450: 20 77 69 6c 6c 20 69 6d 70 6c 79 20 77 61 69 74 will imply wait
2460: 6f 6e 27 73 20 69 74 65 6d 20 2b 62 61 72 2f 31 on's item +bar/1
2470: 32 33 34 2b 29 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 234+)..---------
2480: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 23 0d ----------....#.
2490: 0a 23 20 23 23 20 45 78 61 6d 70 6c 65 0d 0a 23 .# ## Example..#
24a0: 20 23 23 20 52 65 70 6c 61 63 65 20 66 6f 6f 2f ## Replace foo/
24b0: 20 77 69 74 68 20 62 61 72 2f 0d 0a 5b 72 65 71 with bar/..[req
24c0: 75 69 72 65 6d 65 6e 74 73 5d 0d 0a 6d 6f 64 65 uirements]..mode
24d0: 20 69 74 65 6d 77 61 69 74 0d 0a 23 20 69 74 65 itemwait..# ite
24e0: 6d 6d 61 70 20 3c 69 74 65 6d 20 70 61 74 74 65 mmap <item patte
24f0: 72 6e 20 66 6f 72 20 74 68 69 73 20 74 65 73 74 rn for this test
2500: 3e 20 20 3c 69 74 65 6d 20 72 65 70 6c 61 63 65 > <item replace
2510: 6d 65 6e 74 20 70 61 74 74 65 72 6e 20 66 6f 72 ment pattern for
2520: 20 77 61 69 74 6f 6e 20 74 65 73 74 3e 0d 0a 69 waiton test>..i
2530: 74 65 6d 6d 61 70 20 66 6f 6f 2f 20 62 61 72 2f temmap foo/ bar/
2540: 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....------------
2550: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e 65 78 61 6d -------.....exam
2560: 70 6c 65 20 66 6f 72 20 62 61 63 6b 72 65 66 65 ple for backrefe
2570: 72 65 6e 63 65 20 28 65 67 3a 20 69 74 65 6d 20 rence (eg: item
2580: 2b 66 6f 6f 32 33 2f 74 68 75 64 2b 20 77 69 6c +foo23/thud+ wil
2590: 6c 20 69 6d 70 6c 79 20 77 61 69 74 6f 6e 27 73 l imply waiton's
25a0: 20 69 74 65 6d 20 2b 6e 75 6d 2d 32 33 2f 62 61 item +num-23/ba
25b0: 72 2f 74 68 75 64 2b 0d 0a 2d 2d 2d 2d 2d 2d 2d r/thud+..-------
25c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 0d ------------..#.
25d0: 0a 23 20 23 23 20 45 78 61 6d 70 6c 65 0d 0a 23 .# ## Example..#
25e0: 20 23 23 20 63 61 6e 20 75 73 65 20 5c 7b 6e 75 ## can use \{nu
25f0: 6d 62 65 72 7d 20 69 6e 20 72 65 70 6c 61 63 65 mber} in replace
2600: 6d 65 6e 74 20 70 61 74 74 65 72 6e 20 74 6f 20 ment pattern to
2610: 62 61 63 6b 72 65 66 65 72 65 6e 63 65 20 61 20 backreference a
2620: 28 63 61 70 74 75 72 65 29 20 66 72 6f 6d 20 6d (capture) from m
2630: 61 74 63 68 69 6e 67 20 70 61 74 74 65 72 6e 20 atching pattern
2640: 73 69 6d 69 6c 61 72 20 74 6f 20 73 65 64 20 6f similar to sed o
2650: 72 20 70 65 72 6c 0d 0a 5b 72 65 71 75 69 72 65 r perl..[require
2660: 6d 65 6e 74 73 5d 0d 0a 6d 6f 64 65 20 69 74 65 ments]..mode ite
2670: 6d 77 61 69 74 0d 0a 23 20 69 74 65 6d 6d 61 70 mwait..# itemmap
2680: 20 3c 69 74 65 6d 20 70 61 74 74 65 72 6e 20 66 <item pattern f
2690: 6f 72 20 74 68 69 73 20 74 65 73 74 3e 20 20 3c or this test> <
26a0: 69 74 65 6d 20 72 65 70 6c 61 63 65 6d 65 6e 74 item replacement
26b0: 20 70 61 74 74 65 72 6e 20 66 6f 72 20 77 61 69 pattern for wai
26c0: 74 6f 6e 20 74 65 73 74 3e 0d 0a 69 74 65 6d 6d ton test>..itemm
26d0: 61 70 20 66 6f 6f 28 5c 64 2b 29 2f 20 6e 75 6d ap foo(\d+)/ num
26e0: 2d 5c 31 2f 62 61 72 2f 0d 0a 0d 0a 2d 2d 2d 2d -\1/bar/....----
26f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
2700: 0a 0d 0a 2e 65 78 61 6d 70 6c 65 20 6d 75 6c 74 ....example mult
2710: 69 70 6c 65 20 69 74 65 6d 6d 61 70 73 0d 0a 2d iple itemmaps..-
2720: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2730: 2d 2d 0d 0a 0d 0a 23 20 6d 75 6c 74 69 2d 6c 69 --....# multi-li
2740: 6e 65 3b 20 6d 61 74 63 68 65 73 20 61 72 65 20 ne; matches are
2750: 61 70 70 6c 69 65 64 20 69 6e 20 74 68 65 20 6c applied in the l
2760: 69 73 74 65 64 20 6f 72 64 65 72 0d 0a 23 20 54 isted order..# T
2770: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 6f 75 he following wou
2780: 6c 64 20 6d 61 70 3a 0d 0a 23 20 20 20 61 31 32 ld map:..# a12
2790: 33 62 33 32 31 20 74 6f 20 62 33 32 31 66 6f 6f 3b321 to b321foo
27a0: 61 31 32 33 20 74 68 65 6e 20 74 6f 20 33 32 31 a123 then to 321
27b0: 66 6f 6f 61 31 32 33 70 0d 0a 23 0d 0a 5b 72 65 fooa123p..#..[re
27c0: 71 75 69 72 65 6d 65 6e 74 73 5d 0d 0a 69 74 65 quirements]..ite
27d0: 6d 6d 61 70 20 28 61 5c 64 2b 29 28 62 5c 64 2b mmap (a\d+)(b\d+
27e0: 29 20 5c 32 66 6f 6f 5c 31 0d 0a 20 20 62 28 2e ) \2foo\1.. b(.
27f0: 2a 29 20 5c 31 70 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d *) \1p..--------
2800: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 0d -----------.....
2810: 0a 43 6f 6d 70 6c 65 78 20 6d 61 70 70 69 6e 67 .Complex mapping
2820: 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ..^^^^^^^^^^^^^^
2830: 5e 0d 0a 43 6f 6d 70 6c 65 78 20 6d 61 70 70 69 ^..Complex mappi
2840: 6e 67 73 20 63 61 6e 20 62 65 20 68 61 6e 64 6c ngs can be handl
2850: 65 64 20 77 69 74 68 20 61 20 73 65 70 61 72 61 ed with a separa
2860: 74 65 20 5b 69 74 65 6d 6d 61 70 5d 20 73 65 63 te [itemmap] sec
2870: 74 69 6f 6e 20 28 69 6e 73 74 65 61 64 20 69 66 tion (instead if
2880: 20 61 6e 20 69 74 65 6d 6d 61 70 20 6c 69 6e 65 an itemmap line
2890: 20 69 6e 20 74 68 65 20 5b 72 65 71 75 69 72 65 in the [require
28a0: 6d 65 6e 74 73 5d 20 73 65 63 74 69 6f 6e 29 0d ments] section).
28b0: 0a 0d 0a 45 61 63 68 20 6c 69 6e 65 20 69 6e 20 ...Each line in
28c0: 61 6e 20 69 74 65 6d 6d 61 70 20 73 65 63 74 69 an itemmap secti
28d0: 6f 6e 20 73 74 61 72 74 73 20 77 69 74 68 20 61 on starts with a
28e0: 20 77 61 69 74 6f 6e 20 74 65 73 74 20 6e 61 6d waiton test nam
28f0: 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e e followed by an
2900: 20 69 74 65 6d 6d 61 70 20 65 78 70 72 65 73 73 itemmap express
2910: 69 6f 6e 0d 0a 0d 0a 2e 65 67 3a 20 54 68 65 20 ion.....eg: The
2920: 66 6f 6c 6c 6f 77 69 6e 67 20 63 61 75 73 65 73 following causes
2930: 20 77 61 69 74 6f 6e 20 74 65 73 74 20 41 20 69 waiton test A i
2940: 74 65 6d 20 2b 62 61 72 2f 31 32 33 34 2b 20 74 tem +bar/1234+ t
2950: 6f 20 72 75 6e 20 77 68 65 6e 20 6f 75 72 20 74 o run when our t
2960: 65 73 74 27 73 20 2b 66 6f 6f 2f 31 32 33 34 2b est's +foo/1234+
2970: 20 69 74 65 6d 20 69 73 20 72 65 71 75 65 73 74 item is request
2980: 65 64 20 61 73 20 77 65 6c 6c 20 61 73 20 63 61 ed as well as ca
2990: 75 73 69 6e 67 20 77 61 69 74 6f 6e 20 74 65 73 using waiton tes
29a0: 74 20 42 27 73 20 2b 62 6c 61 68 2b 20 69 74 65 t B's +blah+ ite
29b0: 6d 20 74 6f 20 72 75 6e 20 77 68 65 6e 20 6f 75 m to run when ou
29c0: 72 20 74 65 73 74 27 73 20 2b 73 74 75 66 66 2f r test's +stuff/
29d0: 62 6c 61 68 2b 20 69 74 65 6d 20 69 73 20 72 65 blah+ item is re
29e0: 71 75 65 73 74 65 64 0d 0a 2d 2d 2d 2d 2d 2d 2d quested..-------
29f0: 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 69 74 65 6d 6d 61 -------..[itemma
2a00: 70 5d 0d 0a 41 20 66 6f 6f 2f 20 62 61 72 2f 0d p]..A foo/ bar/.
2a10: 0a 42 20 73 74 75 66 66 2f 0d 0a 2d 2d 2d 2d 2d .B stuff/..-----
2a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 0d 0a 43 ---------......C
2a30: 6f 6d 70 6c 65 78 20 6d 61 70 70 69 6e 67 20 65 omplex mapping e
2a40: 78 61 6d 70 6c 65 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e xample..^^^^^^^^
2a50: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d ^^^^^^^^^^^^^^^.
2a60: 0a 0d 0a 0d 0a 0d 0a 2f 2f 20 69 6d 61 67 65 3a .......// image:
2a70: 3a 69 74 65 6d 6d 61 70 2e 70 6e 67 5b 5d 0d 0a :itemmap.png[]..
2a80: 69 6d 61 67 65 3a 3a 63 6f 6d 70 6c 65 78 2d 69 image::complex-i
2a90: 74 65 6d 6d 61 70 2e 70 6e 67 5b 5d 0d 0a 0d 0a temmap.png[]....
2aa0: 0d 0a 57 65 20 61 63 63 6f 6d 70 6c 69 73 68 20 ..We accomplish
2ab0: 74 68 69 73 20 62 79 20 63 6f 6e 66 69 67 75 72 this by configur
2ac0: 69 6e 67 20 74 68 65 20 74 65 73 74 63 6f 6e 66 ing the testconf
2ad0: 69 67 73 20 6f 66 20 6f 75 72 20 74 65 73 74 73 igs of our tests
2ae0: 20 43 20 44 20 61 6e 64 20 45 20 61 73 20 66 6f C D and E as fo
2af0: 6c 6c 6f 77 73 3a 0d 0a 0d 0a 2e 54 65 73 74 63 llows:.....Testc
2b00: 6f 6e 66 69 67 20 66 6f 72 20 54 65 73 74 20 45 onfig for Test E
2b10: 20 68 61 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d has..----------
2b20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 72 ------------..[r
2b30: 65 71 75 69 72 65 6d 65 6e 74 73 5d 0d 0a 77 61 equirements]..wa
2b40: 69 74 6f 6e 20 43 0d 0a 69 74 65 6d 6d 61 70 20 iton C..itemmap
2b50: 28 5c 64 2b 29 2f 72 65 73 20 5c 31 2f 62 62 0d (\d+)/res \1/bb.
2b60: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
2b70: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e 54 65 73 74 -------.....Test
2b80: 63 6f 6e 66 69 67 20 66 6f 72 20 54 65 73 74 20 config for Test
2b90: 44 20 68 61 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d D has..---------
2ba0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b -------------..[
2bb0: 72 65 71 75 69 72 65 6d 65 6e 74 73 5d 0d 0a 77 requirements]..w
2bc0: 61 69 74 6f 6e 20 43 0d 0a 69 74 65 6d 6d 61 70 aiton C..itemmap
2bd0: 20 28 5c 64 2b 29 2f 72 65 73 20 5c 31 2f 61 61 (\d+)/res \1/aa
2be0: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
2bf0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e 54 65 73 --------.....Tes
2c00: 74 63 6f 6e 66 69 67 20 66 6f 72 20 54 65 73 74 tconfig for Test
2c10: 20 43 20 68 61 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d C has..--------
2c20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
2c30: 5b 72 65 71 75 69 72 65 6d 65 6e 74 73 5d 0d 0a [requirements]..
2c40: 77 61 69 74 6f 6e 20 41 20 42 0d 0a 0d 0a 5b 69 waiton A B....[i
2c50: 74 65 6d 6d 61 70 5d 0d 0a 41 20 28 5c 64 2b 29 temmap]..A (\d+)
2c60: 2f 61 61 20 61 61 2f 5c 31 0d 0a 42 20 28 5c 64 /aa aa/\1..B (\d
2c70: 2b 29 2f 62 62 20 62 62 2f 5c 31 0d 0a 2d 2d 2d +)/bb bb/\1..---
2c80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2c90: 2d 2d 2d 0d 0a 0d 0a 2e 54 65 73 74 63 6f 6e 66 ---.....Testconf
2ca0: 69 67 73 20 66 6f 72 20 54 65 73 74 20 42 20 61 igs for Test B a
2cb0: 6e 64 20 54 65 73 74 20 41 20 68 61 76 65 20 6e nd Test A have n
2cc0: 6f 20 77 61 69 74 6f 6e 20 6f 72 20 69 74 65 6d o waiton or item
2cd0: 6d 61 70 20 63 6f 6e 66 69 67 75 72 65 64 0d 0a map configured..
2ce0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
2cf0: 2d 2d 2d 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ---..-----------
2d00: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 2e 57 61 6c --------.....Wal
2d10: 6b 20 74 68 72 6f 75 67 68 20 6f 6e 65 20 69 74 k through one it
2d20: 65 6d 20 2d 2d 20 77 65 20 77 61 6e 74 20 74 68 em -- we want th
2d30: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 68 e following to h
2d40: 61 70 70 65 6e 20 66 6f 72 20 74 65 73 74 70 61 appen for testpa
2d50: 74 74 20 2b 44 2f 31 2f 72 65 73 2b 20 28 73 65 tt +D/1/res+ (se
2d60: 65 20 62 6c 75 65 20 62 6f 78 65 73 20 69 6e 20 e blue boxes in
2d70: 63 6f 6d 70 6c 65 78 20 69 74 65 6d 6d 61 70 69 complex itemmapi
2d80: 6e 67 20 66 69 67 75 72 65 20 61 62 6f 76 65 29 ng figure above)
2d90: 3a 0d 0a 0d 0a 2e 20 65 67 20 66 72 6f 6d 20 63 :..... eg from c
2da0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 2b 6d 65 67 ommand line +meg
2db0: 61 74 65 73 74 20 2d 72 75 6e 20 2d 74 65 73 74 atest -run -test
2dc0: 70 61 74 74 20 44 2f 31 2f 72 65 73 20 2d 74 61 patt D/1/res -ta
2dd0: 72 67 65 74 20 6d 79 74 61 72 67 65 74 20 2d 72 rget mytarget -r
2de0: 75 6e 6e 61 6d 65 20 6d 79 72 75 6e 6e 61 6d 65 unname myrunname
2df0: 2b 0d 0a 2e 20 46 75 6c 6c 20 6c 69 73 74 20 74 +... Full list t
2e00: 6f 20 62 65 20 72 75 6e 20 69 73 20 6e 6f 77 3a o be run is now:
2e10: 20 2b 44 2f 31 2f 72 65 73 2b 0d 0a 2e 20 54 65 +D/1/res+... Te
2e20: 73 74 20 44 20 68 61 73 20 61 20 77 61 69 74 6f st D has a waito
2e30: 6e 20 2d 20 74 65 73 74 20 43 2e 20 20 54 65 73 n - test C. Tes
2e40: 74 20 44 27 73 20 69 74 65 6d 6d 61 70 20 72 75 t D's itemmap ru
2e50: 6c 65 20 2b 69 74 65 6d 6d 61 70 20 28 5c 64 26 le +itemmap (\d&
2e60: 70 6c 75 73 3b 29 2f 72 65 73 20 5c 31 2f 61 61 plus;)/res \1/aa
2e70: 2b 20 2d 3e 20 20 63 61 75 73 65 73 20 2b 43 2f + -> causes +C/
2e80: 31 2f 61 61 2b 20 74 6f 20 72 75 6e 20 62 65 66 1/aa+ to run bef
2e90: 6f 72 65 20 2b 44 2f 31 2f 72 65 73 2b 0d 0a 2e ore +D/1/res+...
2ea0: 20 46 75 6c 6c 20 6c 69 73 74 20 74 6f 20 62 65 Full list to be
2eb0: 20 72 75 6e 20 69 73 20 6e 6f 77 3a 20 2b 44 2f run is now: +D/
2ec0: 31 2f 72 65 73 2b 2c 20 2b 43 2f 31 2f 61 61 2b 1/res+, +C/1/aa+
2ed0: 0d 0a 2e 20 54 65 73 74 20 43 20 77 61 73 20 61 ... Test C was a
2ee0: 20 77 61 69 74 6f 6e 20 2d 20 74 65 73 74 20 41 waiton - test A
2ef0: 2e 20 54 65 73 74 20 43 27 73 20 72 75 6c 65 20 . Test C's rule
2f00: 2b 41 20 28 5c 64 26 70 6c 75 73 3b 29 2f 61 61 +A (\d+)/aa
2f10: 20 61 61 2f 5c 31 2b 20 2d 3e 20 63 61 75 73 65 aa/\1+ -> cause
2f20: 73 20 2b 41 2f 61 61 2f 31 2b 20 74 6f 20 72 75 s +A/aa/1+ to ru
2f30: 6e 20 62 65 66 6f 72 65 20 2b 43 2f 31 2f 61 61 n before +C/1/aa
2f40: 2b 0d 0a 2e 20 46 75 6c 6c 20 6c 69 73 74 20 74 +... Full list t
2f50: 6f 20 62 65 20 72 75 6e 20 69 73 20 6e 6f 77 3a o be run is now:
2f60: 20 2b 44 2f 31 2f 72 65 73 2b 2c 20 2b 43 2f 31 +D/1/res+, +C/1
2f70: 2f 61 61 2b 2c 20 2b 41 2f 61 61 2f 31 2b 0d 0a /aa+, +A/aa/1+..
2f80: 2e 20 54 65 73 74 20 41 20 68 61 73 20 6e 6f 20 . Test A has no
2f90: 77 61 69 74 6f 6e 73 2e 20 20 41 6c 6c 20 77 61 waitons. All wa
2fa0: 69 74 6f 6e 73 20 6f 66 20 61 6c 6c 20 74 65 73 itons of all tes
2fb0: 74 73 20 69 6e 20 66 75 6c 6c 20 6c 69 73 74 20 ts in full list
2fc0: 68 61 76 65 20 62 65 65 6e 20 70 72 6f 63 65 73 have been proces
2fd0: 73 65 64 2e 20 20 46 75 6c 6c 20 6c 69 73 74 20 sed. Full list
2fe0: 69 73 20 66 69 6e 61 6c 69 7a 65 64 2e 0d 0a 0d is finalized....
2ff0: 0a 0d 0a 44 79 6e 61 6d 69 63 20 46 6c 6f 77 20 ...Dynamic Flow
3000: 44 65 70 65 6e 64 65 6e 63 79 20 54 72 65 65 0d Dependency Tree.
3010: 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e .^^^^^^^^^^^^^^^
3020: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d ^^^^^^^^^^^^^...
3030: 0a 2e 41 75 74 6f 67 65 6e 65 72 61 74 69 6f 6e ..Autogeneration
3040: 20 77 61 69 74 6f 6e 20 6c 69 73 74 20 66 6f 72 waiton list for
3050: 20 64 79 6e 61 6d 69 63 20 66 6c 6f 77 20 64 65 dynamic flow de
3060: 70 65 6e 64 65 6e 63 79 20 74 72 65 65 73 0d 0a pendency trees..
3070: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3080: 2d 2d 2d 0d 0a 5b 72 65 71 75 69 72 65 6d 65 6e ---..[requiremen
3090: 74 73 5d 0d 0a 23 20 57 69 74 68 20 61 20 74 6f ts]..# With a to
30a0: 70 6c 65 76 65 6c 20 74 65 73 74 20 79 6f 75 20 plevel test you
30b0: 6d 61 79 20 77 69 73 68 20 74 6f 20 67 65 6e 65 may wish to gene
30c0: 72 61 74 65 20 79 6f 75 72 20 6c 69 73 74 20 0d rate your list .
30d0: 0a 23 20 6f 66 20 74 65 73 74 73 20 74 6f 20 72 .# of tests to r
30e0: 75 6e 20 64 79 6e 61 6d 69 63 61 6c 6c 79 0d 0a un dynamically..
30f0: 23 0d 0a 77 61 69 74 6f 6e 20 23 7b 73 68 65 6c #..waiton #{shel
3100: 6c 20 67 65 74 2d 76 61 6c 69 64 2d 74 65 73 74 l get-valid-test
3110: 73 2d 74 6f 2d 72 75 6e 2e 73 68 7d 0d 0a 2d 2d s-to-run.sh}..--
3120: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3130: 2d 0d 0a 0d 0a 52 75 6e 20 74 69 6d 65 20 6c 69 -....Run time li
3140: 6d 69 74 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e mit..^^^^^^^^^^^
3150: 5e 5e 5e 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d ^^^....---------
3160: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 72 65 71 75 69 --------..[requi
3170: 72 65 6d 65 6e 74 73 5d 0d 0a 72 75 6e 74 69 6d rements]..runtim
3180: 65 6c 69 6d 20 31 68 20 32 6d 20 33 73 20 20 23 elim 1h 2m 3s #
3190: 20 74 68 69 73 20 77 69 6c 6c 20 61 75 74 6f 6d this will autom
31a0: 61 74 69 63 61 6c 6c 79 20 6b 69 6c 6c 20 74 68 atically kill th
31b0: 65 20 74 65 73 74 20 69 66 20 69 74 20 72 75 6e e test if it run
31c0: 73 20 66 6f 72 20 6d 6f 72 65 20 74 68 61 6e 20 s for more than
31d0: 31 68 20 32 6d 20 61 6e 64 20 33 73 0d 0a 2d 2d 1h 2m and 3s..--
31e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d ---------------.
31f0: 0a 0d 0a 53 6b 69 70 0d 0a 5e 5e 5e 5e 0d 0a 0d ...Skip..^^^^...
3200: 0a 41 20 74 65 73 74 20 77 69 74 68 20 61 20 73 .A test with a s
3210: 6b 69 70 20 73 65 63 74 69 6f 6e 20 77 69 6c 6c kip section will
3220: 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 73 6b 69 conditional ski
3230: 70 20 72 75 6e 6e 69 6e 67 2e 0d 0a 0d 0a 2e 53 p running......S
3240: 6b 69 70 20 73 65 63 74 69 6f 6e 20 65 78 61 6d kip section exam
3250: 70 6c 65 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ple..-----------
3260: 2d 2d 2d 2d 2d 2d 0d 0a 5b 73 6b 69 70 5d 0d 0a ------..[skip]..
3270: 70 72 65 76 72 75 6e 6e 69 6e 67 20 78 0d 0a 23 prevrunning x..#
3280: 20 72 75 6e 64 65 6c 61 79 20 33 30 6d 20 31 35 rundelay 30m 15
3290: 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d s..-------------
32a0: 2d 2d 2d 2d 0d 0a 0d 0a 53 6b 69 70 20 6f 6e 20 ----....Skip on
32b0: 53 74 69 6c 6c 2d 72 75 6e 6e 69 6e 67 20 54 65 Still-running Te
32c0: 73 74 73 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e sts..^^^^^^^^^^^
32d0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
32e0: 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ....------------
32f0: 2d 2d 2d 2d 2d 0d 0a 23 20 4e 42 2f 2f 20 49 66 -----..# NB// If
3300: 20 74 68 65 20 70 72 65 76 72 75 6e 6e 69 6e 67 the prevrunning
3310: 20 6c 69 6e 65 20 65 78 69 73 74 73 20 77 69 74 line exists wit
3320: 68 20 2a 61 6e 79 2a 20 76 61 6c 75 65 20 74 68 h *any* value th
3330: 65 20 74 65 73 74 20 77 69 6c 6c 0d 0a 23 20 61 e test will..# a
3340: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 53 4b 49 utomatically SKI
3350: 50 20 69 66 20 74 68 65 20 73 61 6d 65 2d 6e 61 P if the same-na
3360: 6d 65 64 20 74 65 73 74 20 69 73 20 63 75 72 72 med test is curr
3370: 65 6e 74 6c 79 20 52 55 4e 4e 49 4e 47 2e 20 54 ently RUNNING. T
3380: 68 65 0d 0a 23 20 22 78 22 20 63 61 6e 20 62 65 he..# "x" can be
3390: 20 61 6e 79 20 73 74 72 69 6e 67 2e 20 43 6f 6d any string. Com
33a0: 6d 65 6e 74 20 6f 75 74 20 74 68 65 20 70 72 65 ment out the pre
33b0: 76 72 75 6e 6e 69 6e 67 20 6c 69 6e 65 20 74 6f vrunning line to
33c0: 20 74 75 72 6e 20 6f 66 66 0d 0a 23 20 73 6b 69 turn off..# ski
33d0: 70 2e 0d 0a 0d 0a 5b 73 6b 69 70 5d 0d 0a 70 72 p.....[skip]..pr
33e0: 65 76 72 75 6e 6e 69 6e 67 20 78 0d 0a 2d 2d 2d evrunning x..---
33f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
3400: 0d 0a 53 6b 69 70 20 69 66 20 61 20 46 69 6c 65 ..Skip if a File
3410: 20 45 78 69 73 74 73 0d 0a 5e 5e 5e 5e 5e 5e 5e Exists..^^^^^^^
3420: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a ^^^^^^^^^^^^^^..
3430: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
3440: 2d 2d 2d 0d 0a 5b 73 6b 69 70 5d 0d 0a 66 69 6c ---..[skip]..fil
3450: 65 65 78 69 73 74 73 20 2f 70 61 74 68 2f 74 6f eexists /path/to
3460: 2f 61 2f 66 69 6c 65 20 23 20 73 6b 69 70 20 69 /a/file # skip i
3470: 66 20 2f 70 61 74 68 2f 74 6f 2f 61 2f 66 69 6c f /path/to/a/fil
3480: 65 20 65 78 69 73 74 73 0d 0a 2d 2d 2d 2d 2d 2d e exists..------
3490: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 53 -----------....S
34a0: 6b 69 70 20 69 66 20 74 65 73 74 20 72 61 6e 20 kip if test ran
34b0: 6d 6f 72 65 20 72 65 63 65 6e 74 6c 79 20 74 68 more recently th
34c0: 61 6e 20 73 70 65 63 69 66 69 65 64 20 74 69 6d an specified tim
34d0: 65 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e e..^^^^^^^^^^^^^
34e0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
34f0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ^^^^^^^^^^^^^^^^
3500: 5e 5e 5e 5e 5e 0d 0a 0d 0a 2e 53 6b 69 70 20 69 ^^^^^.....Skip i
3510: 66 20 74 68 69 73 20 74 65 73 74 20 68 61 73 20 f this test has
3520: 62 65 65 6e 20 72 75 6e 20 69 6e 20 74 68 65 20 been run in the
3530: 70 61 73 74 20 66 69 66 74 65 65 6e 20 6d 69 6e past fifteen min
3540: 75 74 65 73 20 61 6e 64 20 31 35 20 73 65 63 6f utes and 15 seco
3550: 6e 64 73 2e 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d nds...----------
3560: 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 73 6b 69 70 5d 0d -------..[skip].
3570: 0a 72 75 6e 64 65 6c 61 79 20 31 35 6d 20 31 35 .rundelay 15m 15
3580: 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d s..-------------
3590: 2d 2d 2d 2d 0d 0a 0d 0a 44 69 73 6b 73 0d 0a 5e ----....Disks..^
35a0: 5e 5e 5e 5e 0d 0a 0d 0a 41 20 64 69 73 6b 73 20 ^^^^....A disks
35b0: 73 65 63 74 69 6f 6e 20 69 6e 20 74 65 73 74 63 section in testc
35c0: 6f 6e 66 69 67 20 77 69 6c 6c 20 6f 76 65 72 72 onfig will overr
35d0: 69 64 65 20 74 68 65 20 64 69 73 6b 73 20 73 65 ide the disks se
35e0: 63 74 69 6f 6e 20 69 6e 0d 0a 6d 65 67 61 74 65 ction in..megate
35f0: 73 74 2e 63 6f 6e 66 69 67 2e 20 54 68 69 73 20 st.config. This
3600: 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 can be used to a
3610: 6c 6c 6f 63 61 74 65 20 64 69 73 6b 73 20 6f 6e llocate disks on
3620: 20 61 20 70 65 72 2d 74 65 73 74 20 6f 72 20 70 a per-test or p
3630: 65 72 20 69 74 65 6d 0d 0a 62 61 73 69 73 2e 0d er item..basis..
3640: 0a 0d 0a 43 6f 6e 74 72 6f 6c 6c 65 64 20 77 61 ...Controlled wa
3650: 69 76 65 72 20 70 72 6f 70 61 67 61 74 69 6f 6e iver propagation
3660: 0d 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e ..^^^^^^^^^^^^^^
3670: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d ^^^^^^^^^^^^^^^.
3680: 0a 0d 0a 49 66 20 74 65 73 74 20 69 73 20 46 41 ...If test is FA
3690: 49 4c 20 61 6e 64 20 70 72 65 76 69 6f 75 73 20 IL and previous
36a0: 74 65 73 74 20 69 6e 20 72 75 6e 20 77 69 74 68 test in run with
36b0: 20 73 61 6d 65 20 4d 54 5f 54 41 52 47 45 54 20 same MT_TARGET
36c0: 69 73 20 57 41 49 56 45 44 20 74 68 65 6e 20 61 is WAIVED then a
36d0: 70 70 6c 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 pply the followi
36e0: 6e 67 20 72 75 6c 65 73 20 66 72 6f 6d 20 74 68 ng rules from th
36f0: 65 20 74 65 73 74 63 6f 6e 66 69 67 3a 0d 0a 49 e testconfig:..I
3700: 66 20 61 20 77 61 69 76 65 72 20 63 68 65 63 6b f a waiver check
3710: 20 69 73 20 73 70 65 63 69 66 69 65 64 20 69 6e is specified in
3720: 20 74 68 65 20 74 65 73 74 63 6f 6e 66 69 67 20 the testconfig
3730: 61 70 70 6c 79 20 74 68 65 20 63 68 65 63 6b 20 apply the check
3740: 61 6e 64 20 69 66 20 69 74 20 70 61 73 73 65 73 and if it passes
3750: 20 74 68 65 6e 20 73 65 74 20 74 68 69 73 20 46 then set this F
3760: 41 49 4c 20 74 6f 20 57 41 49 56 45 44 0d 0a 0d AIL to WAIVED...
3770: 0a 57 61 69 76 65 72 20 63 68 65 63 6b 20 68 61 .Waiver check ha
3780: 73 20 74 77 6f 20 70 61 72 74 73 2c 20 31 29 20 s two parts, 1)
3790: 61 20 6c 69 73 74 20 6f 66 20 77 61 69 76 65 72 a list of waiver
37a0: 2c 20 72 75 6c 65 6e 61 6d 65 2c 20 66 69 6c 65 , rulename, file
37b0: 70 61 74 74 65 72 6e 73 20 61 6e 64 20 32 29 20 patterns and 2)
37c0: 74 68 65 20 72 75 6c 65 6e 61 6d 65 20 73 63 72 the rulename scr
37d0: 69 70 74 20 73 70 65 63 20 28 6e 6f 74 65 20 74 ipt spec (note t
37e0: 68 61 74 20 22 64 69 66 66 22 20 61 6e 64 20 22 hat "diff" and "
37f0: 6c 6f 67 70 72 6f 22 20 61 72 65 20 70 72 65 64 logpro" are pred
3800: 65 66 69 6e 65 64 29 0d 0a 0d 0a 2d 2d 2d 2d 2d efined)....-----
3810: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 23 ------------..##
3820: 23 23 23 23 20 45 58 41 4d 50 4c 45 20 46 52 4f #### EXAMPLE FRO
3830: 4d 20 74 65 73 74 63 6f 6e 66 69 67 20 23 23 23 M testconfig ###
3840: 23 23 23 23 23 23 0d 0a 23 20 6d 61 74 63 68 69 ######..# matchi
3850: 6e 67 20 66 69 6c 65 28 73 29 20 77 69 6c 6c 20 ng file(s) will
3860: 62 65 20 64 69 66 66 27 64 20 77 69 74 68 20 70 be diff'd with p
3870: 72 65 76 69 6f 75 73 20 72 75 6e 20 61 6e 64 20 revious run and
3880: 6c 6f 67 70 72 6f 20 61 70 70 6c 69 65 64 0d 0a logpro applied..
3890: 23 20 69 66 20 50 41 53 53 20 6f 72 20 57 41 52 # if PASS or WAR
38a0: 4e 20 72 65 73 75 6c 74 20 66 72 6f 6d 20 6c 6f N result from lo
38b0: 67 70 72 6f 20 74 68 65 6e 20 57 41 49 56 45 52 gpro then WAIVER
38c0: 20 73 74 61 74 65 20 69 73 20 73 65 74 0d 0a 23 state is set..#
38d0: 0d 0a 5b 77 61 69 76 65 72 73 5d 0d 0a 23 20 6c ..[waivers]..# l
38e0: 6f 67 70 72 6f 5f 66 69 6c 65 20 20 20 20 72 75 ogpro_file ru
38f0: 6c 65 6e 61 6d 65 20 20 20 20 20 20 69 6e 70 75 lename inpu
3900: 74 5f 67 6c 6f 62 0d 0a 77 61 69 76 65 72 5f 31 t_glob..waiver_1
3910: 20 20 20 20 20 20 20 20 20 6c 6f 67 70 72 6f 20 logpro
3920: 20 20 20 20 20 20 20 6c 6f 6f 6b 69 74 74 6d 70 lookittmp
3930: 2e 6c 6f 67 0d 0a 0d 0a 5b 77 61 69 76 65 72 5f .log....[waiver_
3940: 72 75 6c 65 73 5d 0d 0a 0d 0a 23 20 54 68 69 73 rules]....# This
3950: 20 62 75 69 6c 74 69 6e 20 72 75 6c 65 20 69 73 builtin rule is
3960: 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 66 20 the default if
3970: 74 68 65 72 65 20 69 73 20 6e 6f 20 3c 77 61 69 there is no <wai
3980: 76 65 72 6e 61 6d 65 3e 2e 6c 6f 67 70 72 6f 20 vername>.logpro
3990: 66 69 6c 65 0d 0a 23 20 64 69 66 66 20 20 20 64 file..# diff d
39a0: 69 66 66 20 25 66 69 6c 65 31 25 20 25 66 69 6c iff %file1% %fil
39b0: 65 32 25 0d 0a 0d 0a 23 20 54 68 69 73 20 62 75 e2%....# This bu
39c0: 69 6c 74 69 6e 20 72 75 6c 65 20 69 73 20 61 70 iltin rule is ap
39d0: 70 6c 69 65 64 20 69 66 20 61 20 3c 77 61 69 76 plied if a <waiv
39e0: 65 72 6e 61 6d 65 3e 2e 6c 6f 67 70 72 6f 20 66 ername>.logpro f
39f0: 69 6c 65 20 65 78 69 73 74 73 0d 0a 23 20 6c 6f ile exists..# lo
3a00: 67 70 72 6f 20 64 69 66 66 20 25 66 69 6c 65 31 gpro diff %file1
3a10: 25 20 25 66 69 6c 65 32 25 20 7c 20 6c 6f 67 70 % %file2% | logp
3a20: 72 6f 20 25 77 61 69 76 65 72 6e 61 6d 65 25 2e ro %waivername%.
3a30: 6c 6f 67 70 72 6f 20 25 77 61 69 76 65 72 6e 61 logpro %waiverna
3a40: 6d 65 25 2e 68 74 6d 6c 0d 0a 2d 2d 2d 2d 2d 2d me%.html..------
3a50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 45 -----------....E
3a60: 7a 73 74 65 70 73 0d 0a 7e 7e 7e 7e 7e 7e 7e 0d zsteps..~~~~~~~.
3a70: 0a 0d 0a 2e 45 78 61 6d 70 6c 65 20 65 7a 73 74 ....Example ezst
3a80: 65 70 73 20 77 69 74 68 20 6c 6f 67 70 72 6f 20 eps with logpro
3a90: 72 75 6c 65 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d rules..---------
3aa0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 65 7a 73 74 65 --------..[ezste
3ab0: 70 73 5d 0d 0a 6c 6f 6f 6b 69 74 74 6d 70 20 20 ps]..lookittmp
3ac0: 20 6c 73 20 2f 74 6d 70 0d 0a 0d 0a 5b 6c 6f 67 ls /tmp....[log
3ad0: 70 72 6f 5d 0d 0a 6c 6f 6f 6b 69 74 74 6d 70 20 pro]..lookittmp
3ae0: 3b 3b 20 4e 6f 74 65 3a 20 63 6f 6e 66 69 67 20 ;; Note: config
3af0: 66 69 6c 65 20 66 6f 72 6d 61 74 20 73 75 70 70 file format supp
3b00: 6f 72 74 73 20 6d 75 6c 74 69 2d 6c 69 6e 65 20 orts multi-line
3b10: 65 6e 74 72 69 65 73 20 77 68 65 72 65 20 6c 65 entries where le
3b20: 61 64 69 6e 67 20 77 68 69 74 65 73 70 61 63 65 ading whitespace
3b30: 20 69 73 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d is removed from
3b40: 20 65 61 63 68 20 6c 69 6e 65 0d 0a 20 20 3b 3b each line.. ;;
3b50: 20 20 20 20 20 61 20 62 6c 61 6e 6b 20 6c 69 6e a blank lin
3b60: 65 20 69 6e 64 69 63 61 74 65 73 20 74 68 65 20 e indicates the
3b70: 65 6e 64 20 6f 66 20 74 68 65 20 62 6c 6f 63 6b end of the block
3b80: 20 6f 66 20 74 65 78 74 20 0d 0a 20 20 28 65 78 of text .. (ex
3b90: 70 65 63 74 3a 72 65 71 75 69 72 65 64 20 69 6e pect:required in
3ba0: 20 22 4c 6f 67 46 69 6c 65 42 6f 64 79 22 20 3e "LogFileBody" >
3bb0: 20 30 20 22 41 20 66 69 6c 65 20 6e 61 6d 65 20 0 "A file name
3bc0: 74 68 61 74 20 73 68 6f 75 6c 64 20 6e 65 76 65 that should neve
3bd0: 72 20 65 78 69 73 74 21 22 20 23 2f 54 68 69 73 r exist!" #/This
3be0: 20 69 73 20 61 20 61 77 66 75 6c 6c 79 20 73 74 is a awfully st
3bf0: 75 70 69 64 20 66 69 6c 65 20 6e 61 6d 65 20 74 upid file name t
3c00: 68 61 74 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 hat should never
3c10: 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 be found in the
3c20: 20 74 65 6d 70 20 64 69 72 2f 29 0d 0a 0d 0a 2d temp dir/)....-
3c30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3c40: 0d 0a 0d 0a 54 6f 20 74 72 61 6e 73 66 65 72 20 ....To transfer
3c50: 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 the environment
3c60: 74 6f 20 74 68 65 20 6e 65 78 74 20 73 74 65 70 to the next step
3c70: 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 20 you can do the
3c80: 66 6f 6c 6c 6f 77 69 6e 67 3a 0d 0a 0d 0a 2d 2d following:....--
3c90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3ca0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 24 4d 54 5f ----------..$MT_
3cb0: 4d 45 47 41 54 45 53 54 20 2d 65 6e 76 32 66 69 MEGATEST -env2fi
3cc0: 6c 65 20 2e 65 7a 73 74 65 70 73 2f 24 7b 73 74 le .ezsteps/${st
3cd0: 65 70 6e 61 6d 65 7d 09 20 20 0d 0a 2d 2d 2d 2d epname}. ..----
3ce0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3cf0: 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 54 72 69 67 --------....Trig
3d00: 67 65 72 73 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a gers..~~~~~~~~..
3d10: 0d 0a 49 6e 20 79 6f 75 72 20 74 65 73 74 63 6f ..In your testco
3d20: 6e 66 69 67 20 6f 72 20 6d 65 67 61 74 65 73 74 nfig or megatest
3d30: 2e 63 6f 6e 66 69 67 20 74 72 69 67 67 65 72 73 .config triggers
3d40: 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 can be specifie
3d50: 64 20 0d 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d d ....----------
3d60: 2d 2d 2d 2d 2d 2d 2d 0d 0a 5b 74 72 69 67 67 65 -------..[trigge
3d70: 72 73 5d 0d 0a 0d 0a 23 20 43 61 6c 6c 20 73 63 rs]....# Call sc
3d80: 72 69 70 74 20 72 75 6e 6e 69 6e 67 2e 73 68 20 ript running.sh
3d90: 77 68 65 6e 20 74 65 73 74 20 67 6f 65 73 20 74 when test goes t
3da0: 6f 20 73 74 61 74 65 3d 52 55 4e 4e 49 4e 47 2c o state=RUNNING,
3db0: 20 73 74 61 74 75 73 3d 50 41 53 53 0d 0a 52 55 status=PASS..RU
3dc0: 4e 4e 49 4e 47 2f 50 41 53 53 20 72 75 6e 6e 69 NNING/PASS runni
3dd0: 6e 67 2e 73 68 0d 0a 0d 0a 23 20 43 61 6c 6c 20 ng.sh....# Call
3de0: 73 63 72 69 70 74 20 72 75 6e 6e 69 6e 67 2e 73 script running.s
3df0: 68 20 61 6e 79 20 74 69 6d 65 20 73 74 61 74 65 h any time state
3e00: 20 67 6f 65 73 20 74 6f 20 52 55 4e 4e 49 4e 47 goes to RUNNING
3e10: 0d 0a 52 55 4e 4e 49 4e 47 2f 20 72 75 6e 6e 69 ..RUNNING/ runni
3e20: 6e 67 2e 73 68 0d 0a 0d 0a 23 20 43 61 6c 6c 20 ng.sh....# Call
3e30: 73 63 72 69 70 74 20 6f 6e 70 61 73 73 2e 73 68 script onpass.sh
3e40: 20 61 6e 79 20 74 69 6d 65 20 73 74 61 74 75 73 any time status
3e50: 20 67 6f 65 73 20 74 6f 20 50 41 53 53 0d 0a 50 goes to PASS..P
3e60: 41 53 53 2f 20 6f 6e 70 61 73 73 2e 73 68 0d 0a ASS/ onpass.sh..
3e70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
3e80: 2d 0d 0a 0d 0a 53 63 72 69 70 74 73 20 63 61 6c -....Scripts cal
3e90: 6c 65 64 20 77 69 6c 6c 20 68 61 76 65 3b 20 74 led will have; t
3ea0: 65 73 74 2d 69 64 20 74 65 73 74 2d 72 75 6e 64 est-id test-rund
3eb0: 69 72 20 74 72 69 67 67 65 72 20 74 65 73 74 2d ir trigger test-
3ec0: 6e 61 6d 65 20 69 74 65 6d 2d 70 61 74 68 20 73 name item-path s
3ed0: 74 61 74 65 20 73 74 61 74 75 73 20 65 76 65 6e tate status even
3ee0: 74 2d 74 69 6d 65 2c 20 61 64 64 65 64 20 74 6f t-time, added to
3ef0: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 6c 69 6e 65 the commandline
3f00: 2e 0d 0a 0d 0a 48 49 4e 54 0d 0a 0d 0a 54 6f 20 .....HINT....To
3f10: 73 74 61 72 74 20 61 6e 20 78 74 65 72 6d 20 28 start an xterm (
3f20: 75 73 65 66 75 6c 20 66 6f 72 20 64 65 62 75 67 useful for debug
3f30: 67 69 6e 67 29 2c 20 75 73 65 20 61 20 63 6f 6d ging), use a com
3f40: 6d 61 6e 64 20 6c 69 6e 65 20 6c 69 6b 65 20 74 mand line like t
3f50: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0d 0a 0d he following:...
3f60: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
3f70: 2d 2d 0d 0a 5b 74 72 69 67 67 65 72 73 5d 0d 0a --..[triggers]..
3f80: 43 4f 4d 50 4c 45 54 45 44 2f 20 78 74 65 72 6d COMPLETED/ xterm
3f90: 20 2d 65 20 62 61 73 68 20 2d 73 20 2d 2d 20 0d -e bash -s -- .
3fa0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .---------------
3fb0: 2d 2d 0d 0a 0d 0a 4e 4f 54 45 3a 20 54 68 65 72 --....NOTE: Ther
3fc0: 65 20 69 73 20 61 20 74 72 61 69 6c 69 6e 67 20 e is a trailing
3fd0: 73 70 61 63 65 20 61 66 74 65 72 20 74 68 65 20 space after the
3fe0: 2d 2d 0d 0a 0d 0a 54 68 65 72 65 20 61 72 65 20 --....There are
3ff0: 61 20 6e 75 6d 62 65 72 20 6f 66 20 65 6e 76 69 a number of envi
4000: 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 ronment variable
4010: 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 s available to t
4020: 68 65 20 74 72 69 67 67 65 72 20 73 63 72 69 70 he trigger scrip
4030: 74 0d 0a 62 75 74 20 73 69 6e 63 65 20 74 72 69 t..but since tri
4040: 67 67 65 72 73 20 63 61 6e 20 62 65 20 63 61 6c ggers can be cal
4050: 6c 65 64 20 69 6e 20 76 61 72 69 6f 75 73 20 63 led in various c
4060: 6f 6e 74 65 78 74 73 20 6e 6f 74 20 61 6c 6c 20 ontexts not all
4070: 76 61 72 69 61 62 6c 65 73 20 61 72 65 0d 0a 61 variables are..a
4080: 76 61 69 6c 61 62 6c 65 20 61 74 20 61 6c 6c 20 vailable at all
4090: 74 69 6d 65 73 2e 20 54 68 65 20 74 72 69 67 67 times. The trigg
40a0: 65 72 20 73 63 72 69 70 74 20 73 68 6f 75 6c 64 er script should
40b0: 20 63 68 65 63 6b 20 66 6f 72 20 74 68 65 20 76 check for the v
40c0: 61 72 69 61 62 6c 65 20 61 6e 64 0d 0a 66 61 69 ariable and..fai
40d0: 6c 20 67 72 61 63 65 66 75 6c 6c 79 20 69 66 20 l gracefully if
40e0: 69 74 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 it doesn't exist
40f0: 2e 0d 0a 0d 0a 2e 45 6e 76 69 72 6f 6e 6d 65 6e ......Environmen
4100: 74 20 76 61 72 69 61 62 6c 65 73 20 76 69 73 69 t variables visi
4110: 62 6c 65 20 74 6f 20 74 68 65 20 74 72 69 67 67 ble to the trigg
4120: 65 72 20 73 63 72 69 70 74 0d 0a 5b 77 69 64 74 er script..[widt
4130: 68 3d 22 39 30 25 22 2c 63 6f 6c 73 3d 22 5e 2c h="90%",cols="^,
4140: 32 6d 22 2c 66 72 61 6d 65 3d 22 74 6f 70 62 6f 2m",frame="topbo
4150: 74 22 2c 6f 70 74 69 6f 6e 73 3d 22 68 65 61 64 t",options="head
4160: 65 72 22 5d 0d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d er"]..|=========
4170: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 7c =============..|
4180: 56 61 72 69 61 62 6c 65 20 20 20 20 20 20 20 20 Variable
4190: 20 20 20 20 20 7c 20 50 75 72 70 6f 73 65 20 20 | Purpose
41a0: 20 20 20 20 20 20 20 20 20 20 0d 0a 7c 20 4d 54 ..| MT
41b0: 5f 54 45 53 54 5f 52 55 4e 5f 44 49 52 20 20 20 _TEST_RUN_DIR
41c0: 20 20 7c 20 54 68 65 20 64 69 72 65 63 74 6f 72 | The director
41d0: 79 20 77 68 65 72 65 20 4d 65 67 61 74 65 73 74 y where Megatest
41e0: 20 72 61 6e 20 74 68 69 73 20 74 65 73 74 20 20 ran this test
41f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4200: 20 0d 0a 7c 20 4d 54 5f 43 4d 44 49 4e 46 4f 20 ..| MT_CMDINFO
4210: 20 20 20 20 20 20 20 20 20 7c 20 45 6e 63 6f 64 | Encod
4220: 65 64 20 63 6f 6d 6d 61 6e 64 20 64 61 74 61 20 ed command data
4230: 66 6f 72 20 74 68 65 20 74 65 73 74 20 20 20 20 for the test
4240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d .
4250: 0a 7c 20 4d 54 5f 44 45 42 55 47 5f 4d 4f 44 45 .| MT_DEBUG_MODE
4260: 20 20 20 20 20 20 20 7c 20 55 73 65 64 20 74 6f | Used to
4270: 20 70 61 73 73 20 74 68 65 20 64 65 62 75 67 20 pass the debug
4280: 6d 6f 64 65 20 74 6f 20 6e 65 73 74 65 64 20 63 mode to nested c
4290: 61 6c 6c 73 20 74 6f 20 4d 65 67 61 74 65 73 74 alls to Megatest
42a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
42b0: 20 20 20 0d 0a 7c 20 4d 54 5f 52 55 4e 5f 41 52 ..| MT_RUN_AR
42c0: 45 41 5f 48 4f 4d 45 20 20 20 20 7c 20 4d 65 67 EA_HOME | Meg
42d0: 61 74 65 73 74 20 68 6f 6d 65 20 61 72 65 61 20 atest home area
42e0: 0d 0a 7c 20 4d 54 5f 54 45 53 54 53 55 49 54 45 ..| MT_TESTSUITE
42f0: 4e 41 4d 45 20 20 20 20 7c 20 54 68 65 20 6e 61 NAME | The na
4300: 6d 65 20 6f 66 20 74 68 69 73 20 74 65 73 74 73 me of this tests
4310: 75 69 74 65 20 6f 72 20 61 72 65 61 20 20 20 20 uite or area
4320: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d .
4330: 0a 7c 20 4d 54 5f 54 45 53 54 5f 4e 41 4d 45 20 .| MT_TEST_NAME
4340: 20 20 20 20 20 20 20 7c 20 54 68 65 20 6e 61 6d | The nam
4350: 65 20 6f 66 20 74 68 69 73 20 74 65 73 74 0d 0a e of this test..
4360: 7c 20 4d 54 5f 49 54 45 4d 5f 49 4e 46 4f 20 20 | MT_ITEM_INFO
4370: 20 20 20 20 20 20 7c 20 54 68 65 20 76 61 72 69 | The vari
4380: 61 62 6c 65 20 61 6e 64 20 76 61 6c 75 65 73 20 able and values
4390: 66 6f 72 20 74 68 65 20 74 65 73 74 20 69 74 65 for the test ite
43a0: 6d 0d 0a 7c 20 4d 54 5f 4d 45 47 41 54 45 53 54 m..| MT_MEGATEST
43b0: 20 20 20 20 20 20 20 20 20 7c 20 57 68 69 63 68 | Which
43c0: 20 4d 65 67 61 74 65 73 74 20 62 69 6e 61 72 79 Megatest binary
43d0: 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 20 62 is being used b
43e0: 79 20 74 68 69 73 20 61 72 65 61 0d 0a 7c 20 4d y this area..| M
43f0: 54 5f 54 41 52 47 45 54 20 20 20 20 20 20 20 20 T_TARGET
4400: 20 20 20 7c 20 54 68 65 20 74 61 72 67 65 74 20 | The target
4410: 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 2c variable values,
4420: 20 73 65 70 61 72 61 74 65 64 20 62 79 20 27 2f separated by '/
4430: 27 0d 0a 7c 20 4d 54 5f 4c 49 4e 4b 54 52 45 45 '..| MT_LINKTREE
4440: 20 20 20 20 20 20 20 20 20 7c 20 54 68 65 20 62 | The b
4450: 61 73 65 20 6f 66 20 74 68 65 20 6c 69 6e 6b 20 ase of the link
4460: 74 72 65 65 20 77 68 65 72 65 20 61 6c 6c 20 72 tree where all r
4470: 75 6e 20 74 65 73 74 73 20 63 61 6e 20 62 65 20 un tests can be
4480: 66 6f 75 6e 64 0d 0a 7c 20 4d 54 5f 49 54 45 4d found..| MT_ITEM
4490: 50 41 54 48 20 20 20 20 20 20 20 20 20 7c 20 54 PATH | T
44a0: 68 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 he values of the
44b0: 20 69 74 65 6d 20 70 61 74 68 20 76 61 72 69 61 item path varia
44c0: 62 6c 65 73 2c 20 73 65 70 61 72 61 74 65 64 20 bles, separated
44d0: 62 79 20 27 2f 27 0d 0a 7c 20 4d 54 5f 52 55 4e by '/'..| MT_RUN
44e0: 4e 41 4d 45 20 20 20 20 20 20 20 20 20 20 7c 20 NAME |
44f0: 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 The name of the
4500: 72 75 6e 0d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d run..|==========
4510: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a ============....
4520: 0d 0a 4f 76 65 72 72 69 64 65 20 74 68 65 20 54 ..Override the T
4530: 6f 70 6c 65 76 65 6c 20 48 54 4d 4c 20 46 69 6c oplevel HTML Fil
4540: 65 0d 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e e..~~~~~~~~~~~~~
4550: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
4560: 7e 7e 0d 0a 0d 0a 4d 65 67 61 74 65 73 74 20 67 ~~....Megatest g
4570: 65 6e 65 72 61 74 65 73 20 61 20 73 69 6d 70 6c enerates a simpl
4580: 65 20 68 74 6d 6c 20 66 69 6c 65 20 73 75 6d 6d e html file summ
4590: 61 72 79 20 66 6f 72 20 74 6f 70 20 6c 65 76 65 ary for top leve
45a0: 6c 20 74 65 73 74 73 20 6f 66 0d 0a 69 74 65 72 l tests of..iter
45b0: 61 74 65 64 20 74 65 73 74 73 2e 20 54 68 65 20 ated tests. The
45c0: 67 65 6e 65 72 61 74 69 6f 6e 20 63 61 6e 20 62 generation can b
45d0: 65 20 6f 76 65 72 72 69 64 64 65 6e 2e 20 4e 4f e overridden. NO
45e0: 54 45 3a 20 74 68 65 20 6f 75 74 70 75 74 20 6f TE: the output o
45f0: 66 0d 0a 74 68 65 20 73 63 72 69 70 74 20 69 73 f..the script is
4600: 20 63 61 70 74 75 72 65 64 20 66 72 6f 6d 20 73 captured from s
4610: 74 64 6f 75 74 20 74 6f 20 63 72 65 61 74 65 20 tdout to create
4620: 74 68 65 20 68 74 6d 6c 2e 0d 0a 0d 0a 0d 0a 2e the html........
4630: 46 6f 72 20 74 65 73 74 20 22 72 75 6e 66 69 72 For test "runfir
4640: 73 74 22 20 6f 76 65 72 72 69 64 65 20 74 68 65 st" override the
4650: 20 74 6f 70 6c 65 76 65 6c 20 67 65 6e 65 72 61 toplevel genera
4660: 74 69 6f 6e 20 77 69 74 68 20 61 20 73 63 72 69 tion with a scri
4670: 70 74 20 22 6d 79 73 75 6d 6d 61 72 79 2e 73 68 pt "mysummary.sh
4680: 22 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d "..-------------
4690: 2d 2d 2d 2d 0d 0a 23 20 4f 76 65 72 72 69 64 65 ----..# Override
46a0: 20 74 68 65 20 72 6f 6c 6c 75 70 20 66 6f 72 20 the rollup for
46b0: 73 70 65 63 69 66 69 63 20 74 65 73 74 73 0d 0a specific tests..
46c0: 5b 74 65 73 74 72 6f 6c 6c 75 70 5d 0d 0a 72 75 [testrollup]..ru
46d0: 6e 66 69 72 73 74 20 6d 79 73 75 6d 6d 61 72 79 nfirst mysummary
46e0: 2e 73 68 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .sh..-----------
46f0: 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 41 72 63 68 69 76 ------....Archiv
4700: 69 6e 67 20 53 65 74 75 70 0d 0a 2d 2d 2d 2d 2d ing Setup..-----
4710: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 49 6e ----------....In
4720: 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67 megatest.config
4730: 20 61 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 add the followi
4740: 6e 67 20 73 65 63 74 69 6f 6e 73 3a 0d 0a 0d 0a ng sections:....
4750: 2e 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67 .megatest.config
4760: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
4770: 0d 0a 5b 61 72 63 68 69 76 65 5d 0d 0a 23 20 77 ..[archive]..# w
4780: 68 65 72 65 20 74 6f 20 67 65 74 20 62 75 70 20 here to get bup
4790: 65 78 65 63 75 74 61 62 6c 65 0d 0a 23 20 62 75 executable..# bu
47a0: 70 20 2f 70 61 74 68 2f 74 6f 2f 62 75 70 0d 0a p /path/to/bup..
47b0: 0d 0a 5b 61 72 63 68 69 76 65 2d 64 69 73 6b 73 ..[archive-disks
47c0: 5d 0d 0a 0d 0a 23 20 41 72 63 68 69 76 65 73 20 ]....# Archives
47d0: 77 69 6c 6c 20 62 65 20 6f 72 67 61 6e 69 73 65 will be organise
47e0: 64 20 75 6e 64 65 72 20 74 68 65 73 65 20 70 61 d under these pa
47f0: 74 68 73 20 6c 69 6b 65 20 74 68 69 73 3a 0d 0a ths like this:..
4800: 23 20 20 3c 74 65 73 74 73 75 69 74 65 3e 2f 3c # <testsuite>/<
4810: 63 72 65 61 74 69 6f 6e 64 61 74 65 3e 0d 0a 23 creationdate>..#
4820: 20 57 69 74 68 69 6e 20 74 68 65 20 61 72 63 68 Within the arch
4830: 69 76 65 20 74 68 65 20 64 61 74 61 20 69 73 20 ive the data is
4840: 73 74 72 75 63 74 75 72 65 64 20 6c 69 6b 65 20 structured like
4850: 74 68 69 73 3a 0d 0a 23 20 20 3c 74 61 72 67 65 this:..# <targe
4860: 74 3e 2f 3c 72 75 6e 6e 61 6d 65 3e 2f 3c 74 65 t>/<runname>/<te
4870: 73 74 3e 2f 0d 0a 61 72 63 68 69 76 65 30 20 2f st>/..archive0 /
4880: 6d 66 73 2f 6d 79 61 72 63 68 69 76 65 2d 64 61 mfs/myarchive-da
4890: 74 61 2f 61 64 69 73 6b 31 0d 0a 2d 2d 2d 2d 2d ta/adisk1..-----
48a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 48 61 6e ---------....Han
48b0: 64 6c 69 6e 67 20 45 6e 76 69 72 6f 6e 6d 65 6e dling Environmen
48c0: 74 20 56 61 72 69 61 62 6c 65 73 0d 0a 2d 2d 2d t Variables..---
48d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
48e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 49 -----------....I
48f0: 74 20 69 73 20 6f 66 74 65 6e 20 6e 65 63 65 73 t is often neces
4900: 73 61 72 79 20 74 6f 20 63 61 70 74 75 72 65 20 sary to capture
4910: 61 6e 64 20 6f 72 20 6d 61 6e 69 70 75 6c 61 74 and or manipulat
4920: 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0d 0a 76 e environment..v
4930: 61 72 69 61 62 6c 65 73 2e 20 4d 65 67 61 74 65 ariables. Megate
4940: 73 74 20 68 61 73 20 73 6f 6d 65 20 66 61 63 69 st has some faci
4950: 6c 69 74 69 65 73 20 62 75 69 6c 74 20 69 6e 20 lities built in
4960: 74 6f 20 68 65 6c 70 2e 0d 0a 0d 0a 43 61 70 74 to help.....Capt
4970: 75 72 65 20 76 61 72 69 61 62 6c 65 73 0d 0a 7e ure variables..~
4980: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e ~~~~~~~~~~~~~~~~
4990: 0d 0a 0d 0a 2e 43 6f 6d 6d 61 6e 64 73 0d 0a 2d .....Commands..-
49a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
49b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 -------------..#
49c0: 20 63 61 70 74 75 72 65 20 74 68 65 20 63 75 72 capture the cur
49d0: 72 65 6e 74 20 65 6e 76 69 72 6f 6d 65 6e 74 20 rent enviroment
49e0: 69 6e 74 6f 20 61 20 64 62 20 63 61 6c 6c 65 64 into a db called
49f0: 20 65 6e 76 64 61 74 2e 64 62 20 75 6e 64 65 72 envdat.db under
4a00: 0d 0a 23 20 74 68 65 20 63 6f 6e 74 65 78 74 20 ..# the context
4a10: 22 62 65 66 6f 72 65 22 0d 0a 6d 65 67 61 74 65 "before"..megate
4a20: 73 74 20 2d 65 6e 76 63 61 70 20 62 65 66 6f 72 st -envcap befor
4a30: 65 0d 0a 0d 0a 23 20 63 61 70 74 75 72 65 20 74 e....# capture t
4a40: 68 65 20 63 75 72 72 65 6e 74 20 65 6e 76 69 72 he current envir
4a50: 6f 6e 6d 65 6e 74 20 69 6e 74 6f 20 61 20 64 62 onment into a db
4a60: 20 63 61 6c 6c 65 64 20 73 74 61 72 74 75 70 2e called startup.
4a70: 64 62 20 77 69 74 68 20 0d 0a 23 20 63 6f 6e 74 db with ..# cont
4a80: 65 78 74 20 22 61 66 74 65 72 22 0d 0a 6d 65 67 ext "after"..meg
4a90: 61 74 65 73 74 20 2d 65 6e 76 63 61 70 20 61 66 atest -envcap af
4aa0: 74 65 72 20 73 74 61 72 74 75 70 2e 64 62 0d 0a ter startup.db..
4ab0: 0d 0a 23 20 77 72 69 74 65 20 74 68 65 20 64 69 ..# write the di
4ac0: 66 66 20 66 72 6f 6d 20 62 65 66 6f 72 65 20 74 ff from before t
4ad0: 6f 20 61 66 74 65 72 0d 0a 6d 65 67 61 74 65 73 o after..megates
4ae0: 74 20 2d 65 6e 76 64 65 6c 74 61 20 62 65 66 6f t -envdelta befo
4af0: 72 65 2d 61 66 74 65 72 20 2d 64 75 6d 70 6d 6f re-after -dumpmo
4b00: 64 65 20 62 61 73 68 0d 0a 2d 2d 2d 2d 2d 2d 2d de bash..-------
4b10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4b20: 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 44 75 6d 70 20 -------....Dump
4b30: 6d 6f 64 65 73 20 69 6e 63 6c 75 64 65 20 62 61 modes include ba
4b40: 73 68 2c 20 63 73 68 20 61 6e 64 20 63 6f 6e 66 sh, csh and conf
4b50: 69 67 2e 20 59 6f 75 20 63 61 6e 20 69 6e 63 6c ig. You can incl
4b60: 75 64 65 20 63 6f 6e 66 69 67 20 64 61 74 61 0d ude config data.
4b70: 0a 69 6e 74 6f 20 6d 65 67 61 74 65 73 74 2e 63 .into megatest.c
4b80: 6f 6e 66 69 67 20 6f 72 20 72 75 6e 63 6f 6e 66 onfig or runconf
4b90: 69 67 73 2e 63 6f 6e 66 69 67 2e 0d 0a 0d 0a 2e igs.config......
4ba0: 45 78 61 6d 70 6c 65 20 6f 66 20 67 65 6e 65 72 Example of gener
4bb0: 61 74 69 6e 67 20 61 6e 64 20 75 73 69 6e 67 20 ating and using
4bc0: 63 6f 6e 66 69 67 20 64 61 74 61 0d 0a 2d 2d 2d config data..---
4bd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4be0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 6d 65 67 -----------..meg
4bf0: 61 74 65 73 74 20 2d 65 6e 76 63 61 70 20 6f 72 atest -envcap or
4c00: 69 67 69 6e 61 6c 0d 0a 23 20 64 6f 20 73 6f 6d iginal..# do som
4c10: 65 20 73 74 75 66 66 20 68 65 72 65 0d 0a 6d 65 e stuff here..me
4c20: 67 61 74 65 73 74 20 2d 65 6e 76 63 61 70 20 6d gatest -envcap m
4c30: 75 6e 67 65 64 0d 0a 6d 65 67 61 74 65 73 74 20 unged..megatest
4c40: 2d 65 6e 76 64 65 6c 74 61 20 6f 72 69 67 69 6e -envdelta origin
4c50: 61 6c 2d 6d 75 6e 67 65 64 20 2d 64 75 6d 70 6d al-munged -dumpm
4c60: 6f 64 65 20 69 6e 69 20 2d 6f 20 6d 6f 64 69 66 ode ini -o modif
4c70: 69 65 64 2e 63 6f 6e 66 69 67 0d 0a 2d 2d 2d 2d ied.config..----
4c80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4c90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 54 68 ----------....Th
4ca0: 65 6e 20 69 6e 20 72 75 6e 63 6f 6e 66 69 67 73 en in runconfigs
4cb0: 2e 63 6f 6e 66 69 67 0d 0a 0d 0a 2e 45 78 61 6d .config.....Exam
4cc0: 70 6c 65 20 6f 66 20 75 73 69 6e 67 20 6d 6f 64 ple of using mod
4cd0: 69 66 69 65 64 2e 63 6f 6e 66 69 67 20 69 6e 20 ified.config in
4ce0: 61 20 74 65 73 74 63 6f 6e 66 69 67 0d 0a 2d 2d a testconfig..--
4cf0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4d00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 63 61 ------------..ca
4d10: 74 20 74 65 73 74 63 6f 6e 66 69 67 0d 0a 5b 70 t testconfig..[p
4d20: 72 65 2d 6c 61 75 6e 63 68 2d 65 6e 76 2d 76 61 re-launch-env-va
4d30: 72 73 5d 0d 0a 5b 69 6e 63 6c 75 64 65 20 6d 6f rs]..[include mo
4d40: 64 69 66 69 65 64 2e 63 6f 6e 66 69 67 5d 0d 0a dified.config]..
4d50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4d60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
4d70: 0d 0a 4d 61 6e 61 67 69 6e 67 20 4f 6c 64 20 52 ..Managing Old R
4d80: 75 6e 73 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d uns..-----------
4d90: 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 49 74 20 69 73 20 ------....It is
4da0: 6f 66 74 65 6e 20 64 65 73 69 72 65 64 20 74 6f often desired to
4db0: 20 6b 65 65 70 20 73 6f 6d 65 20 6f 6c 64 65 72 keep some older
4dc0: 20 72 75 6e 73 20 61 72 6f 75 6e 64 20 62 75 74 runs around but
4dd0: 20 74 68 69 73 20 6d 75 73 74 20 62 65 20 62 61 this must be ba
4de0: 6c 61 6e 63 65 64 20 77 69 74 68 20 74 68 65 20 lanced with the
4df0: 63 6f 73 74 73 20 6f 66 20 64 69 73 6b 20 73 70 costs of disk sp
4e00: 61 63 65 2e 0d 0a 0d 0a 2e 20 55 73 65 20 2d 72 ace...... Use -r
4e10: 65 6d 6f 76 65 2d 6b 65 65 70 0d 0a 2e 20 55 73 emove-keep... Us
4e20: 65 20 2d 61 72 63 68 69 76 65 20 28 63 61 6e 20 e -archive (can
4e30: 61 6c 73 6f 20 62 65 20 64 6f 6e 65 20 66 72 6f also be done fro
4e40: 6d 20 74 68 65 20 2d 72 65 6d 6f 76 65 2d 6b 65 m the -remove-ke
4e50: 65 70 20 69 6e 74 65 72 66 61 63 65 29 0d 0a 2e ep interface)...
4e60: 20 75 73 65 20 2d 72 65 6d 6f 76 65 2d 72 75 6e use -remove-run
4e70: 73 20 77 69 74 68 20 2d 6b 65 65 70 2d 72 65 63 s with -keep-rec
4e80: 6f 72 64 73 0d 0a 0d 0a 2e 46 6f 72 20 65 61 63 ords.....For eac
4e90: 68 20 74 61 72 67 65 74 2c 20 72 65 6d 6f 76 65 h target, remove
4ea0: 20 61 6c 6c 20 72 75 6e 73 20 62 75 74 20 74 68 all runs but th
4eb0: 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 33 20 e most recent 3
4ec0: 69 66 20 74 68 65 79 20 61 72 65 20 6f 76 65 72 if they are over
4ed0: 20 31 20 77 65 65 6b 20 6f 6c 64 0d 0a 2d 2d 2d 1 week old..---
4ee0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
4ef0: 2d 2d 0d 0a 23 20 75 73 65 20 2d 70 72 65 63 6d --..# use -precm
4f00: 64 20 27 73 6c 65 65 70 20 35 3b 6e 62 66 61 6b d 'sleep 5;nbfak
4f10: 65 27 20 74 6f 20 6c 69 6d 69 74 20 6f 76 65 72 e' to limit over
4f20: 6c 6f 61 64 69 6e 67 20 74 68 65 20 68 6f 73 74 loading the host
4f30: 20 63 6f 6d 70 75 74 65 72 20 62 75 74 20 74 6f computer but to
4f40: 20 61 6c 6c 6f 77 20 74 68 65 20 72 65 6d 6f 76 allow the remov
4f50: 65 73 20 74 6f 20 72 75 6e 20 69 6e 20 70 61 72 es to run in par
4f60: 61 6c 6c 65 6c 2e 0d 0a 6d 65 67 61 74 65 73 74 allel...megatest
4f70: 20 2d 61 63 74 69 6f 6e 73 20 70 72 69 6e 74 2c -actions print,
4f80: 72 65 6d 6f 76 65 2d 72 75 6e 73 20 2d 72 65 6d remove-runs -rem
4f90: 6f 76 65 2d 6b 65 65 70 20 33 20 2d 74 61 72 67 ove-keep 3 -targ
4fa0: 65 74 20 25 2f 25 2f 25 2f 25 20 2d 72 75 6e 6e et %/%/%/% -runn
4fb0: 61 6d 65 20 25 20 2d 61 67 65 20 31 77 20 2d 70 ame % -age 1w -p
4fc0: 72 65 63 6d 64 20 27 73 6c 65 65 70 20 35 3b 6e recmd 'sleep 5;n
4fd0: 62 66 61 6b 65 27 22 0d 0a 2d 2d 2d 2d 2d 2d 2d bfake'"..-------
4fe0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a --------------..
4ff0: 0d 0a 4e 65 73 74 65 64 20 52 75 6e 73 0d 0a 2d ..Nested Runs..-
5000: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 41 20 ----------....A
5010: 4d 65 67 61 74 65 73 74 20 74 65 73 74 20 63 61 Megatest test ca
5020: 6e 20 72 75 6e 20 61 20 66 75 6c 6c 20 4d 65 67 n run a full Meg
5030: 61 74 65 73 74 20 72 75 6e 20 69 6e 20 65 69 74 atest run in eit
5040: 68 65 72 20 74 68 65 20 73 61 6d 65 0d 0a 4d 65 her the same..Me
5050: 67 61 74 65 73 74 20 61 72 65 61 20 6f 72 20 69 gatest area or i
5060: 6e 20 61 6e 6f 74 68 65 72 20 61 72 65 61 2e 20 n another area.
5070: 54 68 69 73 20 69 73 20 61 20 70 6f 77 65 72 66 This is a powerf
5080: 75 6c 20 77 61 79 20 6f 66 20 63 68 61 69 6e 69 ul way of chaini
5090: 6e 67 0d 0a 63 6f 6d 70 6c 65 78 20 73 75 69 74 ng..complex suit
50a0: 65 73 20 6f 66 20 74 65 73 74 73 20 61 6e 64 20 es of tests and
50b0: 6f 72 20 61 63 74 69 6f 6e 73 2e 0d 0a 0d 0a 49 or actions.....I
50c0: 66 20 79 6f 75 20 61 72 65 20 6e 6f 74 20 75 73 f you are not us
50d0: 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 ing the current
50e0: 61 72 65 61 20 79 6f 75 20 63 61 6e 20 75 73 65 area you can use
50f0: 20 65 7a 73 74 65 70 73 20 74 6f 20 72 65 74 72 ezsteps to retr
5100: 69 65 76 65 0d 0a 61 6e 64 20 73 65 74 75 70 20 ieve..and setup
5110: 74 68 65 20 73 75 62 2d 4d 65 67 61 74 65 73 74 the sub-Megatest
5120: 20 72 75 6e 20 61 72 65 61 2e 0d 0a 0d 0a 49 6e run area.....In
5130: 20 74 68 65 20 74 65 73 74 63 6f 6e 66 69 67 3a the testconfig:
5140: 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..--------------
5150: 2d 0d 0a 5b 73 75 62 72 75 6e 5d 0d 0a 0d 0a 23 -..[subrun]....#
5160: 20 52 65 71 75 69 72 65 64 3a 20 77 61 69 74 20 Required: wait
5170: 66 6f 72 20 74 68 65 20 72 75 6e 20 6f 72 20 6a for the run or j
5180: 75 73 74 20 6c 61 75 6e 63 68 20 69 74 0d 0a 23 ust launch it..#
5190: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f if no
51a0: 20 74 68 65 6e 20 74 68 65 20 72 75 6e 20 77 69 then the run wi
51b0: 6c 6c 20 62 65 20 61 6e 20 61 75 74 6f 6d 61 74 ll be an automat
51c0: 69 63 20 50 41 53 53 20 69 72 72 65 73 70 65 63 ic PASS irrespec
51d0: 74 69 76 65 20 6f 66 20 74 68 65 20 61 63 74 75 tive of the actu
51e0: 61 6c 20 72 65 73 75 6c 74 0d 0a 72 75 6e 2d 77 al result..run-w
51f0: 61 69 74 20 79 65 73 7c 6e 6f 0d 0a 0d 0a 23 20 ait yes|no....#
5200: 4f 70 74 69 6f 6e 61 6c 3a 20 77 68 65 72 65 20 Optional: where
5210: 74 6f 20 65 78 65 63 75 74 65 20 74 68 65 20 72 to execute the r
5220: 75 6e 2e 20 44 65 66 61 75 6c 74 20 69 73 20 74 un. Default is t
5230: 68 65 20 63 75 72 72 65 6e 74 20 72 75 6e 61 72 he current runar
5240: 65 61 0d 0a 72 75 6e 2d 61 72 65 61 20 2f 73 6f ea..run-area /so
5250: 6d 65 2f 70 61 74 68 2f 74 6f 2f 6d 65 67 61 74 me/path/to/megat
5260: 65 73 74 2f 61 72 65 61 0d 0a 0d 0a 23 20 4f 70 est/area....# Op
5270: 74 69 6f 6e 61 6c 3a 20 6d 65 74 68 6f 64 20 74 tional: method t
5280: 6f 20 75 73 65 20 74 6f 20 64 65 74 65 72 6d 69 o use to determi
5290: 6e 65 20 70 61 73 73 2f 66 61 69 6c 20 73 74 61 ne pass/fail sta
52a0: 74 75 73 20 6f 66 20 74 68 65 20 72 75 6e 0d 0a tus of the run..
52b0: 23 20 20 20 61 75 74 6f 20 28 64 65 66 61 75 6c # auto (defaul
52c0: 74 29 20 2d 20 72 6f 6c 6c 20 75 70 20 74 68 65 t) - roll up the
52d0: 20 6e 65 74 20 73 74 61 74 65 2f 73 74 61 74 75 net state/statu
52e0: 73 20 6f 66 20 74 68 65 20 73 75 62 2d 72 75 6e s of the sub-run
52f0: 0d 0a 23 20 20 20 6c 6f 67 70 72 6f 20 20 20 20 ..# logpro
5300: 20 20 20 20 20 2d 20 75 73 65 20 74 68 65 20 70 - use the p
5310: 72 6f 76 69 64 65 64 20 6c 6f 67 70 72 6f 20 72 rovided logpro r
5320: 75 6c 65 73 2c 20 68 61 70 70 65 6e 73 20 61 75 ules, happens au
5330: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 69 66 20 74 tomatically if t
5340: 68 65 72 65 20 69 73 20 61 20 6c 6f 67 70 72 6f here is a logpro
5350: 20 73 65 63 74 69 6f 6e 0d 0a 23 20 70 61 73 73 section..# pass
5360: 66 61 69 6c 20 61 75 74 6f 7c 6c 6f 67 70 72 6f fail auto|logpro
5370: 0d 0a 23 20 45 78 61 6d 70 6c 65 20 6f 66 20 6c ..# Example of l
5380: 6f 67 70 72 6f 3a 0d 0a 70 61 73 73 66 61 69 6c ogpro:..passfail
5390: 20 6c 6f 67 70 72 6f 0d 0a 0d 0a 23 20 4f 70 74 logpro....# Opt
53a0: 69 6f 6e 61 6c 3a 20 0d 0a 6c 6f 67 70 72 6f 20 ional: ..logpro
53b0: 3b 3b 20 69 66 20 74 68 69 73 20 73 65 63 74 69 ;; if this secti
53c0: 6f 6e 20 65 78 69 73 74 73 20 74 68 65 6e 20 6c on exists then l
53d0: 6f 67 70 72 6f 20 69 73 20 75 73 65 64 20 74 6f ogpro is used to
53e0: 20 64 65 74 65 72 6d 69 6e 65 20 70 61 73 73 2f determine pass/
53f0: 66 61 69 6c 0d 0a 20 20 28 65 78 70 65 63 74 3a fail.. (expect:
5400: 72 65 71 75 69 72 65 64 20 69 6e 20 22 4c 6f 67 required in "Log
5410: 46 69 6c 65 42 6f 64 79 22 20 3e 3d 20 31 20 22 FileBody" >= 1 "
5420: 41 74 20 6c 65 61 73 74 20 6f 6e 65 20 70 61 73 At least one pas
5430: 73 22 20 23 2f 50 41 53 53 2f 29 0d 0a 20 20 28 s" #/PASS/).. (
5440: 65 78 70 65 63 74 3a 66 61 69 6c 20 20 20 20 20 expect:fail
5450: 69 6e 20 22 4c 6f 67 46 69 6c 65 42 6f 64 79 22 in "LogFileBody"
5460: 20 20 3d 20 30 20 22 4e 6f 20 46 41 49 4c 73 20 = 0 "No FAILs
5470: 61 6c 6c 6f 77 65 64 22 20 20 23 2f 46 41 49 4c allowed" #/FAIL
5480: 2f 29 0d 0a 0d 0a 23 20 4f 70 74 69 6f 6e 61 6c /)....# Optional
5490: 3a 20 74 61 72 67 65 74 20 74 72 61 6e 73 6c 61 : target transla
54a0: 74 6f 72 2c 20 64 65 66 61 75 6c 74 20 69 73 20 tor, default is
54b0: 74 6f 20 75 73 65 20 74 68 65 20 70 61 72 65 6e to use the paren
54c0: 74 20 74 61 72 67 65 74 0d 0a 74 61 72 67 65 74 t target..target
54d0: 20 23 7b 73 68 65 6c 6c 20 73 6f 6d 65 73 63 72 #{shell somescr
54e0: 69 70 74 2e 73 68 7d 0d 0a 0d 0a 23 20 4f 70 74 ipt.sh}....# Opt
54f0: 69 6f 6e 61 6c 3a 20 72 75 6e 6e 61 6d 65 20 74 ional: runname t
5500: 72 61 6e 73 6c 61 74 6f 72 2f 67 65 6e 65 72 61 ranslator/genera
5510: 74 6f 72 2c 20 64 65 66 61 75 6c 74 20 69 73 20 tor, default is
5520: 74 6f 20 75 73 65 20 74 68 65 20 70 61 72 65 6e to use the paren
5530: 74 20 72 75 6e 6e 61 6d 65 0d 0a 72 75 6e 2d 6e t runname..run-n
5540: 61 6d 65 20 23 7b 73 6f 6d 65 73 63 72 69 70 74 ame #{somescript
5550: 2e 73 68 7d 0d 0a 0d 0a 23 20 4f 70 74 69 6f 6e .sh}....# Option
5560: 61 6c 3a 20 74 65 73 74 70 61 74 74 20 73 70 65 al: testpatt spe
5570: 63 2c 20 64 65 66 61 75 6c 74 20 69 73 20 74 6f c, default is to
5580: 20 66 69 72 73 74 20 6c 6f 6f 6b 20 66 6f 72 20 first look for
5590: 54 45 53 54 50 41 54 54 20 73 70 65 63 20 66 72 TESTPATT spec fr
55a0: 6f 6d 20 72 75 6e 63 6f 6e 66 69 67 73 20 75 6e om runconfigs un
55b0: 6c 65 73 73 20 74 68 65 72 65 20 69 73 20 61 20 less there is a
55c0: 63 6f 6e 74 6f 75 72 20 73 70 65 63 0d 0a 74 65 contour spec..te
55d0: 73 74 2d 70 61 74 74 20 25 2f 69 74 65 6d 31 2c st-patt %/item1,
55e0: 74 65 73 74 32 0d 0a 0d 0a 23 20 4f 70 74 69 6f test2....# Optio
55f0: 6e 61 6c 3a 20 63 6f 6e 74 6f 75 72 20 73 70 65 nal: contour spe
5600: 63 2c 20 75 73 65 20 74 68 65 20 6e 61 6d 65 64 c, use the named
5610: 20 63 6f 6e 74 6f 75 72 20 66 72 6f 6d 20 74 68 contour from th
5620: 65 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 e megatest.confi
5630: 67 20 63 6f 6e 74 6f 75 72 20 73 70 65 63 0d 0a g contour spec..
5640: 63 6f 6e 74 6f 75 72 20 63 6f 6e 74 6f 75 72 6e contour contourn
5650: 61 6d 65 20 23 23 23 20 4e 4f 54 45 3a 20 4e 6f ame ### NOTE: No
5660: 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 79 65 t implemented ye
5670: 74 21 20 4c 65 74 20 75 73 20 6b 6e 6f 77 20 69 t! Let us know i
5680: 66 20 79 6f 75 20 6e 65 65 64 20 74 68 69 73 20 f you need this
5690: 66 65 61 74 75 72 65 2e 0d 0a 0d 0a 23 20 4f 70 feature.....# Op
56a0: 74 69 6f 6e 61 6c 3a 20 6d 6f 64 65 2d 70 61 74 tional: mode-pat
56b0: 74 2c 20 75 73 65 20 74 68 69 73 20 73 70 65 63 t, use this spec
56c0: 20 66 6f 72 20 74 65 73 74 70 61 74 74 20 66 72 for testpatt fr
56d0: 6f 6d 20 72 75 6e 63 6f 6e 66 69 67 73 0d 0a 6d om runconfigs..m
56e0: 6f 64 65 2d 70 61 74 74 20 54 45 53 54 50 41 54 ode-patt TESTPAT
56f0: 54 0d 0a 0d 0a 23 20 4f 70 74 69 6f 6e 61 6c 3a T....# Optional:
5700: 20 74 61 67 2d 65 78 70 72 2c 20 75 73 65 20 74 tag-expr, use t
5710: 68 69 73 20 74 61 67 2d 65 78 70 72 20 74 6f 20 his tag-expr to
5720: 73 65 6c 65 63 74 20 74 65 73 74 73 0d 0a 74 61 select tests..ta
5730: 67 2d 65 78 70 72 20 71 75 69 63 6b 0d 0a 0d 0a g-expr quick....
5740: 23 20 4f 70 74 69 6f 6e 61 6c 3a 20 28 6e 6f 74 # Optional: (not
5750: 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 yet implemented
5760: 2c 20 72 65 6d 6f 76 65 2d 72 75 6e 73 20 69 73 , remove-runs is
5770: 20 61 6c 77 61 79 73 20 70 72 6f 70 61 67 61 74 always propagat
5780: 65 64 20 61 74 20 74 68 69 73 20 74 69 6d 65 29 ed at this time)
5790: 2c 20 70 72 6f 70 61 67 61 74 65 20 74 68 65 73 , propagate thes
57a0: 65 20 61 63 74 69 6f 6e 73 20 66 72 6f 6d 20 74 e actions from t
57b0: 68 65 20 70 61 72 65 6e 74 0d 0a 23 20 20 20 20 he parent..#
57c0: 20 20 20 20 20 20 20 74 65 73 74 0d 0a 23 20 20 test..#
57d0: 20 4e 6f 74 65 2f 2f 20 64 65 66 61 75 6c 74 20 Note// default
57e0: 69 73 20 25 20 66 6f 72 20 61 6c 6c 0d 0a 70 72 is % for all..pr
57f0: 6f 70 61 67 61 74 65 20 72 65 6d 6f 76 65 2d 72 opagate remove-r
5800: 75 6e 73 20 61 72 63 68 69 76 65 20 2e 2e 2e 0d uns archive ....
5810: 0a 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...-------------
5820: 2d 2d 0d 0a 0d 0a 50 72 6f 67 72 61 6d 6d 69 6e --....Programmin
5830: 67 20 41 50 49 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d g API..---------
5840: 2d 2d 2d 2d 2d 2d 0d 0a 0d 0a 54 68 65 73 65 20 ------....These
5850: 72 6f 75 74 69 6e 65 73 20 63 61 6e 20 62 65 20 routines can be
5860: 63 61 6c 6c 65 64 20 66 72 6f 6d 20 74 68 65 20 called from the
5870: 6d 65 67 61 74 65 73 74 20 72 65 70 6c 2e 20 0d megatest repl. .
5880: 0a 0d 0a 2e 41 50 49 20 4b 65 79 73 20 52 65 6c ....API Keys Rel
5890: 61 74 65 64 20 43 61 6c 6c 73 0d 0a 5b 77 69 64 ated Calls..[wid
58a0: 74 68 3d 22 37 30 25 22 2c 63 6f 6c 73 3d 22 5e th="70%",cols="^
58b0: 2c 32 6d 2c 32 6d 2c 32 6d 22 2c 66 72 61 6d 65 ,2m,2m,2m",frame
58c0: 3d 22 74 6f 70 62 6f 74 22 2c 6f 70 74 69 6f 6e ="topbot",option
58d0: 73 3d 22 68 65 61 64 65 72 2c 66 6f 6f 74 65 72 s="header,footer
58e0: 22 5d 0d 0a 7c 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d "]..|===========
58f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 7c 41 50 ===========..|AP
5900: 49 20 43 61 6c 6c 20 20 20 20 20 20 20 20 20 20 I Call
5910: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
5920: 50 75 72 70 6f 73 65 20 63 6f 6d 6d 65 6e 74 73 Purpose comments
5930: 20 20 20 7c 20 52 65 74 75 72 6e 73 20 20 20 20 | Returns
5940: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 43 | C
5950: 6f 6d 6d 65 6e 74 73 0d 0a 7c 28 72 6d 74 3a 67 omments..|(rmt:g
5960: 65 74 2d 6b 65 79 73 20 72 75 6e 2d 69 64 29 20 et-keys run-id)
5970: 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 20 20 |
5980: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
5990: 20 28 20 6b 65 79 31 20 6b 65 79 32 20 2e 2e 2e ( key1 key2 ...
59a0: 20 29 20 20 20 20 20 20 20 7c 20 0d 0a 7c 20 28 ) | ..| (
59b0: 72 6d 74 3a 67 65 74 2d 6b 65 79 2d 76 61 6c 2d rmt:get-key-val-
59c0: 70 61 69 72 73 20 72 75 6e 2d 69 64 29 20 7c 20 pairs run-id) |
59d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
59e0: 20 20 20 7c 20 23 74 3d 73 75 63 63 65 73 73 2f | #t=success/
59f0: 23 66 3d 66 61 69 6c 20 20 20 20 20 20 7c 20 57 #f=fail | W
5a00: 6f 72 6b 73 20 6f 6e 6c 79 20 69 66 20 74 68 65 orks only if the
5a10: 20 73 65 72 76 65 72 20 69 73 20 73 74 69 6c 6c server is still
5a20: 20 72 65 61 63 68 61 62 6c 65 0d 0a 7c 3d 3d 3d reachable..|===
5a30: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
5a40: 3d 3d 3d 0d 0a 0d 0a 0d 0a 3a 6e 75 6d 62 65 72 ===......:number
5a50: 65 64 21 3a 0d 0a 0a 5a 20 34 65 35 32 32 61 66 ed!:...Z 4e522af
5a60: 37 32 38 31 37 39 64 36 61 32 62 66 34 61 37 33 728179d6a2bf4a73
5a70: 33 31 37 39 38 35 64 31 31 0a 317985d11.