Megatest

Hex Artifact Content
Login

Artifact b8af8331f8cd3c3e921d6bda08c8c6a9dea3e5a4:

Wiki page [plan] by bjbarcla 2018-03-06 15:52:14.
0000: 44 20 32 30 31 38 2d 30 33 2d 30 36 54 32 32 3a  D 2018-03-06T22:
0010: 35 32 3a 31 34 2e 38 32 32 0a 4c 20 70 6c 61 6e  52:14.822.L plan
0020: 0a 4e 20 74 65 78 74 2f 70 6c 61 69 6e 0a 50 20  .N text/plain.P 
0030: 38 32 32 38 65 36 31 35 33 36 35 32 65 39 36 63  8228e6153652e96c
0040: 64 61 39 32 33 38 33 38 65 64 66 63 61 37 38 39  da923838edfca789
0050: 35 36 63 63 39 32 38 33 0a 55 20 62 6a 62 61 72  56cc9283.U bjbar
0060: 63 6c 61 0a 57 20 38 33 35 30 0a 52 6f 61 64 20  cla.W 8350.Road 
0070: 4d 61 70 0a 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2f 2f  Map.--------..//
0080: 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61   This file is pa
0090: 72 74 20 6f 66 20 4d 65 67 61 74 65 73 74 2e 0a  rt of Megatest..
00a0: 2f 2f 20 0a 2f 2f 20 20 20 20 20 4d 65 67 61 74  // .//     Megat
00b0: 65 73 74 20 69 73 20 66 72 65 65 20 73 6f 66 74  est is free soft
00c0: 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65  ware: you can re
00d0: 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e  distribute it an
00e0: 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 2f 2f 20 20  d/or modify.//  
00f0: 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20     it under the 
0100: 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55  terms of the GNU
0110: 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20   General Public 
0120: 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69  License as publi
0130: 73 68 65 64 20 62 79 0a 2f 2f 20 20 20 20 20 74  shed by.//     t
0140: 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65  he Free Software
0150: 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74   Foundation, eit
0160: 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66  her version 3 of
0170: 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72   the License, or
0180: 0a 2f 2f 20 20 20 20 20 28 61 74 20 79 6f 75 72  .//     (at your
0190: 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74   option) any lat
01a0: 65 72 20 76 65 72 73 69 6f 6e 2e 0a 2f 2f 20 0a  er version..// .
01b0: 2f 2f 20 20 20 20 20 4d 65 67 61 74 65 73 74 20  //     Megatest 
01c0: 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69  is distributed i
01d0: 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20  n the hope that 
01e0: 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75  it will be usefu
01f0: 6c 2c 0a 2f 2f 20 20 20 20 20 62 75 74 20 57 49  l,.//     but WI
0200: 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e  THOUT ANY WARRAN
0210: 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e  TY; without even
0220: 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72   the implied war
0230: 72 61 6e 74 79 20 6f 66 0a 2f 2f 20 20 20 20 20  ranty of.//     
0240: 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20  MERCHANTABILITY 
0250: 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41  or FITNESS FOR A
0260: 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50   PARTICULAR PURP
0270: 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 2f 2f  OSE.  See the.//
0280: 20 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c       GNU General
0290: 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20   Public License 
02a0: 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73  for more details
02b0: 2e 0a 2f 2f 20 0a 2f 2f 20 20 20 20 20 59 6f 75  ..// .//     You
02c0: 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63   should have rec
02d0: 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20  eived a copy of 
02e0: 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20  the GNU General 
02f0: 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 2f  Public License./
0300: 2f 20 20 20 20 20 61 6c 6f 6e 67 20 77 69 74 68  /     along with
0310: 20 4d 65 67 61 74 65 73 74 2e 20 20 49 66 20 6e   Megatest.  If n
0320: 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f  ot, see <http://
0330: 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65  www.gnu.org/lice
0340: 6e 73 65 73 2f 3e 2e 0a 0a 4e 6f 74 65 20 31 3a  nses/>...Note 1:
0350: 20 54 68 69 73 20 72 6f 61 64 2d 6d 61 70 20 63   This road-map c
0360: 6f 6e 74 69 6e 75 65 73 20 74 6f 20 65 76 6f 6c  ontinues to evol
0370: 76 65 20 61 6e 64 20 73 75 62 6a 65 63 74 20 74  ve and subject t
0380: 6f 20 63 68 61 6e 67 65 20 77 69 74 68 6f 75 74  o change without
0390: 20 6e 6f 74 69 63 65 2e 0a 0a 52 46 43 20 4d 30   notice...RFC M0
03a0: 31 3a 20 41 64 64 20 61 62 69 6c 69 74 79 20 74  1: Add ability t
03b0: 6f 20 6d 6f 76 65 20 72 75 6e 73 20 74 6f 20 6f  o move runs to o
03c0: 74 68 65 72 20 41 72 65 61 73 0a 7e 7e 7e 7e 7e  ther Areas.~~~~~
03d0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
03e0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
03f0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 2a 50 75  ~~~~~~~~~~~..*Pu
0400: 72 70 6f 73 65 2a 3a 20 61 6c 6c 6f 77 20 73 68  rpose*: allow sh
0410: 72 69 6e 6b 69 6e 67 20 6d 65 67 61 74 65 73 74  rinking megatest
0420: 2e 64 62 20 64 61 74 61 20 62 79 20 6d 6f 76 69  .db data by movi
0430: 6e 67 20 72 75 6e 73 20 74 6f 20 61 6e 20 61 6c  ng runs to an al
0440: 74 65 72 6e 61 74 65 0a 20 4d 65 67 61 74 65 73  ternate. Megates
0450: 74 20 61 72 65 61 20 77 69 74 68 20 73 61 6d 65  t area with same
0460: 20 6b 65 79 73 2e 0a 0a 2a 4d 65 74 68 6f 64 2a   keys...*Method*
0470: 3a 20 65 78 74 65 6e 64 20 64 62 20 73 79 6e 63  : extend db sync
0480: 20 74 6f 20 74 61 6b 65 20 61 20 64 69 66 66 65   to take a diffe
0490: 72 65 6e 74 20 6d 65 67 61 74 65 73 74 20 61 72  rent megatest ar
04a0: 65 61 20 61 73 20 61 20 64 65 73 74 69 6e 61 74  ea as a destinat
04b0: 69 6f 6e 2e 0a 0a 2a 44 65 73 69 67 6e 2a 3a 0a  ion...*Design*:.
04c0: 0a 2e 20 61 64 64 20 70 61 72 61 6d 20 2d 64 65  .. add param -de
04d0: 73 74 69 6e 61 74 69 6f 6e 20 5b 61 72 65 61 7c  stination [area|
04e0: 70 61 74 68 5d 2e 20 77 68 65 6e 20 73 70 65 63  path]. when spec
04f0: 69 66 69 65 64 20 72 75 6e 73 20 61 72 65 20 63  ified runs are c
0500: 6f 70 69 65 64 20 74 6f 20 6e 65 77 0a 20 20 61  opied to new.  a
0510: 72 65 61 20 61 6e 64 20 72 65 6d 6f 76 65 64 20  rea and removed 
0520: 66 72 6f 6d 20 6c 6f 63 61 6c 20 64 62 2e 0a 2e  from local db...
0530: 20 74 68 65 20 64 61 74 61 20 6d 6f 76 65 20 77   the data move w
0540: 6f 75 6c 64 20 69 6e 76 6f 6c 76 65 20 74 68 65  ould involve the
0550: 73 65 20 73 74 65 70 73 0a 2e 2e 20 63 6f 70 79  se steps... copy
0560: 20 74 68 65 20 72 75 6e 20 64 61 74 61 20 74 6f   the run data to
0570: 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 61 72 65   destination are
0580: 61 20 6d 65 67 61 74 65 73 74 2e 64 62 0a 2e 2e  a megatest.db...
0590: 20 6d 61 72 6b 20 74 68 65 20 72 75 6e 20 72 65   mark the run re
05a0: 63 6f 72 64 73 20 61 73 20 64 65 6c 65 74 65 64  cords as deleted
05b0: 2c 20 64 6f 20 6e 6f 74 20 72 65 6d 6f 76 65 20  , do not remove 
05c0: 74 68 65 20 72 75 6e 20 64 61 74 61 20 6f 6e 20  the run data on 
05d0: 64 69 73 6b 0a 2e 20 61 63 63 65 73 73 69 6e 67  disk.. accessing
05e0: 20 74 68 65 20 64 61 74 61 20 77 6f 75 6c 64 20   the data would 
05f0: 62 65 20 62 79 20 72 75 6e 6e 69 6e 67 20 64 61  be by running da
0600: 73 68 62 6f 61 72 64 20 69 6e 20 74 68 65 20 73  shboard in the s
0610: 61 74 65 6c 6c 69 74 65 20 61 72 65 61 0a 2e 20  atellite area.. 
0620: 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 73 20  future versions 
0630: 6f 66 20 4d 65 67 61 74 65 73 74 20 64 61 73 68  of Megatest dash
0640: 62 6f 61 72 64 20 73 68 6f 75 6c 64 20 73 75 70  board should sup
0650: 70 6f 72 74 20 64 69 73 70 6c 61 79 69 6e 67 20  port displaying 
0660: 61 72 65 61 73 20 69 6e 20 61 0a 20 20 6d 65 72  areas in a.  mer
0670: 67 65 64 20 77 61 79 2e 0a 2e 20 73 6f 6d 65 20  ged way... some 
0680: 6e 65 77 20 63 6f 6e 74 72 6f 6c 73 20 77 6f 75  new controls wou
0690: 6c 64 20 62 65 20 73 75 70 70 6f 72 74 65 64 20  ld be supported 
06a0: 69 6e 20 74 68 65 20 63 6f 6e 66 69 67 0a 2e 2e  in the config...
06b0: 20 5b 73 65 74 75 70 5d 20 3d 3e 20 61 6c 6c 6f   [setup] => allo
06c0: 77 2d 72 75 6e 73 20 5b 6e 6f 7c 79 65 73 5d 20  w-runs [no|yes] 
06d0: 20 3c 3d 3d 20 75 73 65 64 20 74 6f 20 64 69 73   <== used to dis
06e0: 61 6c 6c 6f 77 20 72 75 6e 73 0a 2e 2e 20 5b 73  allow runs... [s
06f0: 65 74 75 70 5d 20 3d 3e 20 61 75 74 6f 2d 6d 69  etup] => auto-mi
0700: 67 72 61 74 65 3d 5b 61 72 65 61 6e 61 6d 65 7c  grate=[areaname|
0710: 70 61 74 68 5d 20 20 3c 3d 3d 20 75 73 65 64 20  path]  <== used 
0720: 74 6f 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  to automatically
0730: 0a 20 20 20 6d 69 67 72 61 74 65 20 64 61 74 61  .   migrate data
0740: 20 74 6f 20 61 20 73 61 74 65 6c 6c 69 74 65 20   to a satellite 
0750: 61 72 65 61 2e 0a 0a 2a 42 72 61 6e 63 68 2a 3a  area...*Branch*:
0760: 20 54 68 69 73 20 77 6f 72 6b 20 69 73 20 74 61   This work is ta
0770: 6b 69 6e 67 20 70 6c 61 63 65 20 6f 6e 20 62 72  king place on br
0780: 61 6e 63 68 20 76 31 2e 36 35 2d 72 65 64 75 63  anch v1.65-reduc
0790: 65 2d 72 65 63 6f 72 64 73 0a 0a 52 46 43 20 4d  e-records..RFC M
07a0: 30 32 3a 20 4d 6f 76 65 20 64 61 74 61 20 69 6e  02: Move data in
07b0: 74 6f 20 63 6f 6d 70 6c 65 74 65 64 2d 72 75 6e  to completed-run
07c0: 73 2e 64 62 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  s.db.~~~~~~~~~~~
07d0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
07e0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a  ~~~~~~~~~~~~~~..
07f0: 2a 50 75 72 70 6f 73 65 2a 3a 20 73 68 72 69 6e  *Purpose*: shrin
0800: 6b 20 6d 65 67 61 74 65 73 74 2e 64 62 20 64 61  k megatest.db da
0810: 74 61 20 74 6f 20 65 6e 61 62 6c 65 20 6c 6f 77  ta to enable low
0820: 65 72 20 6c 6f 61 64 20 61 6e 64 20 68 69 67 68  er load and high
0830: 65 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a  er performance..
0840: 0a 2a 4d 65 74 68 6f 64 2a 3a 20 61 64 64 20 61  .*Method*: add a
0850: 20 63 6f 6d 70 6c 65 74 65 64 2d 72 75 6e 73 2e   completed-runs.
0860: 64 62 20 61 6e 64 20 61 75 74 6f 6d 61 74 69 63  db and automatic
0870: 61 6c 6c 79 20 6d 6f 76 65 20 72 75 6e 73 20 64  ally move runs d
0880: 61 74 61 20 66 72 6f 6d 20 6d 65 67 61 74 65 73  ata from megates
0890: 74 2e 64 62 20 74 6f 20 74 68 61 74 20 64 62 0a  t.db to that db.
08a0: 0a 2a 44 65 73 69 67 6e 2a 3a 0a 0a 2e 20 63 6f  .*Design*:... co
08b0: 6d 70 6c 65 74 65 64 2d 72 75 6e 73 2e 64 62 20  mpleted-runs.db 
08c0: 69 73 20 61 20 66 75 6c 6c 20 6d 65 67 61 74 65  is a full megate
08d0: 73 74 20 64 61 74 61 62 61 73 65 20 77 69 74 68  st database with
08e0: 20 63 6f 6d 70 6c 65 74 65 20 73 63 68 65 6d 61   complete schema
08f0: 0a 2e 20 74 68 65 20 64 61 74 61 20 6d 6f 76 65  .. the data move
0900: 20 77 6f 75 6c 64 20 69 6e 76 6f 6c 76 65 20 74   would involve t
0910: 68 65 73 65 20 73 74 65 70 73 0a 2e 2e 20 63 6f  hese steps... co
0920: 70 79 20 74 68 65 20 72 75 6e 20 64 61 74 61 20  py the run data 
0930: 74 6f 20 63 6f 6d 70 6c 65 74 65 64 2d 72 75 6e  to completed-run
0940: 73 2e 64 62 0a 2e 2e 20 72 65 6d 6f 76 65 20 74  s.db... remove t
0950: 68 65 20 72 75 6e 20 64 61 74 61 2c 20 66 69 72  he run data, fir
0960: 73 74 20 66 72 6f 6d 20 2f 74 6d 70 2f e2 80 a6  st from /tmp/…
0970: 2f 6d 65 67 61 74 65 73 74 2e 64 62 20 61 6e 64  /megatest.db and
0980: 20 2f 74 6d 70 2f e2 80 a6 2f 6d 65 67 61 74 65   /tmp/…/megate
0990: 73 74 5f 72 65 66 2e 64 62 2c 20 66 6f 6c 6c 6f  st_ref.db, follo
09a0: 77 65 64 20 62 79 20 6d 65 67 61 74 65 73 74 2e  wed by megatest.
09b0: 64 62 0a 2e 20 61 63 63 65 73 73 69 6e 67 20 74  db.. accessing t
09c0: 68 65 20 64 61 74 61 20 77 6f 75 6c 64 20 62 65  he data would be
09d0: 20 75 6e 63 68 61 6e 67 65 64 20 66 6f 72 20 6d   unchanged for m
09e0: 6f 73 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a  ost operations..
09f0: 2e 20 61 20 6d 6f 64 65 20 2d 66 75 6c 6c 2d 64  . a mode -full-d
0a00: 62 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 20  b will be added 
0a10: 77 68 69 63 68 20 77 68 65 6e 20 73 70 65 63 69  which when speci
0a20: 66 69 65 64 20 77 6f 75 6c 64 20 61 74 74 61 63  fied would attac
0a30: 68 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 64 2d  h the completed-
0a40: 72 75 6e 73 2e 64 62 20 74 6f 20 6d 65 67 61 74  runs.db to megat
0a50: 65 73 74 2e 64 62 20 62 65 66 6f 72 65 20 64 6f  est.db before do
0a60: 69 6e 67 20 74 68 65 20 71 75 65 72 79 0a 2e 20  ing the query.. 
0a70: 6d 65 63 68 61 6e 69 73 6d 73 20 66 6f 72 20 6d  mechanisms for m
0a80: 6f 76 69 6e 67 20 72 75 6e 73 20 74 6f 2f 66 72  oving runs to/fr
0a90: 6f 6d 20 74 68 65 20 6d 65 67 61 74 65 73 74 2e  om the megatest.
0aa0: 64 62 20 77 6f 75 6c 64 20 62 65 20 61 64 64 65  db would be adde
0ab0: 64 0a 2e 2e 20 2d 72 65 64 75 63 65 2d 72 65 63  d... -reduce-rec
0ac0: 6f 72 64 73 20 3d 3e 20 6d 6f 76 65 20 72 75 6e  ords => move run
0ad0: 73 20 74 6f 20 63 6f 6d 70 6c 65 74 65 64 2d 72  s to completed-r
0ae0: 75 6e 73 2e 64 62 0a 2e 2e 20 2d 72 65 73 74 6f  uns.db... -resto
0af0: 72 65 2d 72 65 63 6f 72 64 73 20 3d 3e 20 6d 6f  re-records => mo
0b00: 76 65 20 72 75 6e 73 20 66 72 6f 6d 20 63 6f 6d  ve runs from com
0b10: 70 6c 65 74 65 64 2d 72 75 6e 73 2e 64 62 20 74  pleted-runs.db t
0b20: 6f 20 6d 65 67 61 74 65 73 74 2e 64 62 0a 0a 2a  o megatest.db..*
0b30: 42 72 61 6e 63 68 2a 3a 20 54 68 69 73 20 77 6f  Branch*: This wo
0b40: 72 6b 20 69 73 20 74 61 6b 69 6e 67 20 70 6c 61  rk is taking pla
0b50: 63 65 20 6f 6e 20 62 72 61 6e 63 68 20 76 31 2e  ce on branch v1.
0b60: 36 35 2d 72 65 64 75 63 65 2d 72 65 63 6f 72 64  65-reduce-record
0b70: 73 0a 0a 52 46 43 20 4d 30 33 3a 20 41 75 74 6f  s..RFC M03: Auto
0b80: 6d 61 74 69 63 20 68 6f 6d 65 68 6f 73 74 20 6d  matic homehost m
0b90: 69 67 72 61 74 69 6f 6e 73 0a 7e 7e 7e 7e 7e 7e  igrations.~~~~~~
0ba0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
0bb0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
0bc0: 0a 0a 2a 50 75 72 70 6f 73 65 2a 3a 20 41 75 74  ..*Purpose*: Aut
0bd0: 6f 6d 61 74 69 63 61 6c 6c 79 20 6d 69 67 72 61  omatically migra
0be0: 74 65 20 68 6f 6d 65 68 6f 73 74 2e 0a 0a 2a 4d  te homehost...*M
0bf0: 65 74 68 6f 64 2a 3a 20 43 68 65 63 6b 20 74 68  ethod*: Check th
0c00: 61 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20  at there are no 
0c10: 74 65 73 74 73 20 72 75 6e 6e 69 6e 67 2c 20 6c  tests running, l
0c20: 61 75 6e 63 68 65 64 20 6f 72 20 72 65 6d 6f 74  aunched or remot
0c30: 65 68 6f 73 74 73 74 61 72 74 20 69 6e 20 70 61  ehoststart in pa
0c40: 73 74 20 c2 bd 20 68 6f 75 72 20 74 68 65 6e 20  st ½ hour then 
0c50: 69 66 20 6e 6f 74 20 6f 6e 20 68 6f 6d 65 68 6f  if not on homeho
0c60: 73 74 20 6d 69 67 72 61 74 65 20 74 68 65 20 64  st migrate the d
0c70: 62 20 74 6f 20 63 75 72 72 65 6e 74 20 68 6f 73  b to current hos
0c80: 74 0a 0a 2a 44 65 73 69 67 6e 2a 3a 0a 0a 2e 20  t..*Design*:... 
0c90: 43 68 65 63 6b 20 74 68 61 74 20 74 68 65 20 73  Check that the s
0ca0: 79 73 74 65 6d 20 69 73 20 71 75 69 65 73 63 65  ystem is quiesce
0cb0: 6e 74 2c 20 69 2e 65 2e 20 74 68 61 74 20 74 68  nt, i.e. that th
0cc0: 65 72 65 20 61 72 65 20 6e 6f 20 72 75 6e 73 20  ere are no runs 
0cd0: 69 6e 20 66 6c 69 67 68 74 20 6f 72 20 72 65 63  in flight or rec
0ce0: 65 6e 74 6c 79 20 72 75 6e 0a 2e 20 43 72 65 61  ently run.. Crea
0cf0: 74 65 20 61 20 6c 6f 63 6b 0a 2e 20 4d 69 67 72  te a lock.. Migr
0d00: 61 74 65 20 74 68 65 20 2f 74 6d 70 20 63 61 63  ate the /tmp cac
0d10: 68 65 20 64 62 20 74 6f 20 74 68 65 20 63 75 72  he db to the cur
0d20: 72 65 6e 74 20 68 6f 73 74 0a 2e 20 55 70 64 61  rent host.. Upda
0d30: 74 65 20 74 68 65 20 2e 68 6f 6d 65 68 6f 73 74  te the .homehost
0d40: 20 66 69 6c 65 0a 2e 20 52 65 6d 6f 76 65 20 74   file.. Remove t
0d50: 68 65 20 6c 6f 63 6b 0a 0a 2a 42 72 61 6e 63 68  he lock..*Branch
0d60: 2a 3a 20 54 68 69 73 20 77 6f 72 6b 20 6e 6f 74  *: This work not
0d70: 20 79 65 74 20 73 74 61 72 74 65 64 0a 0a 41 72   yet started..Ar
0d80: 63 68 69 74 65 63 74 75 72 65 20 52 65 66 61 63  chitecture Refac
0d90: 74 6f 72 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  tor.~~~~~~~~~~~~
0da0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 47 6f 61 6c 73  ~~~~~~~~~..Goals
0db0: 0a 5e 5e 5e 5e 5e 0a 0a 2e 20 52 65 64 75 63 65  .^^^^^... Reduce
0dc0: 20 6c 6f 61 64 20 6f 6e 20 74 68 65 20 66 69 6c   load on the fil
0dd0: 65 20 73 79 73 74 65 6d 2e 20 53 71 6c 69 74 65  e system. Sqlite
0de0: 33 20 66 69 6c 65 73 20 6f 6e 20 6e 65 74 77 6f  3 files on netwo
0df0: 72 6b 20 66 69 6c 65 73 79 73 74 65 6d 20 63 61  rk filesystem ca
0e00: 6e 20 62 65 0a 20 20 61 20 62 75 72 64 65 6e 2e  n be.  a burden.
0e10: 20 5b 67 72 65 65 6e 5d 23 5b 44 4f 4e 45 5d 23   [green]#[DONE]#
0e20: 0a 2e 20 52 65 64 75 63 65 20 6e 75 6d 62 65 72  .. Reduce number
0e30: 20 6f 66 20 73 65 72 76 65 72 73 20 61 6e 64 20   of servers and 
0e40: 66 72 65 71 75 65 6e 63 79 20 6f 66 20 73 74 61  frequency of sta
0e50: 72 74 2f 73 74 6f 70 2e 20 54 68 69 73 20 69 73  rt/stop. This is
0e60: 20 6d 6f 73 74 6c 79 20 61 6e 0a 20 20 69 73 73   mostly an.  iss
0e70: 75 65 20 6f 66 20 63 6c 75 74 74 65 72 20 62 75  ue of clutter bu
0e80: 74 20 61 6c 73 6f 20 61 20 72 65 64 75 63 74 69  t also a reducti
0e90: 6f 6e 20 69 6e 20 22 6d 6f 76 69 6e 67 20 70 61  on in "moving pa
0ea0: 72 74 73 22 2e 20 5b 67 72 65 65 6e 5d 23 5b 44  rts". [green]#[D
0eb0: 4f 4e 45 5d 23 0a 2e 20 43 6f 61 6c 65 73 63 65  ONE]#.. Coalesce
0ec0: 20 61 63 74 69 76 69 74 69 65 73 20 74 6f 20 61   activities to a
0ed0: 20 73 69 6e 67 6c 65 20 68 6f 6d 65 20 68 6f 73   single home hos
0ee0: 74 20 77 68 65 72 65 20 70 6f 73 73 69 62 6c 65  t where possible
0ef0: 2e 20 47 69 76 65 20 74 68 65 20 75 73 65 72 0a  . Give the user.
0f00: 20 20 66 65 65 64 62 61 63 6b 20 74 68 61 74 20    feedback that 
0f10: 74 68 65 79 20 68 61 76 65 20 73 74 61 72 74 65  they have starte
0f20: 64 20 74 68 65 20 64 61 73 68 62 6f 61 72 64 20  d the dashboard 
0f30: 6f 6e 20 61 20 68 6f 73 74 20 6f 74 68 65 72 20  on a host other 
0f40: 74 68 61 6e 20 74 68 65 0a 20 20 68 6f 6d 65 20  than the.  home 
0f50: 68 6f 73 74 2e 20 5b 67 72 65 65 6e 5d 23 5b 44  host. [green]#[D
0f60: 4f 4e 45 5d 23 0a 2e 20 52 65 64 75 63 65 20 6e  ONE]#.. Reduce n
0f70: 75 6d 62 65 72 20 6f 66 20 70 72 6f 63 65 73 73  umber of process
0f80: 65 73 20 69 6e 76 6f 6c 76 65 64 20 69 6e 20 6d  es involved in m
0f90: 61 6e 61 67 69 6e 67 20 72 75 6e 6e 69 6e 67 20  anaging running 
0fa0: 74 65 73 74 73 2e 0a 0a 43 68 61 6e 67 65 73 20  tests...Changes 
0fb0: 4e 65 65 64 65 64 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e  Needed.^^^^^^^^^
0fc0: 5e 5e 5e 5e 5e 0a 0a 2e 20 41 43 49 44 20 63 6f  ^^^^^... ACID co
0fd0: 6d 70 6c 69 61 6e 74 20 64 62 20 77 69 6c 6c 20  mpliant db will 
0fe0: 62 65 20 6f 6e 20 2f 74 6d 70 20 61 6e 64 20 73  be on /tmp and s
0ff0: 79 6e 63 65 64 20 74 6f 20 6d 65 67 61 74 65 73  ynced to megates
1000: 74 2e 64 62 20 77 69 74 68 20 61 20 66 69 76 65  t.db with a five
1010: 0a 20 20 73 65 63 6f 6e 64 20 6d 61 78 20 64 65  .  second max de
1020: 6c 61 79 2e 20 5b 67 72 65 65 6e 5d 23 5b 44 4f  lay. [green]#[DO
1030: 4e 45 5d 23 0a 2e 20 52 65 61 64 2f 77 72 69 74  NE]#.. Read/writ
1040: 65 73 20 74 6f 20 64 62 20 66 6f 72 20 70 72 6f  es to db for pro
1050: 63 65 73 73 65 73 20 6f 6e 20 68 6f 6d 65 68 6f  cesses on homeho
1060: 73 74 20 77 69 6c 6c 20 67 6f 20 64 69 72 65 63  st will go direc
1070: 74 20 74 6f 20 2f 74 6d 70 0a 20 20 6d 65 67 61  t to /tmp.  mega
1080: 74 65 73 74 2e 64 62 20 66 69 6c 65 2e 20 5b 67  test.db file. [g
1090: 72 65 65 6e 5d 23 5b 44 4f 4e 45 5d 23 0a 2e 20  reen]#[DONE]#.. 
10a0: 52 65 61 64 2f 77 69 74 65 73 20 66 72 6f 6e 20  Read/wites fron 
10b0: 6e 6f 6e 2d 68 6f 6d 65 68 6f 73 74 20 70 72 6f  non-homehost pro
10c0: 63 65 73 73 65 73 20 77 69 6c 6c 20 67 6f 20 74  cesses will go t
10d0: 68 72 6f 75 67 68 20 6f 6e 65 20 73 65 72 76 65  hrough one serve
10e0: 72 2e 20 42 75 6c 6b 0a 20 20 72 65 61 64 73 20  r. Bulk.  reads 
10f0: 28 65 2e 67 2e 20 66 6f 72 20 64 61 73 68 62 6f  (e.g. for dashbo
1100: 61 72 64 20 6f 72 20 6c 69 73 74 2d 72 75 6e 73  ard or list-runs
1110: 29 20 77 69 6c 6c 20 62 65 20 63 61 63 68 65 64  ) will be cached
1120: 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20   on the current 
1130: 68 6f 73 74 0a 20 20 69 6e 20 2f 74 6d 70 20 61  host.  in /tmp a
1140: 6e 64 20 73 79 6e 63 65 64 20 66 72 6f 6d 20 74  nd synced from t
1150: 68 65 20 68 6f 6d 65 20 6d 65 67 61 74 65 73 74  he home megatest
1160: 2e 64 62 20 69 6e 20 74 68 65 20 74 65 73 74 73  .db in the tests
1170: 75 69 74 65 20 61 72 65 61 2e 20 5b 67 72 65 65  uite area. [gree
1180: 6e 5d 23 5b 44 4f 4e 45 5d 23 0a 2e 20 44 62 20  n]#[DONE]#.. Db 
1190: 73 79 6e 63 73 20 72 65 6c 79 20 6f 6e 20 74 68  syncs rely on th
11a0: 65 20 74 61 72 67 65 74 20 64 62 20 66 69 6c 65  e target db file
11b0: 20 74 69 6d 65 73 74 61 6d 65 20 6d 69 6e 75 73   timestame minus
11c0: 20 73 6f 6d 65 20 6d 61 72 67 69 6e 2e 20 5b 67   some margin. [g
11d0: 72 65 65 6e 5d 23 5b 44 4f 4e 45 5d 23 0a 2e 20  reen]#[DONE]#.. 
11e0: 53 69 6e 63 65 20 62 75 6c 6b 20 72 65 61 64 73  Since bulk reads
11f0: 20 64 6f 20 6e 6f 74 20 75 73 65 20 74 68 65 20   do not use the 
1200: 73 65 72 76 65 72 20 77 65 20 63 61 6e 20 73 77  server we can sw
1210: 69 74 63 68 20 74 6f 20 73 69 6d 70 6c 65 20 52  itch to simple R
1220: 50 43 20 66 6f 72 20 74 68 65 0a 20 20 6e 65 74  PC for the.  net
1230: 77 6f 72 6b 20 74 72 61 6e 73 70 6f 72 74 2e 20  work transport. 
1240: 5b 67 72 65 65 6e 5d 23 5b 44 4f 4e 45 5d 23 0a  [green]#[DONE]#.
1250: 2e 20 54 65 73 74 20 72 75 6e 6e 69 6e 67 20 6d  . Test running m
1260: 61 6e 61 67 65 72 20 70 72 6f 63 65 73 73 20 65  anager process e
1270: 78 74 65 6e 64 65 64 20 74 6f 20 6d 61 6e 61 67  xtended to manag
1280: 65 20 6d 75 6c 74 69 70 6c 65 20 72 75 6e 6e 69  e multiple runni
1290: 6e 67 20 74 65 73 74 73 2e 0a 0a 43 75 72 72 65  ng tests...Curre
12a0: 6e 74 20 49 74 65 6d 73 0a 7e 7e 7e 7e 7e 7e 7e  nt Items.~~~~~~~
12b0: 7e 7e 7e 7e 7e 7e 0a 0a 77 77 30 35 20 2d 20 6d  ~~~~~~..ww05 - m
12c0: 69 67 72 61 74 65 20 74 6f 20 69 6e 6d 65 6d 2d  igrate to inmem-
12d0: 64 62 0a 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e  db.^^^^^^^^^^^^^
12e0: 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 0a 0a 2e  ^^^^^^^^^^^^^...
12f0: 20 53 77 69 74 63 68 20 74 6f 20 69 6e 6d 65 6d   Switch to inmem
1300: 20 64 62 20 77 69 74 68 20 66 61 73 74 20 73 79   db with fast sy
1310: 6e 63 20 74 6f 20 6f 6e 20 64 69 73 6b 20 64 62  nc to on disk db
1320: 27 73 20 5b 67 72 65 65 6e 5d 23 5b 44 4f 4e 45  's [green]#[DONE
1330: 5d 23 0a 2e 20 53 65 72 76 65 72 20 70 6f 6c 6c  ]#.. Server poll
1340: 73 20 74 61 73 6b 73 20 74 61 62 6c 65 20 66 6f  s tasks table fo
1350: 72 20 6e 65 78 74 20 61 63 74 69 6f 6e 0a 2e 2e  r next action...
1360: 20 54 61 73 6b 20 74 61 62 6c 65 20 75 73 65 64   Task table used
1370: 20 66 6f 72 20 74 72 61 63 6b 69 6e 67 20 72 75   for tracking ru
1380: 6e 6e 65 72 20 70 72 6f 63 65 73 73 20 5b 72 65  nner process [re
1390: 64 5d 23 5b 52 65 70 6c 61 63 65 64 20 62 79 20  d]#[Replaced by 
13a0: 6d 74 75 74 69 6c 5d 23 0a 2e 2e 20 54 61 73 6b  mtutil]#... Task
13b0: 20 74 61 62 6c 65 20 75 73 65 64 20 66 6f 72 20   table used for 
13c0: 6a 6f 62 73 20 74 6f 20 72 75 6e 20 5b 72 65 64  jobs to run [red
13d0: 5d 23 5b 52 65 70 6c 61 63 65 64 20 62 79 20 6d  ]#[Replaced by m
13e0: 74 75 74 69 6c 5d 23 0a 2e 2e 20 54 61 73 6b 20  tutil]#... Task 
13f0: 74 61 62 6c 65 20 75 73 65 64 20 66 6f 72 20 71  table used for q
1400: 75 65 75 65 69 6e 67 20 72 75 6e 6e 65 72 20 61  ueueing runner a
1410: 63 74 69 6f 6e 73 20 28 72 65 6d 6f 76 65 20 72  ctions (remove r
1420: 75 6e 73 2c 0a 20 20 20 63 6c 65 61 6e 52 75 6e  uns,.   cleanRun
1430: 45 78 65 63 75 74 65 2c 20 65 74 63 29 20 20 5b  Execute, etc)  [
1440: 72 65 64 5d 23 5b 52 65 70 6c 61 63 65 64 20 62  red]#[Replaced b
1450: 79 20 6d 74 75 74 69 6c 23 5d 0a 0a 0a 2f 2f 20  y mtutil#]...// 
1460: 77 77 33 32 0a 2f 2f 20 7e 7e 7e 7e 0a 2f 2f 20  ww32.// ~~~~.// 
1470: 0a 2f 2f 20 2e 20 52 65 72 75 6e 20 73 74 65 70  .// . Rerun step
1480: 20 61 6e 64 20 6f 72 20 73 75 62 73 65 71 75 65   and or subseque
1490: 6e 74 20 73 74 65 70 73 20 66 72 6f 6d 20 67 75  nt steps from gu
14a0: 69 0a 2f 2f 20 2e 20 52 65 66 72 65 73 68 20 74  i.// . Refresh t
14b0: 65 73 74 20 61 72 65 61 20 66 69 6c 65 73 20 66  est area files f
14c0: 72 6f 6d 20 67 75 69 0a 2f 2f 20 2e 20 43 6c 65  rom gui.// . Cle
14d0: 61 6e 20 61 6e 64 20 72 65 2d 72 75 6e 20 62 75  an and re-run bu
14e0: 74 74 6f 6e 0a 2f 2f 20 2e 20 43 6c 65 61 6e 20  tton.// . Clean 
14f0: 75 70 20 53 54 41 54 45 20 61 6e 64 20 53 54 41  up STATE and STA
1500: 54 55 53 20 68 61 6e 64 6c 69 6e 67 2e 0a 2f 2f  TUS handling..//
1510: 20 2e 2e 20 44 61 73 68 62 6f 61 72 64 20 61 6e   .. Dashboard an
1520: 64 20 54 65 73 74 20 63 6f 6e 74 72 6f 6c 20 70  d Test control p
1530: 61 6e 65 6c 20 61 72 65 20 72 65 76 65 72 73 65  anel are reverse
1540: 20 6f 72 64 65 72 20 2d 20 63 68 6f 6f 73 65 20   order - choose 
1550: 61 6e 64 20 66 69 78 0a 2f 2f 20 2e 2e 20 4d 6f  and fix.// .. Mo
1560: 76 65 20 73 65 6c 64 6f 6d 20 75 73 65 64 20 73  ve seldom used s
1570: 74 61 74 65 73 20 61 6e 64 20 73 74 61 74 75 73  tates and status
1580: 20 74 6f 20 64 72 6f 70 20 64 6f 77 6e 20 73 65   to drop down se
1590: 6c 65 63 74 6f 72 0a 2f 2f 20 2e 20 41 63 63 65  lector.// . Acce
15a0: 73 73 20 74 65 73 74 20 63 6f 6e 74 72 6f 6c 20  ss test control 
15b0: 70 61 6e 65 6c 20 77 68 65 6e 20 63 6c 69 63 6b  panel when click
15c0: 69 6e 67 20 6f 6e 20 52 75 6e 20 53 75 6d 6d 61  ing on Run Summa
15d0: 72 79 20 74 65 73 74 73 0a 2f 2f 20 2e 20 46 65  ry tests.// . Fe
15e0: 61 74 75 72 65 3a 20 2d 67 65 6e 65 72 61 74 65  ature: -generate
15f0: 2d 69 6e 64 65 78 2d 74 72 65 65 0a 2f 2f 20 2e  -index-tree.// .
1600: 20 43 68 61 6e 67 65 20 73 70 65 63 69 66 69 6e   Change specifin
1610: 67 20 6f 66 20 73 74 61 74 65 20 61 6e 64 20 73  g of state and s
1620: 74 61 74 75 73 20 74 6f 20 75 73 65 20 53 54 41  tatus to use STA
1630: 54 45 31 2f 53 54 41 54 55 53 31 2c 53 54 41 54  TE1/STATUS1,STAT
1640: 45 32 2f 53 54 41 54 55 53 32 0a 2f 2f 20 0a 2f  E2/STATUS2.// ./
1650: 2f 20 77 77 33 33 0a 2f 2f 20 7e 7e 7e 7e 0a 2f  / ww33.// ~~~~./
1660: 2f 20 0a 2f 2f 20 2e 20 68 74 74 70 20 61 70 69  / .// . http api
1670: 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 75   available for u
1680: 73 65 20 77 69 74 68 20 50 65 72 6c 2c 20 52 75  se with Perl, Ru
1690: 62 79 20 65 74 63 2e 20 73 63 72 69 70 74 73 0a  by etc. scripts.
16a0: 2f 2f 20 2e 20 6d 65 67 61 74 65 73 74 2e 63 6f  // . megatest.co
16b0: 6e 66 69 67 20 73 65 74 75 70 20 65 6e 74 72 69  nfig setup entri
16c0: 65 73 20 66 6f 72 3a 0a 2f 2f 20 2e 2e 20 72 75  es for:.// .. ru
16d0: 6e 20 6c 61 75 6e 63 68 69 6e 67 20 28 65 2e 67  n launching (e.g
16e0: 2e 20 2f 62 69 6e 2f 73 68 20 25 43 4d 44 25 20  . /bin/sh %CMD% 
16f0: 3e 20 2f 64 65 76 2f 6e 75 6c 6c 29 0a 2f 2f 20  > /dev/null).// 
1700: 2e 2e 20 62 72 6f 77 73 65 72 20 22 6b 6f 6e 71  .. browser "konq
1710: 75 65 72 6f 72 20 25 46 4e 41 4d 45 25 0a 2f 2f  ueror %FNAME%.//
1720: 20 0a 2f 2f 20 77 77 33 34 0a 2f 2f 20 7e 7e 7e   .// ww34.// ~~~
1730: 7e 0a 2f 2f 20 0a 2f 2f 20 2e 20 4d 61 72 6b 20  ~.// .// . Mark 
1740: 64 65 70 65 6e 64 65 6e 74 20 74 65 73 74 73 20  dependent tests 
1750: 66 6f 72 20 63 6c 65 61 6e 2f 72 65 72 75 6e 20  for clean/rerun 
1760: 2d 72 65 72 75 6e 2d 64 6f 77 6e 73 74 72 65 61  -rerun-downstrea
1770: 6d 0a 2f 2f 20 2e 20 4f 6e 20 72 75 6e 20 73 74  m.// . On run st
1780: 61 72 74 20 63 68 65 63 6b 20 66 6f 72 20 64 65  art check for de
1790: 66 75 6e 63 74 20 74 65 73 74 73 20 69 6e 20 52  funct tests in R
17a0: 55 4e 4e 49 4e 47 2c 20 4c 41 55 4e 43 48 45 44  UNNING, LAUNCHED
17b0: 20 6f 72 20 52 45 4d 4f 54 45 48 4f 53 54 53 54   or REMOTEHOSTST
17c0: 41 52 54 20 61 6e 64 20 63 6f 72 72 65 63 74 20  ART and correct 
17d0: 6f 72 20 6e 6f 74 69 66 79 0a 2f 2f 20 2e 20 46  or notify.// . F
17e0: 69 78 3a 20 72 65 66 72 65 73 68 20 6f 66 20 67  ix: refresh of g
17f0: 75 69 20 73 6f 6d 65 74 69 6d 65 73 20 66 61 69  ui sometimes fai
1800: 6c 73 20 6f 6e 20 6c 61 73 74 20 69 74 65 6d 20  ls on last item 
1810: 28 72 61 63 65 20 63 6f 6e 64 69 74 69 6f 6e 3f  (race condition?
1820: 29 0a 2f 2f 20 0a 2f 2f 20 77 77 33 35 0a 2f 2f  ).// .// ww35.//
1830: 20 7e 7e 7e 7e 0a 2f 2f 20 0a 2f 2f 20 2e 20 72   ~~~~.// .// . r
1840: 65 66 64 62 3a 20 41 64 64 20 65 78 70 6f 72 74  efdb: Add export
1850: 20 6f 66 20 63 73 76 2c 20 6a 73 6f 6e 20 61 6e   of csv, json an
1860: 64 20 73 65 78 70 0a 2f 2f 20 2e 20 43 6f 6e 76  d sexp.// . Conv
1870: 65 72 74 20 74 6f 20 75 73 69 6e 67 20 63 61 6c  ert to using cal
1880: 6c 2d 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65  l-with-environme
1890: 6e 74 2d 76 61 72 69 61 62 6c 65 73 20 77 68 65  nt-variables whe
18a0: 72 65 20 70 6f 73 73 69 62 6c 65 2e 20 53 68 6f  re possible. Sho
18b0: 75 6c 64 20 61 6c 6c 6f 77 20 68 61 6e 64 6c 69  uld allow handli
18c0: 6e 67 20 6f 66 20 70 61 72 61 6c 6c 65 6c 20 72  ng of parallel r
18d0: 75 6e 73 20 69 6e 20 73 61 6d 65 20 70 72 6f 63  uns in same proc
18e0: 65 73 73 2e 0a 2f 2f 20 2e 20 52 65 2d 77 6f 72  ess..// . Re-wor
18f0: 6b 20 74 65 78 74 20 69 6e 74 65 72 66 61 63 65  k text interface
1900: 20 77 69 7a 61 72 64 73 2e 20 53 65 76 65 72 61   wizards. Severa
1910: 6c 20 62 75 67 73 20 6f 6e 20 72 65 63 6f 72 64  l bugs on record
1920: 2e 20 50 6f 73 73 69 62 6c 79 20 63 6f 6e 76 65  . Possibly conve
1930: 72 74 20 74 6f 20 67 75 69 20 62 61 73 65 64 2e  rt to gui based.
1940: 0a 2f 2f 20 2e 20 41 64 64 20 74 6f 20 74 65 73  .// . Add to tes
1950: 74 63 6f 6e 66 69 67 20 72 65 71 75 69 72 65 6d  tconfig requirem
1960: 65 6e 74 73 20 73 65 63 74 69 6f 6e 3b 20 6c 61  ents section; la
1970: 75 6e 63 68 6c 69 6d 69 74 65 72 20 73 63 72 69  unchlimiter scri
1980: 70 74 6e 61 6d 65 2c 20 63 61 6c 6c 73 20 73 63  ptname, calls sc
1990: 72 69 70 74 6e 61 6d 65 20 74 6f 20 63 68 65 63  riptname to chec
19a0: 6b 20 69 66 20 6f 6b 20 74 6f 20 6c 61 75 6e 63  k if ok to launc
19b0: 68 20 74 65 73 74 0a 2f 2f 20 2e 20 52 65 66 61  h test.// . Refa
19c0: 63 74 6f 72 20 52 75 6e 20 53 75 6d 6d 61 72 79  ctor Run Summary
19d0: 20 76 69 65 77 2c 20 63 75 72 72 65 6e 74 6c 79   view, currently
19e0: 20 76 65 72 79 20 63 6c 75 6d 73 79 0a 2f 2f 20   very clumsy.// 
19f0: 2e 20 41 64 64 20 6f 70 74 69 6f 6e 20 74 6f 20  . Add option to 
1a00: 73 68 6f 77 20 73 74 65 70 73 20 69 6e 20 52 75  show steps in Ru
1a10: 6e 20 53 75 6d 6d 61 72 79 20 76 69 65 77 0a 2f  n Summary view./
1a20: 2f 20 0a 2f 2f 20 77 77 33 36 0a 2f 2f 20 7e 7e  / .// ww36.// ~~
1a30: 7e 7e 0a 2f 2f 20 0a 2f 2f 20 2e 20 52 65 66 61  ~~.// .// . Refa
1a40: 63 74 6f 72 20 67 75 69 73 20 66 6f 72 20 72 65  ctor guis for re
1a50: 73 69 7a 65 61 62 6c 69 74 79 0a 2f 2f 20 2e 20  sizeablity.// . 
1a60: 41 64 64 20 66 69 6c 74 65 72 73 20 74 6f 20 52  Add filters to R
1a70: 75 6e 20 53 75 6d 6d 61 72 79 20 76 69 65 77 20  un Summary view 
1a80: 61 6e 64 20 52 75 6e 20 43 6f 6e 74 72 6f 6c 20  and Run Control 
1a90: 76 69 65 77 0a 2f 2f 20 2e 20 41 64 64 20 74 6f  view.// . Add to
1aa0: 20 6d 65 67 61 74 65 73 74 2e 63 6f 6e 66 69 67   megatest.config
1ab0: 20 6f 72 20 74 65 73 74 63 6f 6e 66 69 67 3b 20   or testconfig; 
1ac0: 72 65 72 75 6e 6f 6b 20 53 54 41 54 45 2f 53 54  rerunok STATE/ST
1ad0: 41 54 55 53 2c 53 54 41 54 45 2f 53 54 41 54 55  ATUS,STATE/STATU
1ae0: 53 2e 2e 2e 0a 2f 2f 20 2e 20 4c 61 75 6e 63 68  S....// . Launch
1af0: 20 67 61 74 65 73 20 66 6f 72 20 64 69 73 6b 73   gates for disks
1b00: 70 61 63 65 3b 20 2f 70 61 74 68 2f 6f 6e 65 3e  pace; /path/one>
1b10: 31 47 2c 2f 70 61 74 68 2f 74 77 6f 3e 32 30 30  1G,/path/two>200
1b20: 4d 2c 2f 74 6d 70 3e 35 47 2c 23 7b 73 63 68 65  M,/tmp>5G,#{sche
1b30: 6d 65 20 2a 74 6f 70 70 61 74 68 2a 7d 3e 31 47  me *toppath*}>1G
1b40: 0a 2f 2f 20 0a 2f 2f 20 42 69 6e 20 4c 69 73 74  .// .// Bin List
1b50: 0a 2f 2f 20 7e 7e 7e 7e 7e 7e 7e 7e 0a 2f 2f 20  .// ~~~~~~~~.// 
1b60: 0a 2f 2f 20 2e 09 51 75 61 6c 69 74 79 20 69 6d  .// ..Quality im
1b70: 70 72 6f 76 65 6d 65 6e 74 73 0a 2f 2f 20 2e 2e  provements.// ..
1b80: 09 53 65 72 76 65 72 20 73 74 75 74 74 65 72 73  .Server stutters
1b90: 20 6f 63 63 61 73 69 6f 6e 61 6c 6c 79 0a 2f 2f   occasionally.//
1ba0: 20 2e 2e 09 4c 61 72 67 65 20 6e 75 6d 62 65 72   ...Large number
1bb0: 20 6f 66 20 69 74 65 6d 73 20 6f 72 20 74 65 73   of items or tes
1bc0: 74 73 20 73 74 69 6c 6c 20 68 61 73 20 73 6f 6d  ts still has som
1bd0: 65 20 69 73 73 75 65 73 2e 0a 2f 2f 20 2e 2e 09  e issues..// ...
1be0: 43 6f 64 65 20 72 65 66 61 63 74 6f 72 69 6e 67  Code refactoring
1bf0: 0a 2f 2f 20 2e 2e 09 52 65 70 6c 61 63 65 20 72  .// ...Replace r
1c00: 65 6d 6f 74 65 20 70 72 6f 63 65 73 73 20 77 69  emote process wi
1c10: 74 68 20 74 72 75 65 20 41 50 49 20 75 73 69 6e  th true API usin
1c20: 67 20 6a 73 6f 6e 20 28 73 75 70 70 6f 72 74 73  g json (supports
1c30: 20 57 65 62 20 61 70 70 20 61 6c 73 6f 29 0a 2f   Web app also)./
1c40: 2f 20 2e 09 53 74 72 65 61 6d 6c 69 6e 65 20 74  / ..Streamline t
1c50: 68 65 20 67 75 69 0a 2f 2f 20 2e 2e 09 45 76 65  he gui.// ...Eve
1c60: 72 79 74 68 69 6e 67 20 72 65 73 69 7a 61 62 6c  rything resizabl
1c70: 65 0a 2f 2f 20 2e 2e 09 4c 65 73 73 20 63 6c 75  e.// ...Less clu
1c80: 74 74 65 72 0a 2f 2f 20 2e 2e 09 54 6f 6f 6c 20  tter.// ...Tool 
1c90: 74 69 70 73 0a 2f 2f 20 2e 2e 09 46 69 6c 74 65  tips.// ...Filte
1ca0: 72 73 20 6f 6e 20 52 75 6e 20 53 75 6d 6d 61 72  rs on Run Summar
1cb0: 79 2c 20 53 75 6d 6d 61 72 79 20 61 6e 64 20 52  y, Summary and R
1cc0: 75 6e 20 43 6f 6e 74 72 6f 6c 20 70 61 6e 65 6c  un Control panel
1cd0: 0a 2f 2f 20 2e 2e 09 42 75 69 6c 74 20 69 6e 20  .// ...Built in 
1ce0: 6c 6f 67 20 76 69 65 77 65 72 20 28 70 61 72 74  log viewer (part
1cf0: 69 61 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 65  ially implemente
1d00: 64 29 0a 2f 2f 20 2e 2e 09 52 65 66 61 63 74 6f  d).// ...Refacto
1d10: 72 20 74 68 65 20 74 65 73 74 20 63 6f 6e 74 72  r the test contr
1d20: 6f 6c 20 70 61 6e 65 6c 0a 2f 2f 20 2e 09 48 65  ol panel.// ..He
1d30: 6c 70 20 61 6e 64 20 64 6f 63 75 6d 65 6e 74 61  lp and documenta
1d40: 74 69 6f 6e 0a 2f 2f 20 2e 2e 09 43 6f 6d 70 6c  tion.// ...Compl
1d50: 65 74 65 20 74 68 65 20 75 73 65 72 20 6d 61 6e  ete the user man
1d60: 75 61 6c 20 28 49 e2 80 99 76 65 20 62 65 65 6e  ual (I’ve been
1d70: 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 74 68 69 73   working on this
1d80: 20 6c 61 74 65 6c 79 29 2e 0a 2f 2f 20 2e 2e 09   lately)..// ...
1d90: 4f 6e 6c 69 6e 65 20 68 65 6c 70 20 69 6e 20 74  Online help in t
1da0: 68 65 20 67 75 69 0a 2f 2f 20 2e 09 53 74 72 65  he gui.// ..Stre
1db0: 61 6d 6c 69 6e 65 64 20 69 6e 73 74 61 6c 6c 0a  amlined install.
1dc0: 2f 2f 20 2e 2e 09 44 65 70 6c 6f 79 65 64 20 76  // ...Deployed v
1dd0: 65 72 73 69 6f 6e 20 28 64 6f 77 6e 6c 6f 61 64  ersion (download
1de0: 20 61 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 64 65   a location inde
1df0: 70 65 6e 64 65 6e 74 20 72 65 61 64 79 20 74 6f  pendent ready to
1e00: 20 72 75 6e 20 62 69 6e 61 72 79 20 62 75 6e 64   run binary bund
1e10: 6c 65 29 0a 2f 2f 20 2e 2e 09 49 6e 73 74 61 6c  le).// ...Instal
1e20: 6c 20 4d 61 6b 65 66 69 6c 65 20 28 69 6e 20 70  l Makefile (in p
1e30: 72 6f 67 72 65 73 73 2c 20 6e 65 65 64 65 64 20  rogress, needed 
1e40: 66 6f 72 20 4d 69 6b 65 20 74 6f 20 69 6e 73 74  for Mike to inst
1e50: 61 6c 6c 20 6f 6e 20 56 4d 73 29 0a 2f 2f 20 2e  all on VMs).// .
1e60: 2e 09 41 64 64 65 64 20 6f 70 74 69 6f 6e 20 74  ..Added option t
1e70: 6f 20 63 6f 6d 70 69 6c 65 20 49 55 50 20 28 6e  o compile IUP (n
1e80: 65 65 64 65 64 20 66 6f 72 20 56 4d 73 29 0a 2f  eeded for VMs)./
1e90: 2f 20 2e 09 53 65 72 76 65 72 20 73 69 64 65 20  / ..Server side 
1ea0: 72 75 6e 20 6c 61 75 6e 63 68 69 6e 67 0a 2f 2f  run launching.//
1eb0: 20 2e 09 53 75 70 70 6f 72 74 20 66 6f 72 20 72   ..Support for r
1ec0: 65 2d 72 75 6e 6e 69 6e 67 2c 20 63 6c 65 61 6e  e-running, clean
1ed0: 69 6e 67 20 65 74 63 2e 20 6f 66 20 69 6e 64 69  ing etc. of indi
1ee0: 76 69 64 75 61 6c 20 73 74 65 70 73 20 28 65 7a  vidual steps (ez
1ef0: 73 74 65 70 73 20 6d 61 6b 65 73 20 74 68 69 73  steps makes this
1f00: 20 76 65 72 79 20 65 61 73 79 20 74 6f 20 69 6d   very easy to im
1f10: 70 6c 65 6d 65 6e 74 29 2e 0a 2f 2f 20 2e 09 4c  plement)..// ..L
1f20: 61 75 6e 63 68 20 70 72 6f 63 65 73 73 20 6e 65  aunch process ne
1f30: 65 64 73 20 62 75 69 6c 74 20 69 6e 20 64 61 65  eds built in dae
1f40: 6d 6f 6e 69 7a 69 6e 67 20 28 65 61 73 79 20 74  monizing (easy t
1f50: 6f 20 64 6f 2c 20 6a 75 73 74 20 6e 65 65 64 20  o do, just need 
1f60: 74 6f 20 74 65 73 74 20 69 74 20 74 68 6f 72 6f  to test it thoro
1f70: 75 67 68 6c 79 29 2e 0a 2f 2f 20 2e 09 57 69 7a  ughly)..// ..Wiz
1f80: 61 72 64 73 20 66 6f 72 20 63 72 65 61 74 69 6e  ards for creatin
1f90: 67 20 74 65 73 74 73 2c 20 72 65 67 72 65 73 73  g tests, regress
1fa0: 69 6f 6e 20 61 72 65 61 73 20 28 63 75 72 72 65  ion areas (curre
1fb0: 6e 74 20 6f 6e 65 73 20 61 72 65 20 74 65 78 74  nt ones are text
1fc0: 20 6f 6e 6c 79 20 61 6e 64 20 6c 69 6d 69 74 65   only and limite
1fd0: 64 29 2e 0a 2f 2f 20 2e 09 46 75 6c 6c 79 20 66  d)..// ..Fully f
1fe0: 75 6e 63 74 69 6f 6e 61 6c 20 62 75 69 6c 74 20  unctional built 
1ff0: 69 6e 20 77 65 62 20 73 65 72 76 69 63 65 20 28  in web service (
2000: 63 75 72 72 65 6e 74 6c 79 20 79 6f 75 20 63 61  currently you ca
2010: 6e 20 62 72 6f 77 73 65 20 72 75 6e 73 20 62 75  n browse runs bu
2020: 74 20 69 74 20 69 73 20 76 65 72 79 20 73 69 6d  t it is very sim
2030: 70 6c 69 73 74 69 63 29 2e 0a 2f 2f 20 2e 09 57  plistic)..// ..W
2040: 69 6c 64 63 61 72 64 73 20 69 6e 20 72 75 6e 63  ildcards in runc
2050: 6f 6e 66 69 67 73 3a 20 65 2e 67 2e 20 5b 70 31  onfigs: e.g. [p1
2060: 32 37 31 2f 39 2f 25 2f 25 5d 0a 2f 2f 20 2e 09  271/9/%/%].// ..
2070: 47 75 69 20 70 61 6e 65 6c 73 20 66 6f 72 20 65  Gui panels for e
2080: 64 69 74 69 6e 67 20 6d 65 67 61 74 65 73 74 2e  diting megatest.
2090: 63 6f 6e 66 69 67 20 61 6e 64 20 72 75 6e 63 6f  config and runco
20a0: 6e 66 69 67 73 2e 63 6f 6e 66 69 67 0a 2f 2f 20  nfigs.config.// 
20b0: 2e 09 46 75 6c 6c 79 20 69 73 6f 6c 61 74 65 64  ..Fully isolated
20c0: 20 74 65 73 74 73 20 28 6e 6f 20 75 73 65 20 6f   tests (no use o
20d0: 66 20 4e 46 53 20 74 6f 20 73 65 65 20 72 65 67  f NFS to see reg
20e0: 72 65 73 73 69 6f 6e 20 61 72 65 61 20 66 69 6c  ression area fil
20f0: 65 73 29 0a 2f 2f 20 2e 09 57 69 6e 64 6f 77 73  es).// ..Windows
2100: 20 76 65 72 73 69 6f 6e 0a 0a 5a 20 66 32 35 33   version..Z f253
2110: 31 63 31 66 64 37 61 62 30 36 61 36 38 31 34 36  1c1fd7ab06a68146
2120: 38 33 31 34 61 63 61 34 31 62 31 62 0a           8314aca41b1b.