dashboard -rows 24
Megatest is an extensive program with a lot to learn. Following are some paths through the material to smooth the learning path.
+Components of automation; run, test, iteration +
++Selectors; target, runname, and testpatt +
++Using the dashboard gui (recommended) +
++Using the "Runs" panel. +
++Using the "Run Control" panel. +
++Using a test control panel +
++The Right Mouse Button menu +
++Debug features +
++xterm +
++pstree +
++log files; mt_copy.log, mt_launch.log +
++variables; megatest.csh, megatest.sh +
++testconfig dump, *testconfig +
++State/status buttons +
++Run, Clean, KillReq +
++ReRunClean +
++Using the command line +
++Getting help; megatest -h, megatest -manual +
++Starting runs; megatest -run +
++Selection controls; -target, -runname and -testpatt +
++tests/testname/testconfig testconfig details +
++iteration (one test applied to many inputs) test iteration +
++dependencies test requirements +
++megatest areas +
++megatest.config +
++Removing and keeping runs selectively managing runs +
++Subruns nested runs +
++Config file features config file features +
+runscript main.csh
# full combinations +[items] +A x y +B 1 2 + +# Yields: x/1 x/2 y/1 y/2 + +# tabled +[itemstable] +A x y +B 1 2 + +# Yields x/1 y/2+
[requirements] -waiton precedingtest mode itemmatch
For cases were the dependent test has a similar but not identical -itempath to the downstream test an itemmap can allow for itemwait/itemmatch -mode by specifying rules on how to map the waiton’s item name to the current test’s item name.
[requirements] mode itemwait -waiton precedingtest # itemmap <item pattern for this test> <item replacement pattern for waiton test> itemmap .*x/ y/
# # ## Example # ## Replace foo/ with bar/ [requirements] mode itemwait -waiton precedingtest # itemmap <item pattern for this test> <item replacement pattern for waiton test> itemmap foo/ bar/
# # ## Example # ## can use \{number} in replacement pattern to backreference a (capture) from matching pattern similar to sed or perl [requirements] mode itemwait -waiton precedingtest # itemmap <item pattern for this test> <item replacement pattern for waiton test> itemmap foo(\d+)/ num-\1/bar/
# multi-line; matches are applied in the listed order # The following would map: # a123b321 to b321fooa123 then to 321fooa123p # [requirements] -mode itemwait -waiton precedingtest itemmap (a\d+)(b\d+) \2foo\1 b(.*) \1p
[requirements] waiton C -mode itemwait itemmap (\d+)/res \1/bb
[requirements] waiton C -mode itemwait itemmap (\d+)/res \1/aa
[requirements] waiton A B -mode itemwait [itemmap] A (\d+)/aa aa/\1 B (\d+)/bb bb/\1