Megatest

Hex Artifact Content
Login

Artifact 55d8aee55f54abdc642e4101eff789313cd4fcdb:

Wiki page [plan] by mrwellan 2018-01-30 11:07:08.
0000: 44 20 32 30 31 38 2d 30 31 2d 33 30 54 31 38 3a  D 2018-01-30T18:
0010: 30 37 3a 30 38 2e 33 38 32 0a 4c 20 70 6c 61 6e  07:08.382.L plan
0020: 0a 4e 20 74 65 78 74 2f 70 6c 61 69 6e 0a 50 20  .N text/plain.P 
0030: 32 33 35 39 64 34 36 34 34 63 65 32 62 63 37 38  2359d4644ce2bc78
0040: 37 66 34 64 32 63 32 66 39 66 36 32 63 37 35 35  7f4d2c2f9f62c755
0050: 64 39 35 66 32 31 61 38 0a 55 20 6d 72 77 65 6c  d95f21a8.U mrwel
0060: 6c 61 6e 0a 57 20 35 32 32 36 0a 52 6f 61 64 20  lan.W 5226.Road 
0070: 4d 61 70 0d 0a 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 0d  Map..--------...
0080: 0a 4e 6f 74 65 20 31 3a 20 54 68 69 73 20 72 6f  .Note 1: This ro
0090: 61 64 2d 6d 61 70 20 69 73 20 73 74 69 6c 6c 20  ad-map is still 
00a0: 65 76 6f 6c 76 69 6e 67 20 61 6e 64 20 73 75 62  evolving and sub
00b0: 6a 65 63 74 20 74 6f 20 63 68 61 6e 67 65 20 77  ject to change w
00c0: 69 74 68 6f 75 74 20 6e 6f 74 69 63 65 2e 0d 0a  ithout notice...
00d0: 0d 0a 41 72 63 68 69 74 65 63 74 75 72 65 20 52  ..Architecture R
00e0: 65 66 61 63 74 6f 72 0d 0a 7e 7e 7e 7e 7e 7e 7e  efactor..~~~~~~~
00f0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a  ~~~~~~~~~~~~~~..
0100: 0d 0a 47 6f 61 6c 73 0d 0a 5e 5e 5e 5e 5e 0d 0a  ..Goals..^^^^^..
0110: 0d 0a 2e 20 52 65 64 75 63 65 20 6c 6f 61 64 20  ... Reduce load 
0120: 6f 6e 20 74 68 65 20 66 69 6c 65 20 73 79 73 74  on the file syst
0130: 65 6d 2e 20 53 71 6c 69 74 65 33 20 66 69 6c 65  em. Sqlite3 file
0140: 73 20 6f 6e 20 6e 65 74 77 6f 72 6b 20 66 69 6c  s on network fil
0150: 65 73 79 73 74 65 6d 20 63 61 6e 20 62 65 0d 0a  esystem can be..
0160: 20 20 61 20 62 75 72 64 65 6e 2e 20 5b 67 72 65    a burden. [gre
0170: 65 6e 5d 23 5b 44 4f 4e 45 5d 23 0d 0a 2e 20 52  en]#[DONE]#... R
0180: 65 64 75 63 65 20 6e 75 6d 62 65 72 20 6f 66 20  educe number of 
0190: 73 65 72 76 65 72 73 20 61 6e 64 20 66 72 65 71  servers and freq
01a0: 75 65 6e 63 79 20 6f 66 20 73 74 61 72 74 2f 73  uency of start/s
01b0: 74 6f 70 2e 20 54 68 69 73 20 69 73 20 6d 6f 73  top. This is mos
01c0: 74 6c 79 20 61 6e 0d 0a 20 20 69 73 73 75 65 20  tly an..  issue 
01d0: 6f 66 20 63 6c 75 74 74 65 72 20 62 75 74 20 61  of clutter but a
01e0: 6c 73 6f 20 61 20 72 65 64 75 63 74 69 6f 6e 20  lso a reduction 
01f0: 69 6e 20 22 6d 6f 76 69 6e 67 20 70 61 72 74 73  in "moving parts
0200: 22 2e 20 5b 67 72 65 65 6e 5d 23 5b 44 4f 4e 45  ". [green]#[DONE
0210: 5d 23 0d 0a 2e 20 43 6f 61 6c 65 73 63 65 20 61  ]#... Coalesce a
0220: 63 74 69 76 69 74 69 65 73 20 74 6f 20 61 20 73  ctivities to a s
0230: 69 6e 67 6c 65 20 68 6f 6d 65 20 68 6f 73 74 20  ingle home host 
0240: 77 68 65 72 65 20 70 6f 73 73 69 62 6c 65 2e 20  where possible. 
0250: 47 69 76 65 20 74 68 65 20 75 73 65 72 0d 0a 20  Give the user.. 
0260: 20 66 65 65 64 62 61 63 6b 20 74 68 61 74 20 74   feedback that t
0270: 68 65 79 20 68 61 76 65 20 73 74 61 72 74 65 64  hey have started
0280: 20 74 68 65 20 64 61 73 68 62 6f 61 72 64 20 6f   the dashboard o
0290: 6e 20 61 20 68 6f 73 74 20 6f 74 68 65 72 20 74  n a host other t
02a0: 68 61 6e 20 74 68 65 0d 0a 20 20 68 6f 6d 65 20  han the..  home 
02b0: 68 6f 73 74 2e 20 5b 67 72 65 65 6e 5d 23 5b 44  host. [green]#[D
02c0: 4f 4e 45 5d 23 0d 0a 2e 20 52 65 64 75 63 65 20  ONE]#... Reduce 
02d0: 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 63 65 73  number of proces
02e0: 73 65 73 20 69 6e 76 6f 6c 76 65 64 20 69 6e 20  ses involved in 
02f0: 6d 61 6e 61 67 69 6e 67 20 72 75 6e 6e 69 6e 67  managing running
0300: 20 74 65 73 74 73 2e 0d 0a 0d 0a 43 68 61 6e 67   tests.....Chang
0310: 65 73 20 4e 65 65 64 65 64 0d 0a 5e 5e 5e 5e 5e  es Needed..^^^^^
0320: 5e 5e 5e 5e 5e 5e 5e 5e 5e 0d 0a 0d 0a 2e 20 41  ^^^^^^^^^..... A
0330: 43 49 44 20 63 6f 6d 70 6c 69 61 6e 74 20 64 62  CID compliant db
0340: 20 77 69 6c 6c 20 62 65 20 6f 6e 20 2f 74 6d 70   will be on /tmp
0350: 20 61 6e 64 20 73 79 6e 63 65 64 20 74 6f 20 6d   and synced to m
0360: 65 67 61 74 65 73 74 2e 64 62 20 77 69 74 68 20  egatest.db with 
0370: 61 20 66 69 76 65 0d 0a 20 20 73 65 63 6f 6e 64  a five..  second
0380: 20 6d 61 78 20 64 65 6c 61 79 2e 20 5b 67 72 65   max delay. [gre
0390: 65 6e 5d 23 5b 44 4f 4e 45 5d 23 0d 0a 2e 20 52  en]#[DONE]#... R
03a0: 65 61 64 2f 77 72 69 74 65 73 20 74 6f 20 64 62  ead/writes to db
03b0: 20 66 6f 72 20 70 72 6f 63 65 73 73 65 73 20 6f   for processes o
03c0: 6e 20 68 6f 6d 65 68 6f 73 74 20 77 69 6c 6c 20  n homehost will 
03d0: 67 6f 20 64 69 72 65 63 74 20 74 6f 20 2f 74 6d  go direct to /tm
03e0: 70 0d 0a 20 20 6d 65 67 61 74 65 73 74 2e 64 62  p..  megatest.db
03f0: 20 66 69 6c 65 2e 20 5b 67 72 65 65 6e 5d 23 5b   file. [green]#[
0400: 44 4f 4e 45 5d 23 0d 0a 2e 20 52 65 61 64 2f 77  DONE]#... Read/w
0410: 69 74 65 73 20 66 72 6f 6e 20 6e 6f 6e 2d 68 6f  ites fron non-ho
0420: 6d 65 68 6f 73 74 20 70 72 6f 63 65 73 73 65 73  mehost processes
0430: 20 77 69 6c 6c 20 67 6f 20 74 68 72 6f 75 67 68   will go through
0440: 20 6f 6e 65 20 73 65 72 76 65 72 2e 20 42 75 6c   one server. Bul
0450: 6b 0d 0a 20 20 72 65 61 64 73 20 28 65 2e 67 2e  k..  reads (e.g.
0460: 20 66 6f 72 20 64 61 73 68 62 6f 61 72 64 20 6f   for dashboard o
0470: 72 20 6c 69 73 74 2d 72 75 6e 73 29 20 77 69 6c  r list-runs) wil
0480: 6c 20 62 65 20 63 61 63 68 65 64 20 6f 6e 20 74  l be cached on t
0490: 68 65 20 63 75 72 72 65 6e 74 20 68 6f 73 74 0d  he current host.
04a0: 0a 20 20 69 6e 20 2f 74 6d 70 20 61 6e 64 20 73  .  in /tmp and s
04b0: 79 6e 63 65 64 20 66 72 6f 6d 20 74 68 65 20 68  ynced from the h
04c0: 6f 6d 65 20 6d 65 67 61 74 65 73 74 2e 64 62 20  ome megatest.db 
04d0: 69 6e 20 74 68 65 20 74 65 73 74 73 75 69 74 65  in the testsuite
04e0: 20 61 72 65 61 2e 20 5b 67 72 65 65 6e 5d 23 5b   area. [green]#[
04f0: 44 4f 4e 45 5d 23 0d 0a 2e 20 44 62 20 73 79 6e  DONE]#... Db syn
0500: 63 73 20 72 65 6c 79 20 6f 6e 20 74 68 65 20 74  cs rely on the t
0510: 61 72 67 65 74 20 64 62 20 66 69 6c 65 20 74 69  arget db file ti
0520: 6d 65 73 74 61 6d 65 20 6d 69 6e 75 73 20 73 6f  mestame minus so
0530: 6d 65 20 6d 61 72 67 69 6e 2e 20 5b 67 72 65 65  me margin. [gree
0540: 6e 5d 23 5b 44 4f 4e 45 5d 23 0d 0a 2e 20 53 69  n]#[DONE]#... Si
0550: 6e 63 65 20 62 75 6c 6b 20 72 65 61 64 73 20 64  nce bulk reads d
0560: 6f 20 6e 6f 74 20 75 73 65 20 74 68 65 20 73 65  o not use the se
0570: 72 76 65 72 20 77 65 20 63 61 6e 20 73 77 69 74  rver we can swit
0580: 63 68 20 74 6f 20 73 69 6d 70 6c 65 20 52 50 43  ch to simple RPC
0590: 20 66 6f 72 20 74 68 65 0d 0a 20 20 6e 65 74 77   for the..  netw
05a0: 6f 72 6b 20 74 72 61 6e 73 70 6f 72 74 2e 20 5b  ork transport. [
05b0: 67 72 65 65 6e 5d 23 5b 44 4f 4e 45 5d 23 0d 0a  green]#[DONE]#..
05c0: 2e 20 54 65 73 74 20 72 75 6e 6e 69 6e 67 20 6d  . Test running m
05d0: 61 6e 61 67 65 72 20 70 72 6f 63 65 73 73 20 65  anager process e
05e0: 78 74 65 6e 64 65 64 20 74 6f 20 6d 61 6e 61 67  xtended to manag
05f0: 65 20 6d 75 6c 74 69 70 6c 65 20 72 75 6e 6e 69  e multiple runni
0600: 6e 67 20 74 65 73 74 73 2e 0d 0a 0d 0a 43 75 72  ng tests.....Cur
0610: 72 65 6e 74 20 49 74 65 6d 73 0d 0a 7e 7e 7e 7e  rent Items..~~~~
0620: 7e 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 0d 0a 77 77 30  ~~~~~~~~~....ww0
0630: 35 20 2d 20 6d 69 67 72 61 74 65 20 74 6f 20 69  5 - migrate to i
0640: 6e 6d 65 6d 2d 64 62 0d 0a 5e 5e 5e 5e 5e 5e 5e  nmem-db..^^^^^^^
0650: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  ^^^^^^^^^^^^^^^^
0660: 5e 5e 5e 0d 0a 0d 0a 2e 20 53 77 69 74 63 68 20  ^^^..... Switch 
0670: 74 6f 20 69 6e 6d 65 6d 20 64 62 20 77 69 74 68  to inmem db with
0680: 20 66 61 73 74 20 73 79 6e 63 20 74 6f 20 6f 6e   fast sync to on
0690: 20 64 69 73 6b 20 64 62 27 73 20 5b 67 72 65 65   disk db's [gree
06a0: 6e 5d 23 5b 44 4f 4e 45 5d 23 0d 0a 2e 20 53 65  n]#[DONE]#... Se
06b0: 72 76 65 72 20 70 6f 6c 6c 73 20 74 61 73 6b 73  rver polls tasks
06c0: 20 74 61 62 6c 65 20 66 6f 72 20 6e 65 78 74 20   table for next 
06d0: 61 63 74 69 6f 6e 0d 0a 2e 2e 20 54 61 73 6b 20  action.... Task 
06e0: 74 61 62 6c 65 20 75 73 65 64 20 66 6f 72 20 74  table used for t
06f0: 72 61 63 6b 69 6e 67 20 72 75 6e 6e 65 72 20 70  racking runner p
0700: 72 6f 63 65 73 73 20 5b 72 65 64 5d 23 5b 52 65  rocess [red]#[Re
0710: 70 6c 61 63 65 64 20 62 79 20 6d 74 75 74 69 6c  placed by mtutil
0720: 5d 23 0d 0a 2e 2e 20 54 61 73 6b 20 74 61 62 6c  ]#.... Task tabl
0730: 65 20 75 73 65 64 20 66 6f 72 20 6a 6f 62 73 20  e used for jobs 
0740: 74 6f 20 72 75 6e 20 5b 72 65 64 5d 23 5b 52 65  to run [red]#[Re
0750: 70 6c 61 63 65 64 20 62 79 20 6d 74 75 74 69 6c  placed by mtutil
0760: 5d 23 0d 0a 2e 2e 20 54 61 73 6b 20 74 61 62 6c  ]#.... Task tabl
0770: 65 20 75 73 65 64 20 66 6f 72 20 71 75 65 75 65  e used for queue
0780: 69 6e 67 20 72 75 6e 6e 65 72 20 61 63 74 69 6f  ing runner actio
0790: 6e 73 20 28 72 65 6d 6f 76 65 20 72 75 6e 73 2c  ns (remove runs,
07a0: 0d 0a 20 20 20 63 6c 65 61 6e 52 75 6e 45 78 65  ..   cleanRunExe
07b0: 63 75 74 65 2c 20 65 74 63 29 20 20 5b 72 65 64  cute, etc)  [red
07c0: 5d 23 5b 52 65 70 6c 61 63 65 64 20 62 79 20 6d  ]#[Replaced by m
07d0: 74 75 74 69 6c 23 5d 0d 0a 0d 0a 0d 0a 2f 2f 20  tutil#]......// 
07e0: 77 77 33 32 0d 0a 2f 2f 20 7e 7e 7e 7e 0d 0a 2f  ww32..// ~~~~../
07f0: 2f 20 0d 0a 2f 2f 20 2e 20 52 65 72 75 6e 20 73  / ..// . Rerun s
0800: 74 65 70 20 61 6e 64 20 6f 72 20 73 75 62 73 65  tep and or subse
0810: 71 75 65 6e 74 20 73 74 65 70 73 20 66 72 6f 6d  quent steps from
0820: 20 67 75 69 0d 0a 2f 2f 20 2e 20 52 65 66 72 65   gui..// . Refre
0830: 73 68 20 74 65 73 74 20 61 72 65 61 20 66 69 6c  sh test area fil
0840: 65 73 20 66 72 6f 6d 20 67 75 69 0d 0a 2f 2f 20  es from gui..// 
0850: 2e 20 43 6c 65 61 6e 20 61 6e 64 20 72 65 2d 72  . Clean and re-r
0860: 75 6e 20 62 75 74 74 6f 6e 0d 0a 2f 2f 20 2e 20  un button..// . 
0870: 43 6c 65 61 6e 20 75 70 20 53 54 41 54 45 20 61  Clean up STATE a
0880: 6e 64 20 53 54 41 54 55 53 20 68 61 6e 64 6c 69  nd STATUS handli
0890: 6e 67 2e 0d 0a 2f 2f 20 2e 2e 20 44 61 73 68 62  ng...// .. Dashb
08a0: 6f 61 72 64 20 61 6e 64 20 54 65 73 74 20 63 6f  oard and Test co
08b0: 6e 74 72 6f 6c 20 70 61 6e 65 6c 20 61 72 65 20  ntrol panel are 
08c0: 72 65 76 65 72 73 65 20 6f 72 64 65 72 20 2d 20  reverse order - 
08d0: 63 68 6f 6f 73 65 20 61 6e 64 20 66 69 78 0d 0a  choose and fix..
08e0: 2f 2f 20 2e 2e 20 4d 6f 76 65 20 73 65 6c 64 6f  // .. Move seldo
08f0: 6d 20 75 73 65 64 20 73 74 61 74 65 73 20 61 6e  m used states an
0900: 64 20 73 74 61 74 75 73 20 74 6f 20 64 72 6f 70  d status to drop
0910: 20 64 6f 77 6e 20 73 65 6c 65 63 74 6f 72 0d 0a   down selector..
0920: 2f 2f 20 2e 20 41 63 63 65 73 73 20 74 65 73 74  // . Access test
0930: 20 63 6f 6e 74 72 6f 6c 20 70 61 6e 65 6c 20 77   control panel w
0940: 68 65 6e 20 63 6c 69 63 6b 69 6e 67 20 6f 6e 20  hen clicking on 
0950: 52 75 6e 20 53 75 6d 6d 61 72 79 20 74 65 73 74  Run Summary test
0960: 73 0d 0a 2f 2f 20 2e 20 46 65 61 74 75 72 65 3a  s..// . Feature:
0970: 20 2d 67 65 6e 65 72 61 74 65 2d 69 6e 64 65 78   -generate-index
0980: 2d 74 72 65 65 0d 0a 2f 2f 20 2e 20 43 68 61 6e  -tree..// . Chan
0990: 67 65 20 73 70 65 63 69 66 69 6e 67 20 6f 66 20  ge specifing of 
09a0: 73 74 61 74 65 20 61 6e 64 20 73 74 61 74 75 73  state and status
09b0: 20 74 6f 20 75 73 65 20 53 54 41 54 45 31 2f 53   to use STATE1/S
09c0: 54 41 54 55 53 31 2c 53 54 41 54 45 32 2f 53 54  TATUS1,STATE2/ST
09d0: 41 54 55 53 32 0d 0a 2f 2f 20 0d 0a 2f 2f 20 77  ATUS2..// ..// w
09e0: 77 33 33 0d 0a 2f 2f 20 7e 7e 7e 7e 0d 0a 2f 2f  w33..// ~~~~..//
09f0: 20 0d 0a 2f 2f 20 2e 20 68 74 74 70 20 61 70 69   ..// . http api
0a00: 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 75   available for u
0a10: 73 65 20 77 69 74 68 20 50 65 72 6c 2c 20 52 75  se with Perl, Ru
0a20: 62 79 20 65 74 63 2e 20 73 63 72 69 70 74 73 0d  by etc. scripts.
0a30: 0a 2f 2f 20 2e 20 6d 65 67 61 74 65 73 74 2e 63  .// . megatest.c
0a40: 6f 6e 66 69 67 20 73 65 74 75 70 20 65 6e 74 72  onfig setup entr
0a50: 69 65 73 20 66 6f 72 3a 0d 0a 2f 2f 20 2e 2e 20  ies for:..// .. 
0a60: 72 75 6e 20 6c 61 75 6e 63 68 69 6e 67 20 28 65  run launching (e
0a70: 2e 67 2e 20 2f 62 69 6e 2f 73 68 20 25 43 4d 44  .g. /bin/sh %CMD
0a80: 25 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 29 0d 0a  % > /dev/null)..
0a90: 2f 2f 20 2e 2e 20 62 72 6f 77 73 65 72 20 22 6b  // .. browser "k
0aa0: 6f 6e 71 75 65 72 6f 72 20 25 46 4e 41 4d 45 25  onqueror %FNAME%
0ab0: 0d 0a 2f 2f 20 0d 0a 2f 2f 20 77 77 33 34 0d 0a  ..// ..// ww34..
0ac0: 2f 2f 20 7e 7e 7e 7e 0d 0a 2f 2f 20 0d 0a 2f 2f  // ~~~~..// ..//
0ad0: 20 2e 20 4d 61 72 6b 20 64 65 70 65 6e 64 65 6e   . Mark dependen
0ae0: 74 20 74 65 73 74 73 20 66 6f 72 20 63 6c 65 61  t tests for clea
0af0: 6e 2f 72 65 72 75 6e 20 2d 72 65 72 75 6e 2d 64  n/rerun -rerun-d
0b00: 6f 77 6e 73 74 72 65 61 6d 0d 0a 2f 2f 20 2e 20  ownstream..// . 
0b10: 4f 6e 20 72 75 6e 20 73 74 61 72 74 20 63 68 65  On run start che
0b20: 63 6b 20 66 6f 72 20 64 65 66 75 6e 63 74 20 74  ck for defunct t
0b30: 65 73 74 73 20 69 6e 20 52 55 4e 4e 49 4e 47 2c  ests in RUNNING,
0b40: 20 4c 41 55 4e 43 48 45 44 20 6f 72 20 52 45 4d   LAUNCHED or REM
0b50: 4f 54 45 48 4f 53 54 53 54 41 52 54 20 61 6e 64  OTEHOSTSTART and
0b60: 20 63 6f 72 72 65 63 74 20 6f 72 20 6e 6f 74 69   correct or noti
0b70: 66 79 0d 0a 2f 2f 20 2e 20 46 69 78 3a 20 72 65  fy..// . Fix: re
0b80: 66 72 65 73 68 20 6f 66 20 67 75 69 20 73 6f 6d  fresh of gui som
0b90: 65 74 69 6d 65 73 20 66 61 69 6c 73 20 6f 6e 20  etimes fails on 
0ba0: 6c 61 73 74 20 69 74 65 6d 20 28 72 61 63 65 20  last item (race 
0bb0: 63 6f 6e 64 69 74 69 6f 6e 3f 29 0d 0a 2f 2f 20  condition?)..// 
0bc0: 0d 0a 2f 2f 20 77 77 33 35 0d 0a 2f 2f 20 7e 7e  ..// ww35..// ~~
0bd0: 7e 7e 0d 0a 2f 2f 20 0d 0a 2f 2f 20 2e 20 72 65  ~~..// ..// . re
0be0: 66 64 62 3a 20 41 64 64 20 65 78 70 6f 72 74 20  fdb: Add export 
0bf0: 6f 66 20 63 73 76 2c 20 6a 73 6f 6e 20 61 6e 64  of csv, json and
0c00: 20 73 65 78 70 0d 0a 2f 2f 20 2e 20 43 6f 6e 76   sexp..// . Conv
0c10: 65 72 74 20 74 6f 20 75 73 69 6e 67 20 63 61 6c  ert to using cal
0c20: 6c 2d 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65  l-with-environme
0c30: 6e 74 2d 76 61 72 69 61 62 6c 65 73 20 77 68 65  nt-variables whe
0c40: 72 65 20 70 6f 73 73 69 62 6c 65 2e 20 53 68 6f  re possible. Sho
0c50: 75 6c 64 20 61 6c 6c 6f 77 20 68 61 6e 64 6c 69  uld allow handli
0c60: 6e 67 20 6f 66 20 70 61 72 61 6c 6c 65 6c 20 72  ng of parallel r
0c70: 75 6e 73 20 69 6e 20 73 61 6d 65 20 70 72 6f 63  uns in same proc
0c80: 65 73 73 2e 0d 0a 2f 2f 20 2e 20 52 65 2d 77 6f  ess...// . Re-wo
0c90: 72 6b 20 74 65 78 74 20 69 6e 74 65 72 66 61 63  rk text interfac
0ca0: 65 20 77 69 7a 61 72 64 73 2e 20 53 65 76 65 72  e wizards. Sever
0cb0: 61 6c 20 62 75 67 73 20 6f 6e 20 72 65 63 6f 72  al bugs on recor
0cc0: 64 2e 20 50 6f 73 73 69 62 6c 79 20 63 6f 6e 76  d. Possibly conv
0cd0: 65 72 74 20 74 6f 20 67 75 69 20 62 61 73 65 64  ert to gui based
0ce0: 2e 0d 0a 2f 2f 20 2e 20 41 64 64 20 74 6f 20 74  ...// . Add to t
0cf0: 65 73 74 63 6f 6e 66 69 67 20 72 65 71 75 69 72  estconfig requir
0d00: 65 6d 65 6e 74 73 20 73 65 63 74 69 6f 6e 3b 20  ements section; 
0d10: 6c 61 75 6e 63 68 6c 69 6d 69 74 65 72 20 73 63  launchlimiter sc
0d20: 72 69 70 74 6e 61 6d 65 2c 20 63 61 6c 6c 73 20  riptname, calls 
0d30: 73 63 72 69 70 74 6e 61 6d 65 20 74 6f 20 63 68  scriptname to ch
0d40: 65 63 6b 20 69 66 20 6f 6b 20 74 6f 20 6c 61 75  eck if ok to lau
0d50: 6e 63 68 20 74 65 73 74 0d 0a 2f 2f 20 2e 20 52  nch test..// . R
0d60: 65 66 61 63 74 6f 72 20 52 75 6e 20 53 75 6d 6d  efactor Run Summ
0d70: 61 72 79 20 76 69 65 77 2c 20 63 75 72 72 65 6e  ary view, curren
0d80: 74 6c 79 20 76 65 72 79 20 63 6c 75 6d 73 79 0d  tly very clumsy.
0d90: 0a 2f 2f 20 2e 20 41 64 64 20 6f 70 74 69 6f 6e  .// . Add option
0da0: 20 74 6f 20 73 68 6f 77 20 73 74 65 70 73 20 69   to show steps i
0db0: 6e 20 52 75 6e 20 53 75 6d 6d 61 72 79 20 76 69  n Run Summary vi
0dc0: 65 77 0d 0a 2f 2f 20 0d 0a 2f 2f 20 77 77 33 36  ew..// ..// ww36
0dd0: 0d 0a 2f 2f 20 7e 7e 7e 7e 0d 0a 2f 2f 20 0d 0a  ..// ~~~~..// ..
0de0: 2f 2f 20 2e 20 52 65 66 61 63 74 6f 72 20 67 75  // . Refactor gu
0df0: 69 73 20 66 6f 72 20 72 65 73 69 7a 65 61 62 6c  is for resizeabl
0e00: 69 74 79 0d 0a 2f 2f 20 2e 20 41 64 64 20 66 69  ity..// . Add fi
0e10: 6c 74 65 72 73 20 74 6f 20 52 75 6e 20 53 75 6d  lters to Run Sum
0e20: 6d 61 72 79 20 76 69 65 77 20 61 6e 64 20 52 75  mary view and Ru
0e30: 6e 20 43 6f 6e 74 72 6f 6c 20 76 69 65 77 0d 0a  n Control view..
0e40: 2f 2f 20 2e 20 41 64 64 20 74 6f 20 6d 65 67 61  // . Add to mega
0e50: 74 65 73 74 2e 63 6f 6e 66 69 67 20 6f 72 20 74  test.config or t
0e60: 65 73 74 63 6f 6e 66 69 67 3b 20 72 65 72 75 6e  estconfig; rerun
0e70: 6f 6b 20 53 54 41 54 45 2f 53 54 41 54 55 53 2c  ok STATE/STATUS,
0e80: 53 54 41 54 45 2f 53 54 41 54 55 53 2e 2e 2e 0d  STATE/STATUS....
0e90: 0a 2f 2f 20 2e 20 4c 61 75 6e 63 68 20 67 61 74  .// . Launch gat
0ea0: 65 73 20 66 6f 72 20 64 69 73 6b 73 70 61 63 65  es for diskspace
0eb0: 3b 20 2f 70 61 74 68 2f 6f 6e 65 3e 31 47 2c 2f  ; /path/one>1G,/
0ec0: 70 61 74 68 2f 74 77 6f 3e 32 30 30 4d 2c 2f 74  path/two>200M,/t
0ed0: 6d 70 3e 35 47 2c 23 7b 73 63 68 65 6d 65 20 2a  mp>5G,#{scheme *
0ee0: 74 6f 70 70 61 74 68 2a 7d 3e 31 47 0d 0a 2f 2f  toppath*}>1G..//
0ef0: 20 0d 0a 2f 2f 20 42 69 6e 20 4c 69 73 74 0d 0a   ..// Bin List..
0f00: 2f 2f 20 7e 7e 7e 7e 7e 7e 7e 7e 0d 0a 2f 2f 20  // ~~~~~~~~..// 
0f10: 0d 0a 2f 2f 20 2e 09 51 75 61 6c 69 74 79 20 69  ..// ..Quality i
0f20: 6d 70 72 6f 76 65 6d 65 6e 74 73 0d 0a 2f 2f 20  mprovements..// 
0f30: 2e 2e 09 53 65 72 76 65 72 20 73 74 75 74 74 65  ...Server stutte
0f40: 72 73 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 0d  rs occasionally.
0f50: 0a 2f 2f 20 2e 2e 09 4c 61 72 67 65 20 6e 75 6d  .// ...Large num
0f60: 62 65 72 20 6f 66 20 69 74 65 6d 73 20 6f 72 20  ber of items or 
0f70: 74 65 73 74 73 20 73 74 69 6c 6c 20 68 61 73 20  tests still has 
0f80: 73 6f 6d 65 20 69 73 73 75 65 73 2e 0d 0a 2f 2f  some issues...//
0f90: 20 2e 2e 09 43 6f 64 65 20 72 65 66 61 63 74 6f   ...Code refacto
0fa0: 72 69 6e 67 0d 0a 2f 2f 20 2e 2e 09 52 65 70 6c  ring..// ...Repl
0fb0: 61 63 65 20 72 65 6d 6f 74 65 20 70 72 6f 63 65  ace remote proce
0fc0: 73 73 20 77 69 74 68 20 74 72 75 65 20 41 50 49  ss with true API
0fd0: 20 75 73 69 6e 67 20 6a 73 6f 6e 20 28 73 75 70   using json (sup
0fe0: 70 6f 72 74 73 20 57 65 62 20 61 70 70 20 61 6c  ports Web app al
0ff0: 73 6f 29 0d 0a 2f 2f 20 2e 09 53 74 72 65 61 6d  so)..// ..Stream
1000: 6c 69 6e 65 20 74 68 65 20 67 75 69 0d 0a 2f 2f  line the gui..//
1010: 20 2e 2e 09 45 76 65 72 79 74 68 69 6e 67 20 72   ...Everything r
1020: 65 73 69 7a 61 62 6c 65 0d 0a 2f 2f 20 2e 2e 09  esizable..// ...
1030: 4c 65 73 73 20 63 6c 75 74 74 65 72 0d 0a 2f 2f  Less clutter..//
1040: 20 2e 2e 09 54 6f 6f 6c 20 74 69 70 73 0d 0a 2f   ...Tool tips../
1050: 2f 20 2e 2e 09 46 69 6c 74 65 72 73 20 6f 6e 20  / ...Filters on 
1060: 52 75 6e 20 53 75 6d 6d 61 72 79 2c 20 53 75 6d  Run Summary, Sum
1070: 6d 61 72 79 20 61 6e 64 20 52 75 6e 20 43 6f 6e  mary and Run Con
1080: 74 72 6f 6c 20 70 61 6e 65 6c 0d 0a 2f 2f 20 2e  trol panel..// .
1090: 2e 09 42 75 69 6c 74 20 69 6e 20 6c 6f 67 20 76  ..Built in log v
10a0: 69 65 77 65 72 20 28 70 61 72 74 69 61 6c 6c 79  iewer (partially
10b0: 20 69 6d 70 6c 65 6d 65 6e 74 65 64 29 0d 0a 2f   implemented)../
10c0: 2f 20 2e 2e 09 52 65 66 61 63 74 6f 72 20 74 68  / ...Refactor th
10d0: 65 20 74 65 73 74 20 63 6f 6e 74 72 6f 6c 20 70  e test control p
10e0: 61 6e 65 6c 0d 0a 2f 2f 20 2e 09 48 65 6c 70 20  anel..// ..Help 
10f0: 61 6e 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  and documentatio
1100: 6e 0d 0a 2f 2f 20 2e 2e 09 43 6f 6d 70 6c 65 74  n..// ...Complet
1110: 65 20 74 68 65 20 75 73 65 72 20 6d 61 6e 75 61  e the user manua
1120: 6c 20 28 49 e2 80 99 76 65 20 62 65 65 6e 20 77  l (I’ve been w
1130: 6f 72 6b 69 6e 67 20 6f 6e 20 74 68 69 73 20 6c  orking on this l
1140: 61 74 65 6c 79 29 2e 0d 0a 2f 2f 20 2e 2e 09 4f  ately)...// ...O
1150: 6e 6c 69 6e 65 20 68 65 6c 70 20 69 6e 20 74 68  nline help in th
1160: 65 20 67 75 69 0d 0a 2f 2f 20 2e 09 53 74 72 65  e gui..// ..Stre
1170: 61 6d 6c 69 6e 65 64 20 69 6e 73 74 61 6c 6c 0d  amlined install.
1180: 0a 2f 2f 20 2e 2e 09 44 65 70 6c 6f 79 65 64 20  .// ...Deployed 
1190: 76 65 72 73 69 6f 6e 20 28 64 6f 77 6e 6c 6f 61  version (downloa
11a0: 64 20 61 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 64  d a location ind
11b0: 65 70 65 6e 64 65 6e 74 20 72 65 61 64 79 20 74  ependent ready t
11c0: 6f 20 72 75 6e 20 62 69 6e 61 72 79 20 62 75 6e  o run binary bun
11d0: 64 6c 65 29 0d 0a 2f 2f 20 2e 2e 09 49 6e 73 74  dle)..// ...Inst
11e0: 61 6c 6c 20 4d 61 6b 65 66 69 6c 65 20 28 69 6e  all Makefile (in
11f0: 20 70 72 6f 67 72 65 73 73 2c 20 6e 65 65 64 65   progress, neede
1200: 64 20 66 6f 72 20 4d 69 6b 65 20 74 6f 20 69 6e  d for Mike to in
1210: 73 74 61 6c 6c 20 6f 6e 20 56 4d 73 29 0d 0a 2f  stall on VMs)../
1220: 2f 20 2e 2e 09 41 64 64 65 64 20 6f 70 74 69 6f  / ...Added optio
1230: 6e 20 74 6f 20 63 6f 6d 70 69 6c 65 20 49 55 50  n to compile IUP
1240: 20 28 6e 65 65 64 65 64 20 66 6f 72 20 56 4d 73   (needed for VMs
1250: 29 0d 0a 2f 2f 20 2e 09 53 65 72 76 65 72 20 73  )..// ..Server s
1260: 69 64 65 20 72 75 6e 20 6c 61 75 6e 63 68 69 6e  ide run launchin
1270: 67 0d 0a 2f 2f 20 2e 09 53 75 70 70 6f 72 74 20  g..// ..Support 
1280: 66 6f 72 20 72 65 2d 72 75 6e 6e 69 6e 67 2c 20  for re-running, 
1290: 63 6c 65 61 6e 69 6e 67 20 65 74 63 2e 20 6f 66  cleaning etc. of
12a0: 20 69 6e 64 69 76 69 64 75 61 6c 20 73 74 65 70   individual step
12b0: 73 20 28 65 7a 73 74 65 70 73 20 6d 61 6b 65 73  s (ezsteps makes
12c0: 20 74 68 69 73 20 76 65 72 79 20 65 61 73 79 20   this very easy 
12d0: 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 29 2e 0d 0a  to implement)...
12e0: 2f 2f 20 2e 09 4c 61 75 6e 63 68 20 70 72 6f 63  // ..Launch proc
12f0: 65 73 73 20 6e 65 65 64 73 20 62 75 69 6c 74 20  ess needs built 
1300: 69 6e 20 64 61 65 6d 6f 6e 69 7a 69 6e 67 20 28  in daemonizing (
1310: 65 61 73 79 20 74 6f 20 64 6f 2c 20 6a 75 73 74  easy to do, just
1320: 20 6e 65 65 64 20 74 6f 20 74 65 73 74 20 69 74   need to test it
1330: 20 74 68 6f 72 6f 75 67 68 6c 79 29 2e 0d 0a 2f   thoroughly).../
1340: 2f 20 2e 09 57 69 7a 61 72 64 73 20 66 6f 72 20  / ..Wizards for 
1350: 63 72 65 61 74 69 6e 67 20 74 65 73 74 73 2c 20  creating tests, 
1360: 72 65 67 72 65 73 73 69 6f 6e 20 61 72 65 61 73  regression areas
1370: 20 28 63 75 72 72 65 6e 74 20 6f 6e 65 73 20 61   (current ones a
1380: 72 65 20 74 65 78 74 20 6f 6e 6c 79 20 61 6e 64  re text only and
1390: 20 6c 69 6d 69 74 65 64 29 2e 0d 0a 2f 2f 20 2e   limited)...// .
13a0: 09 46 75 6c 6c 79 20 66 75 6e 63 74 69 6f 6e 61  .Fully functiona
13b0: 6c 20 62 75 69 6c 74 20 69 6e 20 77 65 62 20 73  l built in web s
13c0: 65 72 76 69 63 65 20 28 63 75 72 72 65 6e 74 6c  ervice (currentl
13d0: 79 20 79 6f 75 20 63 61 6e 20 62 72 6f 77 73 65  y you can browse
13e0: 20 72 75 6e 73 20 62 75 74 20 69 74 20 69 73 20   runs but it is 
13f0: 76 65 72 79 20 73 69 6d 70 6c 69 73 74 69 63 29  very simplistic)
1400: 2e 0d 0a 2f 2f 20 2e 09 57 69 6c 64 63 61 72 64  ...// ..Wildcard
1410: 73 20 69 6e 20 72 75 6e 63 6f 6e 66 69 67 73 3a  s in runconfigs:
1420: 20 65 2e 67 2e 20 5b 70 31 32 37 31 2f 39 2f 25   e.g. [p1271/9/%
1430: 2f 25 5d 0d 0a 2f 2f 20 2e 09 47 75 69 20 70 61  /%]..// ..Gui pa
1440: 6e 65 6c 73 20 66 6f 72 20 65 64 69 74 69 6e 67  nels for editing
1450: 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67   megatest.config
1460: 20 61 6e 64 20 72 75 6e 63 6f 6e 66 69 67 73 2e   and runconfigs.
1470: 63 6f 6e 66 69 67 0d 0a 2f 2f 20 2e 09 46 75 6c  config..// ..Ful
1480: 6c 79 20 69 73 6f 6c 61 74 65 64 20 74 65 73 74  ly isolated test
1490: 73 20 28 6e 6f 20 75 73 65 20 6f 66 20 4e 46 53  s (no use of NFS
14a0: 20 74 6f 20 73 65 65 20 72 65 67 72 65 73 73 69   to see regressi
14b0: 6f 6e 20 61 72 65 61 20 66 69 6c 65 73 29 0d 0a  on area files)..
14c0: 2f 2f 20 2e 09 57 69 6e 64 6f 77 73 20 76 65 72  // ..Windows ver
14d0: 73 69 6f 6e 0a 0a 5a 20 36 33 39 31 64 39 37 64  sion..Z 6391d97d
14e0: 36 62 66 63 34 36 35 64 63 63 61 65 33 39 36 34  6bfc465dccae3964
14f0: 36 31 64 63 31 32 36 30 0a                       61dc1260.