Check-in [00761e1112]
Not logged in
Overview
SHA1 Hash:00761e1112b1b92e12afcbdad0039f53cd7c147e
Date: 2011-05-14 18:09:27
User: matt
Comment:Merging subtest-rollup to trunk
Timelines: family | ancestors | descendants | both | trunk | v1.06
Downloads: Tarball | ZIP archive
Other Links: files | file ages | manifest
Tags And Properties
Changes

Modified configf.scm from [fc6ecb37be7e523b] to [9312ee9e64d758d1].

36 (if (not (file-exists? path)) 36 (if (not (file-exists? path)) 37 (if (null? ht)(make-hash-table) (car ht)) 37 (if (null? ht)(make-hash-table) (car ht)) 38 (let ((inp (open-input-file path)) 38 (let ((inp (open-input-file path)) 39 (res (if (null? ht)(make-hash-table)(car ht))) 39 (res (if (null? ht)(make-hash-table)(car ht))) 40 (include-rx (regexp "^\\[include\\s+(.*)\\]\\s*$")) 40 (include-rx (regexp "^\\[include\\s+(.*)\\]\\s*$")) 41 (section-rx (regexp "^\\[(.*)\\]\\s*$")) 41 (section-rx (regexp "^\\[(.*)\\]\\s*$")) 42 (blank-l-rx (regexp "^\\s*$")) 42 (blank-l-rx (regexp "^\\s*$")) > 43 (key-sys-pr (regexp "^(\\S+)\\s+\\[system\\s+(\\S+.*)\\]\\s*$")) 43 (key-val-pr (regexp "^(\\S+)\\s+(.*)$")) 44 (key-val-pr (regexp "^(\\S+)\\s+(.*)$")) 44 (comment-rx (regexp "^\\s*#.*"))) 45 (comment-rx (regexp "^\\s*#.*"))) 45 (let loop ((inl (read-line inp)) 46 (let loop ((inl (read-line inp)) 46 (curr-section-name "default")) 47 (curr-section-name "default")) 47 (if (eof-object? inl) res 48 (if (eof-object? inl) res 48 (regex-case 49 (regex-case 49 inl 50 inl 50 (comment-rx _ (loop (read-line inp) curr-section 51 (comment-rx _ (loop (read-line inp) curr-section 51 (blank-l-rx _ (loop (read-line inp) curr-section 52 (blank-l-rx _ (loop (read-line inp) curr-section 52 (include-rx ( x include-file ) (begin 53 (include-rx ( x include-file ) (begin 53 (read-config include-file res) 54 (read-config include-file res) 54 (loop (read-line inp) curr-secti 55 (loop (read-line inp) curr-secti 55 (section-rx ( x section-name ) (loop (read-line inp) section-name 56 (section-rx ( x section-name ) (loop (read-line inp) section-name > 57 (key-sys-pr ( x key cmd ) (let ((alist (hash-table-ref/defau > 58 (val (let ((res (car (cmd- > 59 (if (null? res) > 60 "" > 61 (string-intersp > 62 (hash-table-set! res curr-sectio > 63 (config:assoc-s > 64 ;; (append alis > 65 (loop (read-line inp) curr-secti 56 (key-val-pr ( x key val ) (let ((alist (hash-table-ref/defau 66 (key-val-pr ( x key val ) (let ((alist (hash-table-ref/defau 57 (hash-table-set! res curr-sectio 67 (hash-table-set! res curr-sectio 58 (config:assoc-s 68 (config:assoc-s 59 ;; (append alis 69 ;; (append alis 60 (loop (read-line inp) curr-secti 70 (loop (read-line inp) curr-secti 61 (else (print "ERROR: Should not get here,\n \"" inl "\"") 71 (else (print "ERROR: Should not get here,\n \"" inl "\"") 62 (loop (read-line inp) curr-section-name)))))))) 72 (loop (read-line inp) curr-section-name))))))))

Modified db.scm from [3bc7d64bed1848d7] to [b69aff6aa1d9d84d].

35 fieldstr (if havekeys "," "") 35 fieldstr (if havekeys "," "") 36 "runname TEXT," 36 "runname TEXT," 37 "state TEXT DEFAULT ''," 37 "state TEXT DEFAULT ''," 38 "status TEXT DEFAULT ''," 38 "status TEXT DEFAULT ''," 39 "owner TEXT DEFAULT ''," 39 "owner TEXT DEFAULT ''," 40 "event_time TIMESTAMP," 40 "event_time TIMESTAMP," 41 "comment TEXT DEFAULT ''," 41 "comment TEXT DEFAULT ''," > 42 "fail_count INTEGER DEFAULT 0," > 43 "pass_count INTEGER DEFAULT 0," 42 "CONSTRAINT runsconstraint UNIQUE (runname" (if have 44 "CONSTRAINT runsconstraint UNIQUE (runname" (if have 43 (sqlite3:execute db (conc "CREATE INDEX runs_index ON runs (runname" ( 45 (sqlite3:execute db (conc "CREATE INDEX runs_index ON runs (runname" ( 44 (sqlite3:execute db 46 (sqlite3:execute db 45 "CREATE TABLE tests 47 "CREATE TABLE tests 46 (id INTEGER PRIMARY KEY, 48 (id INTEGER PRIMARY KEY, 47 run_id INTEGER, 49 run_id INTEGER, 48 testname TEXT, 50 testname TEXT, 49 itempath TEXT, < 50 host TEXT DEFAULT 'n/a', 51 host TEXT DEFAULT 'n/a', 51 cpuload REAL DEFAULT -1, 52 cpuload REAL DEFAULT -1, 52 diskfree INTEGER DEFAULT -1, 53 diskfree INTEGER DEFAULT -1, 53 uname TEXT DEFAULT 'n/a', 54 uname TEXT DEFAULT 'n/a', 54 rundir TEXT DEFAULT 'n/a', 55 rundir TEXT DEFAULT 'n/a', 55 item_path TEXT DEFAULT '', 56 item_path TEXT DEFAULT '', 56 state TEXT DEFAULT 'NOT_STARTED', 57 state TEXT DEFAULT 'NOT_STARTED', 57 status TEXT DEFAULT 'n/a', | 58 status TEXT DEFAULT 'FAIL', 58 attemptnum INTEGER DEFAULT 0, 59 attemptnum INTEGER DEFAULT 0, 59 final_logf TEXT DEFAULT 'logs/final.log', 60 final_logf TEXT DEFAULT 'logs/final.log', 60 logdat BLOB, 61 logdat BLOB, 61 run_duration INTEGER DEFAULT 0, 62 run_duration INTEGER DEFAULT 0, 62 comment TEXT DEFAULT '', 63 comment TEXT DEFAULT '', 63 event_time TIMESTAMP, 64 event_time TIMESTAMP, > 65 fail_count INTEGER DEFAULT 0, > 66 pass_count INTEGER DEFAULT 0, 64 CONSTRAINT testsconstraint UNIQUE (run_id, testname, item_p 67 CONSTRAINT testsconstraint UNIQUE (run_id, testname, item_p 65 );") 68 );") 66 (sqlite3:execute db "CREATE INDEX tests_index ON tests (run_id, testna 69 (sqlite3:execute db "CREATE INDEX tests_index ON tests (run_id, testna 67 (sqlite3:execute db "CREATE VIEW runs_tests AS SELECT * FROM runs INNE 70 (sqlite3:execute db "CREATE VIEW runs_tests AS SELECT * FROM runs INNE 68 (sqlite3:execute db "CREATE TABLE test_steps 71 (sqlite3:execute db "CREATE TABLE test_steps 69 (id INTEGER PRIMARY KEY, 72 (id INTEGER PRIMARY KEY, 70 test_id INTEGER, 73 test_id INTEGER, ................................................................................................................................................................................ 235 ;; 238 ;; 236 (define (db:test-set-comment db run-id testname item-path comment) 239 (define (db:test-set-comment db run-id testname item-path comment) 237 (sqlite3:execute 240 (sqlite3:execute 238 db 241 db 239 "UPDATE tests SET comment=? WHERE run_id=? AND testname=? AND item_path=?;" 242 "UPDATE tests SET comment=? WHERE run_id=? AND testname=? AND item_path=?;" 240 comment run-id testname item-path)) 243 comment run-id testname item-path)) 241 244 > 245 ;; > 246 (define (db:test-set-rundir! db run-id testname item-path rundir) > 247 (sqlite3:execute > 248 db > 249 "UPDATE tests SET rundir=? WHERE run_id=? AND testname=? AND item_path=?;" > 250 rundir run-id testname item-path)) > 251 > 252 ;;====================================================================== 242 ;; Steps 253 ;; Steps > 254 ;;====================================================================== 243 ;; Run steps 255 ;; Run steps 244 ;; make-vector-record "Run steps" db step id test_id stepname step_complete step 256 ;; make-vector-record "Run steps" db step id test_id stepname step_complete step 245 (define (make-db:step)(make-vector 6)) 257 (define (make-db:step)(make-vector 6)) 246 (define-inline (db:step-get-id vec) (vector-ref vec 0)) 258 (define-inline (db:step-get-id vec) (vector-ref vec 0)) 247 (define-inline (db:step-get-test_id vec) (vector-ref vec 1)) 259 (define-inline (db:step-get-test_id vec) (vector-ref vec 1)) 248 (define-inline (db:step-get-stepname vec) (vector-ref vec 2)) 260 (define-inline (db:step-get-stepname vec) (vector-ref vec 2)) 249 (define-inline (db:step-get-state vec) (vector-ref vec 3)) 261 (define-inline (db:step-get-state vec) (vector-ref vec 3))

Modified docs/megatest.html from [6cfc483e564ca3c9] to [a113e56825069e3d].

1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 4 <head> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 6 <meta name="generator" content="http://www.nongnu.org/elyxer/"/> 6 <meta name="generator" content="http://www.nongnu.org/elyxer/"/> 7 <meta name="create-date" content="2011-05-08"/> | 7 <meta name="create-date" content="2011-05-14"/> 8 <link rel="stylesheet" href="http://www.nongnu.org/elyxer/lyx.css" type="text/cs 8 <link rel="stylesheet" href="http://www.nongnu.org/elyxer/lyx.css" type="text/cs 9 <title>Megatest</title> 9 <title>Megatest</title> 10 </head> 10 </head> 11 <body> 11 <body> 12 <div id="globalWrapper"> 12 <div id="globalWrapper"> 13 < 14 <h1 class="title"> 13 <h1 class="title"> 15 Megatest 14 Megatest 16 </h1> 15 </h1> 17 <h2 class="Date"> 16 <h2 class="Date"> 18 5/5/2011 17 5/5/2011 19 </h2> 18 </h2> 20 <h2 class="author"> 19 <h2 class="author"> 21 Matt Welland 20 Matt Welland 22 </h2> 21 </h2> 23 <div class="abstract"> 22 <div class="abstract"> 24 < 25 <p class="abstract-message"> 23 <p class="abstract-message"> 26 Abstract 24 Abstract > 25 </p> 27 </p>Megatest is a minimalistic tool to help automate and manage the running of a | 26 Megatest is a minimalistic tool to help automate and manage the running of a sui 28 </div> 27 </div> 29 <div class="Unindented"> < 30 < 31 <div class="fulltoc"> 28 <div class="fulltoc"> 32 < 33 <div class="tocheader"> 29 <div class="tocheader"> 34 Table of Contents 30 Table of Contents 35 </div><div class="tocindent"> | 31 </div> 36 <div class="tocindent"> 32 <div class="tocindent"> 37 < > 33 <div class="tocindent"> 38 <div class="toc"> 34 <div class="toc"> 39 <a class="Link" href="#toc-Section-0.1">Section 0.1: About Megatest</a> 35 <a class="Link" href="#toc-Section-0.1">Section 0.1: About Megatest</a> > 36 </div> 40 </div><div class="tocindent"> | 37 <div class="tocindent"> 41 < 42 <div class="toc"> 38 <div class="toc"> 43 <a class="Link" href="#toc-Subsection-0.1.1">Subsection 0.1.1: Megatest design p 39 <a class="Link" href="#toc-Subsection-0.1.1">Subsection 0.1.1: Megatest design p 44 </div> 40 </div> 45 <div class="toc"> 41 <div class="toc"> 46 <a class="Link" href="#toc-Subsection-0.1.2">Subsection 0.1.2: Megatest architec 42 <a class="Link" href="#toc-Subsection-0.1.2">Subsection 0.1.2: Megatest architec 47 </div></div> | 43 </div> 48 < > 44 </div> 49 <div class="toc"> 45 <div class="toc"> 50 <a class="Link" href="#toc-Section-0.2">Section 0.2: Installation</a> 46 <a class="Link" href="#toc-Section-0.2">Section 0.2: Installation</a> > 47 </div> 51 </div><div class="tocindent"> | 48 <div class="tocindent"> 52 < 53 <div class="toc"> 49 <div class="toc"> 54 <a class="Link" href="#toc-Subsection-0.2.1">Subsection 0.2.1: Compilation</a> 50 <a class="Link" href="#toc-Subsection-0.2.1">Subsection 0.2.1: Compilation</a> > 51 </div> 55 </div><div class="tocindent"> | 52 <div class="tocindent"> 56 < 57 <div class="toc"> 53 <div class="toc"> 58 <a class="Link" href="#toc-Subsubsection-0.2.1.1">Subsubsection 0.2.1.1: Depende 54 <a class="Link" href="#toc-Subsubsection-0.2.1.1">Subsubsection 0.2.1.1: Depende 59 </div> 55 </div> 60 <div class="toc"> 56 <div class="toc"> 61 <a class="Link" href="#toc-Subsubsection-0.2.1.2">Subsubsection 0.2.1.2: Build a 57 <a class="Link" href="#toc-Subsubsection-0.2.1.2">Subsubsection 0.2.1.2: Build a 62 </div></div> | 58 </div> 63 < > 59 </div> 64 <div class="toc"> 60 <div class="toc"> 65 <a class="Link" href="#toc-Subsection-0.2.2">Subsection 0.2.2: Setup</a> 61 <a class="Link" href="#toc-Subsection-0.2.2">Subsection 0.2.2: Setup</a> > 62 </div> 66 </div><div class="tocindent"> | 63 <div class="tocindent"> 67 < 68 <div class="toc"> 64 <div class="toc"> 69 <a class="Link" href="#toc-Subsubsection-0.2.2.1">Subsubsection 0.2.2.1: Create 65 <a class="Link" href="#toc-Subsubsection-0.2.2.1">Subsubsection 0.2.2.1: Create 70 </div> 66 </div> 71 <div class="toc"> 67 <div class="toc"> 72 <a class="Link" href="#toc-Subsubsection-0.2.2.2">Subsubsection 0.2.2.2: Create 68 <a class="Link" href="#toc-Subsubsection-0.2.2.2">Subsubsection 0.2.2.2: Create 73 </div> 69 </div> 74 <div class="toc"> 70 <div class="toc"> ................................................................................................................................................................................ 78 <a class="Link" href="#toc-Subsubsection-0.2.2.4">Subsubsection 0.2.2.4: Create 74 <a class="Link" href="#toc-Subsubsection-0.2.2.4">Subsubsection 0.2.2.4: Create 79 </div> 75 </div> 80 <div class="toc"> 76 <div class="toc"> 81 <a class="Link" href="#toc-Subsubsection-0.2.2.5">Subsubsection 0.2.2.5: Create 77 <a class="Link" href="#toc-Subsubsection-0.2.2.5">Subsubsection 0.2.2.5: Create 82 </div> 78 </div> 83 <div class="toc"> 79 <div class="toc"> 84 <a class="Link" href="#toc-Subsubsection-0.2.2.6">Subsubsection 0.2.2.6: Run meg 80 <a class="Link" href="#toc-Subsubsection-0.2.2.6">Subsubsection 0.2.2.6: Run meg 85 </div></div> < 86 </div> 81 </div> 87 < > 82 </div> > 83 </div> 88 <div class="toc"> 84 <div class="toc"> 89 <a class="Link" href="#toc-Section-0.3">Section 0.3: Reference</a> 85 <a class="Link" href="#toc-Section-0.3">Section 0.3: Reference</a> > 86 </div> 90 </div><div class="tocindent"> | 87 <div class="tocindent"> 91 < > 88 <div class="toc"> > 89 <a class="Link" href="#toc-Subsection-0.3.1">Subsection 0.3.1: Configuration fil > 90 </div> > 91 <div class="tocindent"> > 92 <div class="toc"> > 93 <a class="Link" href="#toc-Subsubsection-0.3.1.1">Subsubsection 0.3.1.1: Section > 94 </div> > 95 <div class="toc"> > 96 <a class="Link" href="#toc-Subsubsection-0.3.1.2">Subsubsection 0.3.1.2: Variabl > 97 </div> > 98 <div class="toc"> > 99 <a class="Link" href="#toc-Subsubsection-0.3.1.3">Subsubsection 0.3.1.3: Include > 100 </div> > 101 <div class="toc"> > 102 <a class="Link" href="#toc-Subsubsection-0.3.1.4">Subsubsection 0.3.1.4: Setting > 103 </div> > 104 <div class="toc"> > 105 <a class="Link" href="#toc-Subsubsection-0.3.1.5">Subsubsection 0.3.1.5: Notes</ > 106 </div> > 107 </div> > 108 <div class="toc"> > 109 <a class="Link" href="#toc-Subsection-0.3.2">Subsection 0.3.2: Environment varia > 110 </div> > 111 <div class="toc"> > 112 <a class="Link" href="#toc-Subsection-0.3.3">Subsection 0.3.3: Configuration fil > 113 </div> > 114 <div class="tocindent"> > 115 <div class="toc"> > 116 <a class="Link" href="#toc-Subsubsection-0.3.3.1">Subsubsection 0.3.3.1: megates > 117 </div> > 118 <div class="toc"> > 119 <a class="Link" href="#toc-Subsubsection-0.3.3.2">Subsubsection 0.3.3.2: runconf > 120 </div> > 121 </div> 92 <div class="toc"> 122 <div class="toc"> 93 <a class="Link" href="#toc-Subsection-0.3.1">Subsection 0.3.1: Environment varia | 123 <a class="Link" href="#toc-Subsection-0.3.4">Subsection 0.3.4: Writing tests</a> 94 </div> 124 </div> > 125 <div class="tocindent"> 95 <div class="toc"> 126 <div class="toc"> 96 <a class="Link" href="#toc-Subsection-0.3.2">Subsection 0.3.2: Configuration fil | 127 <a class="Link" href="#toc-Subsubsection-0.3.4.1">Subsubsection 0.3.4.1: testcon 97 </div><div class="tocindent"> | 128 </div> 98 < 99 <div class="toc"> < 100 <a class="Link" href="#toc-Subsubsection-0.3.2.1">Subsubsection 0.3.2.1: megates < 101 </div> 129 </div> 102 <div class="toc"> 130 <div class="toc"> 103 <a class="Link" href="#toc-Subsubsection-0.3.2.2">Subsubsection 0.3.2.2: runconf < 104 </div></div> < 105 < 106 <div class="toc"> < 107 <a class="Link" href="#toc-Subsection-0.3.3">Subsection 0.3.3: Writing tests</a> | 131 <a class="Link" href="#toc-Subsection-0.3.5">Subsection 0.3.5: Command line</a> 108 </div><div class="tocindent"> < 109 < 110 <div class="toc"> < 111 <a class="Link" href="#toc-Subsubsection-0.3.3.1">Subsubsection 0.3.3.1: testcon < 112 </div></div> | 132 </div> 113 </div> 133 </div> 114 </div> 134 </div> 115 </div> 135 </div> 116 136 117 </div> < 118 </div> 137 </div> 119 <h2 class="Section"> 138 <h2 class="Section"> 120 <a class="toc" name="toc-Section-0.1">0.1</a> About Megatest 139 <a class="toc" name="toc-Section-0.1">0.1</a> About Megatest 121 </h2> 140 </h2> 122 <h3 class="Subsection"> 141 <h3 class="Subsection"> 123 <a class="toc" name="toc-Subsection-0.1.1">0.1.1</a> Megatest design philosophy 142 <a class="toc" name="toc-Subsection-0.1.1">0.1.1</a> Megatest design philosophy 124 </h3> 143 </h3> ................................................................................................................................................................................ 281 <div class="Code"> 300 <div class="Code"> 282 watch megatest -list-runs % 301 watch megatest -list-runs % 283 </div> 302 </div> 284 <h2 class="Section"> 303 <h2 class="Section"> 285 <a class="toc" name="toc-Section-0.3">0.3</a> Reference 304 <a class="toc" name="toc-Section-0.3">0.3</a> Reference 286 </h2> 305 </h2> 287 <h3 class="Subsection"> 306 <h3 class="Subsection"> 288 <a class="toc" name="toc-Subsection-0.3.1">0.3.1</a> Environment variables | 307 <a class="toc" name="toc-Subsection-0.3.1">0.3.1</a> Configuration files > 308 </h3> > 309 <h4 class="Subsubsection"> > 310 <a class="toc" name="toc-Subsubsection-0.3.1.1">0.3.1.1</a> Sections > 311 </h4> > 312 <div class="Unindented"> > 313 [section name] > 314 </div> > 315 <div class="Indented"> > 316 This creates a section named “section name” > 317 </div> > 318 <h4 class="Subsubsection"> > 319 <a class="toc" name="toc-Subsubsection-0.3.1.2">0.3.1.2</a> Variables > 320 </h4> > 321 <div class="Unindented"> > 322 VARX has this value > 323 </div> > 324 <div class="Indented"> > 325 The variable “VARX” will have the value “has this value” > 326 </div> > 327 <h4 class="Subsubsection"> > 328 <a class="toc" name="toc-Subsubsection-0.3.1.3">0.3.1.3</a> Includes > 329 </h4> > 330 <div class="Unindented"> > 331 [include filename] > 332 </div> > 333 <div class="Indented"> > 334 The file named “filename” will be included as if part of the calling file. NOTE: > 335 </div> > 336 <h4 class="Subsubsection"> > 337 <a class="toc" name="toc-Subsubsection-0.3.1.4">0.3.1.4</a> Setting a variable b > 338 </h4> > 339 <div class="Unindented"> > 340 VARNAME [system ls /tmp] > 341 </div> > 342 <div class="Indented"> > 343 The variable “VARNAME” will get a value created by the Unix command “ls /tmp”. A > 344 </div> > 345 <h4 class="Subsubsection"> > 346 <a class="toc" name="toc-Subsubsection-0.3.1.5">0.3.1.5</a> Notes > 347 </h4> > 348 <ul> > 349 <li> > 350 Some variables are infered as lists. Each token on the line separated by whitesp > 351 </li> > 352 <li> > 353 Comments (lines starting with #) and blank lines are ignored. > 354 </li> > 355 > 356 </ul> > 357 <h3 class="Subsection"> > 358 <a class="toc" name="toc-Subsection-0.3.2">0.3.2</a> Environment variables 289 </h3> 359 </h3> 290 <div class="Unindented"> 360 <div class="Unindented"> 291 < 292 <table> 361 <table> 293 < 294 <tr> 362 <tr> 295 < 296 <td align="left" valign="top"> 363 <td align="left" valign="top"> 297 Variable 364 Variable 298 </td> 365 </td> 299 <td align="left" valign="top"> 366 <td align="left" valign="top"> 300 Purpose 367 Purpose 301 </td> 368 </td> 302 <td align="left" valign="top"> 369 <td align="left" valign="top"> 303 Default value/Comment 370 Default value/Comment 304 </td> 371 </td> > 372 305 </tr> 373 </tr> 306 <tr> 374 <tr> 307 < 308 <td align="left" valign="top"> 375 <td align="left" valign="top"> 309 MT_CMDINFO 376 MT_CMDINFO 310 </td> 377 </td> 311 <td align="left" valign="top"> 378 <td align="left" valign="top"> 312 Conveys test variables to the megatest test runner. 379 Conveys test variables to the megatest test runner. 313 </td> 380 </td> 314 <td align="left" valign="top"> 381 <td align="left" valign="top"> 315 Not for use by the end user 382 Not for use by the end user 316 </td> 383 </td> > 384 317 </tr> 385 </tr> 318 <tr> 386 <tr> 319 < 320 <td align="left" valign="top"> 387 <td align="left" valign="top"> 321 MT_TEST_RUN_DIR 388 MT_TEST_RUN_DIR 322 </td> 389 </td> 323 <td align="left" valign="top"> 390 <td align="left" valign="top"> 324 Directory assigned by megatest for the test to run. 391 Directory assigned by megatest for the test to run. 325 </td> 392 </td> 326 <td align="left" valign="top"> 393 <td align="left" valign="top"> 327 Tests can consider this their “home” directory 394 Tests can consider this their “home” directory 328 </td> 395 </td> > 396 329 </tr> 397 </tr> 330 <tr> 398 <tr> 331 < 332 <td align="left" valign="top"> 399 <td align="left" valign="top"> 333 MT_TEST_NAME 400 MT_TEST_NAME 334 </td> 401 </td> 335 <td align="left" valign="top"> 402 <td align="left" valign="top"> 336 Name of the test, corrosponds to the directory name under tests. 403 Name of the test, corrosponds to the directory name under tests. 337 </td> 404 </td> 338 <td align="left" valign="top"> 405 <td align="left" valign="top"> 339 406 340 </td> 407 </td> > 408 341 </tr> 409 </tr> 342 <tr> 410 <tr> 343 < 344 <td align="left" valign="top"> 411 <td align="left" valign="top"> 345 MT_ITEM_INFO 412 MT_ITEM_INFO 346 </td> 413 </td> 347 <td align="left" valign="top"> 414 <td align="left" valign="top"> 348 Iterated tests will set this to a sequence of key/values ((KEY val) ...) 415 Iterated tests will set this to a sequence of key/values ((KEY val) ...) 349 </td> 416 </td> 350 <td align="left" valign="top"> 417 <td align="left" valign="top"> 351 418 352 </td> 419 </td> > 420 353 </tr> 421 </tr> 354 <tr> 422 <tr> 355 < 356 <td align="left" valign="top"> 423 <td align="left" valign="top"> 357 MT_RUN_AREA_HOME 424 MT_RUN_AREA_HOME 358 </td> 425 </td> 359 <td align="left" valign="top"> 426 <td align="left" valign="top"> 360 Directory where megatest was launched from and where the tests code can be found 427 Directory where megatest was launched from and where the tests code can be found 361 </td> 428 </td> 362 <td align="left" valign="top"> 429 <td align="left" valign="top"> 363 430 364 </td> 431 </td> > 432 365 </tr> 433 </tr> 366 <tr> 434 <tr> 367 < 368 <td align="left" valign="top"> 435 <td align="left" valign="top"> 369 MT_RUNNAME 436 MT_RUNNAME 370 </td> 437 </td> 371 <td align="left" valign="top"> 438 <td align="left" valign="top"> 372 Name of this run as set by the :runname parameter 439 Name of this run as set by the :runname parameter 373 </td> 440 </td> 374 <td align="left" valign="top"> 441 <td align="left" valign="top"> 375 442 376 </td> 443 </td> > 444 377 </tr> 445 </tr> 378 <tr> 446 <tr> > 447 <td align="left" valign="top"> > 448 MT_MEGATEST > 449 </td> > 450 <td align="left" valign="top"> > 451 Path/Filename to megatest executable. Found either from called path or but using > 452 </td> > 453 <td align="left" valign="top"> 379 454 > 455 </td> > 456 > 457 </tr> > 458 <tr> 380 <td align="left" valign="top"> 459 <td align="left" valign="top"> 381 &lt;field1&gt; .... 460 &lt;field1&gt; .... 382 </td> 461 </td> 383 <td align="left" valign="top"> 462 <td align="left" valign="top"> 384 The field values as set on the megatest -runall command line (e.g. :field1 abc) 463 The field values as set on the megatest -runall command line (e.g. :field1 abc) 385 </td> 464 </td> 386 <td align="left" valign="top"> 465 <td align="left" valign="top"> 387 Planning ahead your field names is important so as to avoid collisions with othe 466 Planning ahead your field names is important so as to avoid collisions with othe 388 </td> 467 </td> > 468 389 </tr> 469 </tr> > 470 390 </table> 471 </table> > 472 391 </div> 473 </div> 392 <h3 class="Subsection"> 474 <h3 class="Subsection"> 393 <a class="toc" name="toc-Subsection-0.3.2">0.3.2</a> Configuration files | 475 <a class="toc" name="toc-Subsection-0.3.3">0.3.3</a> Configuration files 394 </h3> 476 </h3> 395 <h4 class="Subsubsection"> 477 <h4 class="Subsubsection"> 396 <a class="toc" name="toc-Subsubsection-0.3.2.1">0.3.2.1</a> megatest.config | 478 <a class="toc" name="toc-Subsubsection-0.3.3.1">0.3.3.1</a> megatest.config 397 </h4> 479 </h4> 398 <div class="Unindented"> 480 <div class="Unindented"> 399 < 400 <table> 481 <table> 401 < 402 <tr> 482 <tr> 403 < 404 <td align="left" valign="top"> 483 <td align="left" valign="top"> 405 section 484 section 406 </td> 485 </td> 407 <td align="left" valign="top"> 486 <td align="left" valign="top"> 408 variable 487 variable 409 </td> 488 </td> 410 <td align="left" valign="top"> 489 <td align="left" valign="top"> ................................................................................................................................................................................ 412 </td> 491 </td> 413 <td align="left" valign="top"> 492 <td align="left" valign="top"> 414 required 493 required 415 </td> 494 </td> 416 <td align="left" valign="top"> 495 <td align="left" valign="top"> 417 comment 496 comment 418 </td> 497 </td> > 498 419 </tr> 499 </tr> 420 <tr> 500 <tr> 421 < 422 <td align="left" valign="top"> 501 <td align="left" valign="top"> 423 [setup] 502 [setup] 424 </td> 503 </td> 425 <td align="left" valign="top"> 504 <td align="left" valign="top"> 426 max_concurrent_jobs 505 max_concurrent_jobs 427 </td> 506 </td> 428 <td align="left" valign="top"> 507 <td align="left" valign="top"> ................................................................................................................................................................................ 430 </td> 509 </td> 431 <td align="left" valign="top"> 510 <td align="left" valign="top"> 432 no 511 no 433 </td> 512 </td> 434 <td align="left" valign="top"> 513 <td align="left" valign="top"> 435 514 436 </td> 515 </td> > 516 437 </tr> 517 </tr> 438 <tr> 518 <tr> 439 < 440 <td align="left" valign="top"> 519 <td align="left" valign="top"> 441 520 442 </td> 521 </td> 443 <td align="left" valign="top"> 522 <td align="left" valign="top"> 444 executable 523 executable 445 </td> 524 </td> 446 <td align="left" valign="top"> 525 <td align="left" valign="top"> ................................................................................................................................................................................ 448 </td> 527 </td> 449 <td align="left" valign="top"> 528 <td align="left" valign="top"> 450 no 529 no 451 </td> 530 </td> 452 <td align="left" valign="top"> 531 <td align="left" valign="top"> 453 Use only if necessary, megatest will extract the location from where it used to 532 Use only if necessary, megatest will extract the location from where it used to 454 </td> 533 </td> > 534 455 </tr> 535 </tr> 456 <tr> 536 <tr> 457 < 458 <td align="left" valign="top"> 537 <td align="left" valign="top"> 459 538 460 </td> 539 </td> 461 <td align="left" valign="top"> 540 <td align="left" valign="top"> 462 runsdir 541 runsdir 463 </td> 542 </td> 464 <td align="left" valign="top"> 543 <td align="left" valign="top"> ................................................................................................................................................................................ 466 </td> 545 </td> 467 <td align="left" valign="top"> 546 <td align="left" valign="top"> 468 no 547 no 469 </td> 548 </td> 470 <td align="left" valign="top"> 549 <td align="left" valign="top"> 471 Because your runs may be spread out over several disk partitions a central link 550 Because your runs may be spread out over several disk partitions a central link 472 </td> 551 </td> > 552 473 </tr> 553 </tr> 474 <tr> 554 <tr> 475 < 476 <td align="left" valign="top"> 555 <td align="left" valign="top"> 477 [fields] 556 [fields] 478 </td> 557 </td> 479 <td align="left" valign="top"> 558 <td align="left" valign="top"> 480 string of letters, numbers and underscore 559 string of letters, numbers and underscore 481 </td> 560 </td> 482 <td align="left" valign="top"> 561 <td align="left" valign="top"> ................................................................................................................................................................................ 484 </td> 563 </td> 485 <td align="left" valign="top"> 564 <td align="left" valign="top"> 486 at least one 565 at least one 487 </td> 566 </td> 488 <td align="left" valign="top"> 567 <td align="left" valign="top"> 489 568 490 </td> 569 </td> > 570 491 </tr> 571 </tr> 492 <tr> 572 <tr> 493 < 494 <td align="left" valign="top"> 573 <td align="left" valign="top"> 495 [jobtools] 574 [jobtools] 496 </td> 575 </td> 497 <td align="left" valign="top"> 576 <td align="left" valign="top"> 498 launcher 577 launcher 499 </td> 578 </td> 500 <td align="left" valign="top"> 579 <td align="left" valign="top"> ................................................................................................................................................................................ 502 </td> 581 </td> 503 <td align="left" valign="top"> 582 <td align="left" valign="top"> 504 no 583 no 505 </td> 584 </td> 506 <td align="left" valign="top"> 585 <td align="left" valign="top"> 507 586 508 </td> 587 </td> > 588 509 </tr> 589 </tr> 510 <tr> 590 <tr> 511 < 512 <td align="left" valign="top"> 591 <td align="left" valign="top"> 513 592 514 </td> 593 </td> 515 <td align="left" valign="top"> 594 <td align="left" valign="top"> 516 workhosts 595 workhosts 517 </td> 596 </td> 518 <td align="left" valign="top"> 597 <td align="left" valign="top"> ................................................................................................................................................................................ 520 </td> 599 </td> 521 <td align="left" valign="top"> 600 <td align="left" valign="top"> 522 n/a 601 n/a 523 </td> 602 </td> 524 <td align="left" valign="top"> 603 <td align="left" valign="top"> 525 604 526 </td> 605 </td> > 606 527 </tr> 607 </tr> 528 <tr> 608 <tr> 529 < 530 <td align="left" valign="top"> 609 <td align="left" valign="top"> 531 [env-override] 610 [env-override] 532 </td> 611 </td> 533 <td align="left" valign="top"> 612 <td align="left" valign="top"> 534 string of letters, numbers and underscore 613 string of letters, numbers and underscore 535 </td> 614 </td> 536 <td align="left" valign="top"> 615 <td align="left" valign="top"> ................................................................................................................................................................................ 538 </td> 617 </td> 539 <td align="left" valign="top"> 618 <td align="left" valign="top"> 540 no 619 no 541 </td> 620 </td> 542 <td align="left" valign="top"> 621 <td align="left" valign="top"> 543 These are set on the test launching machine, not the test running machine. Typic 622 These are set on the test launching machine, not the test running machine. Typic 544 </td> 623 </td> > 624 545 </tr> 625 </tr> 546 <tr> 626 <tr> 547 < 548 <td align="left" valign="top"> 627 <td align="left" valign="top"> 549 [disks] 628 [disks] 550 </td> 629 </td> 551 <td align="left" valign="top"> 630 <td align="left" valign="top"> 552 string of letters, numbers and underscore 631 string of letters, numbers and underscore 553 </td> 632 </td> 554 <td align="left" valign="top"> 633 <td align="left" valign="top"> ................................................................................................................................................................................ 556 </td> 635 </td> 557 <td align="left" valign="top"> 636 <td align="left" valign="top"> 558 yes 637 yes 559 </td> 638 </td> 560 <td align="left" valign="top"> 639 <td align="left" valign="top"> 561 The disk usage balancing algorithm is to choose the disk with the least space fo 640 The disk usage balancing algorithm is to choose the disk with the least space fo 562 </td> 641 </td> > 642 563 </tr> 643 </tr> > 644 564 </table> 645 </table> > 646 565 </div> 647 </div> 566 <h4 class="Subsubsection"> 648 <h4 class="Subsubsection"> 567 <a class="toc" name="toc-Subsubsection-0.3.2.2">0.3.2.2</a> runconfigs.config fi | 649 <a class="toc" name="toc-Subsubsection-0.3.3.2">0.3.3.2</a> runconfigs.config fi 568 </h4> 650 </h4> 569 <div class="Unindented"> 651 <div class="Unindented"> 570 < 571 <table> 652 <table> 572 < 573 <tr> 653 <tr> 574 < 575 <td align="left" valign="top"> 654 <td align="left" valign="top"> 576 section 655 section 577 </td> 656 </td> 578 <td align="left" valign="top"> 657 <td align="left" valign="top"> 579 variable 658 variable 580 </td> 659 </td> 581 <td align="left" valign="top"> 660 <td align="left" valign="top"> ................................................................................................................................................................................ 583 </td> 662 </td> 584 <td align="left" valign="top"> 663 <td align="left" valign="top"> 585 required? 664 required? 586 </td> 665 </td> 587 <td align="left" valign="top"> 666 <td align="left" valign="top"> 588 comment 667 comment 589 </td> 668 </td> > 669 590 </tr> 670 </tr> 591 <tr> 671 <tr> 592 < 593 <td align="left" valign="top"> 672 <td align="left" valign="top"> 594 [default] 673 [default] 595 </td> 674 </td> 596 <td align="left" valign="top"> 675 <td align="left" valign="top"> 597 string of letters, numbers and underscore 676 string of letters, numbers and underscore 598 </td> 677 </td> 599 <td align="left" valign="top"> 678 <td align="left" valign="top"> ................................................................................................................................................................................ 601 </td> 680 </td> 602 <td align="left" valign="top"> 681 <td align="left" valign="top"> 603 no 682 no 604 </td> 683 </td> 605 <td align="left" valign="top"> 684 <td align="left" valign="top"> 606 variables set in this section will be available for all runs, defining the same 685 variables set in this section will be available for all runs, defining the same 607 </td> 686 </td> > 687 608 </tr> 688 </tr> 609 <tr> 689 <tr> 610 < 611 <td align="left" valign="top"> 690 <td align="left" valign="top"> 612 [field1value/field2value...] 691 [field1value/field2value...] 613 </td> 692 </td> 614 <td align="left" valign="top"> 693 <td align="left" valign="top"> 615 string of letters, numbers and underscore 694 string of letters, numbers and underscore 616 </td> 695 </td> 617 <td align="left" valign="top"> 696 <td align="left" valign="top"> ................................................................................................................................................................................ 619 </td> 698 </td> 620 <td align="left" valign="top"> 699 <td align="left" valign="top"> 621 no 700 no 622 </td> 701 </td> 623 <td align="left" valign="top"> 702 <td align="left" valign="top"> 624 the values in this section will be set for any run where field1 is field1value, 703 the values in this section will be set for any run where field1 is field1value, 625 </td> 704 </td> > 705 626 </tr> 706 </tr> > 707 627 </table> 708 </table> > 709 628 </div> 710 </div> 629 <div class="Indented"> 711 <div class="Indented"> 630 Example: a test suite that checks that a piece of software works correctly for d 712 Example: a test suite that checks that a piece of software works correctly for d 631 </div> 713 </div> 632 <div class="Code"> 714 <div class="Code"> 633 # runconfigs.config 715 # runconfigs.config 634 </div> 716 </div> 635 <div class="Code"> 717 <div class="Code"> 636 [default] 718 [default] 637 </div> 719 </div> 638 <div class="Code"> 720 <div class="Code"> 639 ENCRYTION true 721 ENCRYTION true > 722 </div> > 723 <div class="Code"> > 724 # 640 </div> 725 </div> 641 <div class="Code"> 726 <div class="Code"> 642 [megacorp/india] 727 [megacorp/india] 643 </div> 728 </div> 644 <div class="Code"> 729 <div class="Code"> 645 TESTPATH /nfs/testing/megacorp_runs 730 TESTPATH /nfs/testing/megacorp_runs > 731 </div> > 732 <div class="Code"> > 733 # 646 </div> 734 </div> 647 <div class="Code"> 735 <div class="Code"> 648 [femtocorp/cook_islands] 736 [femtocorp/cook_islands] 649 </div> 737 </div> 650 <div class="Code"> 738 <div class="Code"> 651 ENCRYTION false 739 ENCRYTION false 652 </div> 740 </div> 653 <div class="Code"> 741 <div class="Code"> 654 TESTPATH /afs/kiatoa/testing/cook_islands 742 TESTPATH /afs/kiatoa/testing/cook_islands > 743 </div> > 744 <div class="Code"> > 745 # 655 </div> 746 </div> 656 <div class="Code"> 747 <div class="Code"> 657 [femtocorp/new_zealand] 748 [femtocorp/new_zealand] 658 </div> 749 </div> 659 <div class="Code"> 750 <div class="Code"> 660 TESTPATH /afs/kiatao/testing/new_zealand 751 TESTPATH /afs/kiatao/testing/new_zealand > 752 </div> > 753 <div class="Code"> > 754 # 661 </div> 755 </div> 662 <div class="Code"> 756 <div class="Code"> 663 [megacorp/new_zealand] 757 [megacorp/new_zealand] 664 </div> 758 </div> 665 <div class="Code"> 759 <div class="Code"> 666 TESTPATH /nfs/testing/megacorp_runs 760 TESTPATH /nfs/testing/megacorp_runs 667 </div> 761 </div> 668 <div class="Paragraph-"> 762 <div class="Paragraph-"> 669 <a class="toc" name="toc-Paragraph*-1"></a>Running megatest like this: | 763 <a class="toc" name="toc-Paragraph--1"></a>Running megatest like this: 670 </div> 764 </div> 671 <div class="Code"> 765 <div class="Code"> 672 megatest :CUSTOMER megacorp :LOCATION new_zealand :runname week12_2011_run1 -run 766 megatest :CUSTOMER megacorp :LOCATION new_zealand :runname week12_2011_run1 -run 673 </div> 767 </div> 674 <div class="Paragraph-"> 768 <div class="Paragraph-"> 675 <a class="toc" name="toc-Paragraph*-2"></a>Would set: | 769 <a class="toc" name="toc-Paragraph--2"></a>Would set: 676 </div> 770 </div> 677 <div class="Code"> 771 <div class="Code"> 678 ENCRYPTION true 772 ENCRYPTION true 679 </div> 773 </div> 680 <div class="Code"> 774 <div class="Code"> 681 TESTPATH /nfs/testing/megacorp_runs 775 TESTPATH /nfs/testing/megacorp_runs 682 </div> 776 </div> 683 <h3 class="Subsection"> 777 <h3 class="Subsection"> 684 <a class="toc" name="toc-Subsection-0.3.3">0.3.3</a> Writing tests | 778 <a class="toc" name="toc-Subsection-0.3.4">0.3.4</a> Writing tests 685 </h3> 779 </h3> 686 <h4 class="Subsubsection"> 780 <h4 class="Subsubsection"> 687 <a class="toc" name="toc-Subsubsection-0.3.3.1">0.3.3.1</a> testconfig file | 781 <a class="toc" name="toc-Subsubsection-0.3.4.1">0.3.4.1</a> testconfig file 688 </h4> 782 </h4> 689 <div class="Unindented"> 783 <div class="Unindented"> 690 < 691 <table> 784 <table> 692 < 693 <tr> 785 <tr> 694 < 695 <td align="left" valign="top"> 786 <td align="left" valign="top"> 696 section 787 section 697 </td> 788 </td> 698 <td align="left" valign="top"> 789 <td align="left" valign="top"> 699 variable 790 variable 700 </td> 791 </td> 701 <td align="left" valign="top"> 792 <td align="left" valign="top"> ................................................................................................................................................................................ 703 </td> 794 </td> 704 <td align="left" valign="top"> 795 <td align="left" valign="top"> 705 required? 796 required? 706 </td> 797 </td> 707 <td align="left" valign="top"> 798 <td align="left" valign="top"> 708 comments 799 comments 709 </td> 800 </td> > 801 710 </tr> 802 </tr> 711 <tr> 803 <tr> 712 < 713 <td align="left" valign="top"> 804 <td align="left" valign="top"> 714 [setup] 805 [setup] 715 </td> 806 </td> 716 <td align="left" valign="top"> 807 <td align="left" valign="top"> 717 runscript 808 runscript 718 </td> 809 </td> 719 <td align="left" valign="top"> 810 <td align="left" valign="top"> ................................................................................................................................................................................ 721 </td> 812 </td> 722 <td align="left" valign="top"> 813 <td align="left" valign="top"> 723 yes 814 yes 724 </td> 815 </td> 725 <td align="left" valign="top"> 816 <td align="left" valign="top"> 726 The script must be executable and either provide the full path or put a copy at 817 The script must be executable and either provide the full path or put a copy at 727 </td> 818 </td> > 819 728 </tr> 820 </tr> 729 <tr> 821 <tr> 730 < 731 <td align="left" valign="top"> 822 <td align="left" valign="top"> 732 [requirements] 823 [requirements] 733 </td> 824 </td> 734 <td align="left" valign="top"> 825 <td align="left" valign="top"> 735 waiton 826 waiton 736 </td> 827 </td> 737 <td align="left" valign="top"> 828 <td align="left" valign="top"> ................................................................................................................................................................................ 739 </td> 830 </td> 740 <td align="left" valign="top"> 831 <td align="left" valign="top"> 741 no 832 no 742 </td> 833 </td> 743 <td align="left" valign="top"> 834 <td align="left" valign="top"> 744 This test will not run until the named tests are state completed and status PASS 835 This test will not run until the named tests are state completed and status PASS 745 </td> 836 </td> > 837 746 </tr> 838 </tr> 747 <tr> 839 <tr> 748 < 749 <td align="left" valign="top"> 840 <td align="left" valign="top"> 750 [items] 841 [items] 751 </td> 842 </td> 752 <td align="left" valign="top"> 843 <td align="left" valign="top"> 753 any valid 844 any valid 754 </td> 845 </td> 755 <td align="left" valign="top"> 846 <td align="left" valign="top"> ................................................................................................................................................................................ 757 </td> 848 </td> 758 <td align="left" valign="top"> 849 <td align="left" valign="top"> 759 no 850 no 760 </td> 851 </td> 761 <td align="left" valign="top"> 852 <td align="left" valign="top"> 762 The test will be repeated once for each item with the variable name set to the v 853 The test will be repeated once for each item with the variable name set to the v 763 </td> 854 </td> > 855 > 856 </tr> > 857 > 858 </table> > 859 > 860 </div> > 861 <h3 class="Subsection"> > 862 <a class="toc" name="toc-Subsection-0.3.5">0.3.5</a> Command line > 863 </h3> > 864 <div class="Unindented"> > 865 <table> > 866 <tr> > 867 <td align="left" valign="top"> > 868 switch or param > 869 </td> > 870 <td align="left" valign="top"> > 871 parameter > 872 </td> > 873 <td align="left" valign="top"> > 874 purpose > 875 </td> > 876 <td align="left" valign="top"> > 877 comments > 878 </td> > 879 > 880 </tr> > 881 <tr> > 882 <td align="left" valign="top"> > 883 -h > 884 </td> > 885 <td align="left" valign="top"> > 886 > 887 </td> > 888 <td align="left" valign="top"> > 889 brief help > 890 </td> > 891 <td align="left" valign="top"> > 892 > 893 </td> > 894 > 895 </tr> > 896 <tr> > 897 <td align="left" valign="top"> > 898 -runall > 899 </td> > 900 <td align="left" valign="top"> > 901 > 902 </td> > 903 <td align="left" valign="top"> > 904 run all tests > 905 </td> > 906 <td align="left" valign="top"> > 907 > 908 </td> > 909 > 910 </tr> > 911 <tr> > 912 <td align="left" valign="top"> > 913 -runtests > 914 </td> > 915 <td align="left" valign="top"> > 916 test1,test2,... > 917 </td> > 918 <td align="left" valign="top"> > 919 run one or more tests > 920 </td> > 921 <td align="left" valign="top"> > 922 > 923 </td> > 924 > 925 </tr> > 926 <tr> > 927 <td align="left" valign="top"> > 928 -step > 929 </td> > 930 <td align="left" valign="top"> > 931 stepname > 932 </td> > 933 <td align="left" valign="top"> > 934 record a step > 935 </td> > 936 <td align="left" valign="top"> > 937 requires :state and :status > 938 </td> > 939 > 940 </tr> > 941 <tr> > 942 <td align="left" valign="top"> > 943 -test-status > 944 </td> > 945 <td align="left" valign="top"> > 946 > 947 </td> > 948 <td align="left" valign="top"> > 949 record the test status > 950 </td> > 951 <td align="left" valign="top"> > 952 requires :state and :status > 953 </td> > 954 > 955 </tr> > 956 <tr> > 957 <td align="left" valign="top"> > 958 -setlog > 959 </td> > 960 <td align="left" valign="top"> > 961 logfilename > 962 </td> > 963 <td align="left" valign="top"> > 964 set the logfile name for a test > 965 </td> > 966 <td align="left" valign="top"> > 967 path is assumed to be relative to the test run directory > 968 </td> > 969 > 970 </tr> > 971 <tr> > 972 <td align="left" valign="top"> > 973 -set-toplog > 974 </td> > 975 <td align="left" valign="top"> > 976 logfilename > 977 </td> > 978 <td align="left" valign="top"> > 979 set the logfile name for the top test in an iterated test run > 980 </td> > 981 <td align="left" valign="top"> > 982 each sub test can have its own logfile set > 983 </td> > 984 > 985 </tr> > 986 <tr> > 987 <td align="left" valign="top"> > 988 -m > 989 </td> > 990 <td align="left" valign="top"> > 991 “comment” > 992 </td> > 993 <td align="left" valign="top"> > 994 sets a comment for the step, test or run > 995 </td> > 996 <td align="left" valign="top"> > 997 > 998 </td> > 999 > 1000 </tr> > 1001 <tr> > 1002 <td align="left" valign="top"> > 1003 :runname > 1004 </td> > 1005 <td align="left" valign="top"> > 1006 > 1007 </td> > 1008 <td align="left" valign="top"> > 1009 > 1010 </td> > 1011 <td align="left" valign="top"> > 1012 > 1013 </td> > 1014 > 1015 </tr> > 1016 <tr> > 1017 <td align="left" valign="top"> > 1018 :state > 1019 </td> > 1020 <td align="left" valign="top"> > 1021 > 1022 </td> > 1023 <td align="left" valign="top"> > 1024 > 1025 </td> > 1026 <td align="left" valign="top"> > 1027 > 1028 </td> > 1029 > 1030 </tr> > 1031 <tr> > 1032 <td align="left" valign="top"> > 1033 :status > 1034 </td> > 1035 <td align="left" valign="top"> > 1036 > 1037 </td> > 1038 <td align="left" valign="top"> > 1039 > 1040 </td> > 1041 <td align="left" valign="top"> > 1042 > 1043 </td> > 1044 > 1045 </tr> > 1046 <tr> > 1047 <td align="left" valign="top"> > 1048 -list-runs > 1049 </td> > 1050 <td align="left" valign="top"> > 1051 > 1052 </td> > 1053 <td align="left" valign="top"> > 1054 > 1055 </td> > 1056 <td align="left" valign="top"> > 1057 > 1058 </td> > 1059 > 1060 </tr> > 1061 <tr> > 1062 <td align="left" valign="top"> > 1063 -testpatt > 1064 </td> > 1065 <td align="left" valign="top"> > 1066 > 1067 </td> > 1068 <td align="left" valign="top"> > 1069 > 1070 </td> > 1071 <td align="left" valign="top"> > 1072 > 1073 </td> > 1074 > 1075 </tr> > 1076 <tr> > 1077 <td align="left" valign="top"> > 1078 -itempatt > 1079 </td> > 1080 <td align="left" valign="top"> > 1081 > 1082 </td> > 1083 <td align="left" valign="top"> > 1084 > 1085 </td> > 1086 <td align="left" valign="top"> > 1087 > 1088 </td> > 1089 > 1090 </tr> > 1091 <tr> > 1092 <td align="left" valign="top"> > 1093 -showkeys > 1094 </td> > 1095 <td align="left" valign="top"> > 1096 > 1097 </td> > 1098 <td align="left" valign="top"> > 1099 > 1100 </td> > 1101 <td align="left" valign="top"> > 1102 > 1103 </td> > 1104 > 1105 </tr> > 1106 <tr> > 1107 <td align="left" valign="top"> > 1108 -force > 1109 </td> > 1110 <td align="left" valign="top"> > 1111 > 1112 </td> > 1113 <td align="left" valign="top"> > 1114 > 1115 </td> > 1116 <td align="left" valign="top"> > 1117 > 1118 </td> > 1119 > 1120 </tr> > 1121 <tr> > 1122 <td align="left" valign="top"> > 1123 -xterm > 1124 </td> > 1125 <td align="left" valign="top"> > 1126 > 1127 </td> > 1128 <td align="left" valign="top"> > 1129 > 1130 </td> > 1131 <td align="left" valign="top"> > 1132 > 1133 </td> > 1134 > 1135 </tr> > 1136 <tr> > 1137 <td align="left" valign="top"> > 1138 -remove-runs > 1139 </td> > 1140 <td align="left" valign="top"> > 1141 > 1142 </td> > 1143 <td align="left" valign="top"> > 1144 > 1145 </td> > 1146 <td align="left" valign="top"> > 1147 > 1148 </td> > 1149 > 1150 </tr> > 1151 <tr> > 1152 <td align="left" valign="top"> > 1153 <i>Test helpers</i> > 1154 </td> > 1155 <td align="left" valign="top"> > 1156 > 1157 </td> > 1158 <td align="left" valign="top"> > 1159 > 1160 </td> > 1161 <td align="left" valign="top"> > 1162 > 1163 </td> > 1164 > 1165 </tr> > 1166 <tr> > 1167 <td align="left" valign="top"> > 1168 -runstep > 1169 </td> > 1170 <td align="left" valign="top"> > 1171 > 1172 </td> > 1173 <td align="left" valign="top"> > 1174 > 1175 </td> > 1176 <td align="left" valign="top"> > 1177 > 1178 </td> > 1179 > 1180 </tr> > 1181 <tr> > 1182 <td align="left" valign="top"> > 1183 -logpro > 1184 </td> > 1185 <td align="left" valign="top"> > 1186 > 1187 </td> > 1188 <td align="left" valign="top"> > 1189 > 1190 </td> > 1191 <td align="left" valign="top"> > 1192 > 1193 </td> > 1194 764 </tr> 1195 </tr> > 1196 765 </table> 1197 </table> > 1198 766 </div> 1199 </div> 767 1200 768 <hr/> | 1201 <hr class="footer"/> 769 <p>Copyright (C) 2011 Matt Welland</p> | 1202 <div class="footer" id="generated-by"> > 1203 Document generated by <a href="http://elyxer.nongnu.org/">eLyXer 1.0.0 (2010-07- > 1204 </div> 770 </div> 1205 </div> 771 </body> 1206 </body> 772 </html> 1207 </html>

Modified docs/megatest.lyx from [02fd91e2e51d6609] to [b50d911082597cbf].

1 #LyX 1.6.5 created this file. For more info see http://www.lyx.org/ | 1 #LyX 2.0 created this file. For more info see http://www.lyx.org/ 2 \lyxformat 345 | 2 \lyxformat 413 3 \begin_document 3 \begin_document 4 \begin_header 4 \begin_header 5 \textclass docbook-book 5 \textclass docbook-book 6 \use_default_options false 6 \use_default_options false > 7 \maintain_unincluded_children false 7 \language english 8 \language english > 9 \language_package default 8 \inputencoding auto 10 \inputencoding auto > 11 \fontencoding global 9 \font_roman default 12 \font_roman default 10 \font_sans default 13 \font_sans default 11 \font_typewriter default 14 \font_typewriter default 12 \font_default_family default 15 \font_default_family default > 16 \use_non_tex_fonts false 13 \font_sc false 17 \font_sc false 14 \font_osf false 18 \font_osf false 15 \font_sf_scale 100 19 \font_sf_scale 100 16 \font_tt_scale 100 20 \font_tt_scale 100 17 21 18 \graphics default 22 \graphics default > 23 \default_output_format default > 24 \output_sync 0 > 25 \bibtex_command default > 26 \index_command default 19 \paperfontsize default 27 \paperfontsize default 20 \spacing single 28 \spacing single 21 \use_hyperref false 29 \use_hyperref false 22 \papersize default 30 \papersize default 23 \use_geometry false 31 \use_geometry false 24 \use_amsmath 0 32 \use_amsmath 0 25 \use_esint 0 33 \use_esint 0 > 34 \use_mhchem 1 > 35 \use_mathdots 1 26 \cite_engine basic 36 \cite_engine basic 27 \use_bibtopic false 37 \use_bibtopic false > 38 \use_indices false 28 \paperorientation portrait 39 \paperorientation portrait > 40 \suppress_date false > 41 \use_refstyle 0 > 42 \index Index > 43 \shortcut idx > 44 \color #008000 > 45 \end_index 29 \secnumdepth 3 46 \secnumdepth 3 30 \tocdepth 3 47 \tocdepth 3 31 \paragraph_separation indent 48 \paragraph_separation indent 32 \defskip medskip | 49 \paragraph_indentation default 33 \quotes_language english 50 \quotes_language english 34 \papercolumns 1 51 \papercolumns 1 35 \papersides 1 52 \papersides 1 36 \paperpagestyle default 53 \paperpagestyle default 37 \tracking_changes false 54 \tracking_changes false 38 \output_changes false 55 \output_changes false 39 \author "" | 56 \html_math_output 0 40 \author "" | 57 \html_css_as_file 0 > 58 \html_be_strict false 41 \end_header 59 \end_header 42 60 43 \begin_body 61 \begin_body 44 62 45 \begin_layout Title 63 \begin_layout Title 46 Megatest 64 Megatest 47 \end_layout 65 \end_layout ................................................................................................................................................................................ 329 \begin_layout Code 347 \begin_layout Code 330 watch megatest -list-runs % 348 watch megatest -list-runs % 331 \end_layout 349 \end_layout 332 350 333 \begin_layout Section 351 \begin_layout Section 334 Reference 352 Reference 335 \end_layout 353 \end_layout > 354 > 355 \begin_layout Subsection > 356 Configuration files > 357 \end_layout > 358 > 359 \begin_layout Subsubsection > 360 Sections > 361 \end_layout > 362 > 363 \begin_layout Standard > 364 [section name] > 365 \end_layout > 366 > 367 \begin_layout Standard > 368 This creates a section named > 369 \begin_inset Quotes eld > 370 \end_inset > 371 > 372 section name > 373 \begin_inset Quotes erd > 374 \end_inset > 375 > 376 > 377 \end_layout > 378 > 379 \begin_layout Subsubsection > 380 Variables > 381 \end_layout > 382 > 383 \begin_layout Standard > 384 VARX has this value > 385 \end_layout > 386 > 387 \begin_layout Standard > 388 The variable > 389 \begin_inset Quotes eld > 390 \end_inset > 391 > 392 VARX > 393 \begin_inset Quotes erd > 394 \end_inset > 395 > 396 will have the value > 397 \begin_inset Quotes eld > 398 \end_inset > 399 > 400 has this value > 401 \begin_inset Quotes erd > 402 \end_inset > 403 > 404 > 405 \end_layout > 406 > 407 \begin_layout Subsubsection > 408 Includes > 409 \end_layout > 410 > 411 \begin_layout Standard > 412 [include filename] > 413 \end_layout > 414 > 415 \begin_layout Standard > 416 The file named > 417 \begin_inset Quotes eld > 418 \end_inset > 419 > 420 filename > 421 \begin_inset Quotes erd > 422 \end_inset > 423 > 424 will be included as if part of the calling file. > 425 NOTE: This means no section can be named > 426 \begin_inset Quotes eld > 427 \end_inset > 428 > 429 include > 430 \begin_inset Quotes eld > 431 \end_inset > 432 > 433 (with the whitespace). > 434 \end_layout > 435 > 436 \begin_layout Subsubsection > 437 Setting a variable by running a command > 438 \end_layout > 439 > 440 \begin_layout Standard > 441 VARNAME [system ls /tmp] > 442 \end_layout > 443 > 444 \begin_layout Standard > 445 The variable > 446 \begin_inset Quotes eld > 447 \end_inset > 448 > 449 VARNAME > 450 \begin_inset Quotes erd > 451 \end_inset > 452 > 453 will get a value created by the Unix command > 454 \begin_inset Quotes eld > 455 \end_inset > 456 > 457 ls /tmp > 458 \begin_inset Quotes erd > 459 \end_inset > 460 > 461 . > 462 All lines of output from the command will be joined with a space. > 463 \end_layout > 464 > 465 \begin_layout Subsubsection > 466 Notes > 467 \end_layout > 468 > 469 \begin_layout Itemize > 470 Some variables are infered as lists. > 471 Each token on the line separated by whitespace will be member of the list. > 472 \end_layout > 473 > 474 \begin_layout Itemize > 475 Comments (lines starting with #) and blank lines are ignored. > 476 \end_layout 336 477 337 \begin_layout Subsection 478 \begin_layout Subsection 338 Environment variables 479 Environment variables 339 \end_layout 480 \end_layout 340 481 341 \begin_layout Standard 482 \begin_layout Standard 342 \begin_inset Tabular 483 \begin_inset Tabular 343 <lyxtabular version="3" rows="8" columns="3"> | 484 <lyxtabular version="3" rows="9" columns="3"> 344 <features> | 485 <features tabularvalignment="middle"> 345 <column alignment="left" valignment="top" width="0"> 486 <column alignment="left" valignment="top" width="0"> 346 <column alignment="left" valignment="top" width="0"> 487 <column alignment="left" valignment="top" width="0"> 347 <column alignment="left" valignment="top" width="0"> 488 <column alignment="left" valignment="top" width="0"> 348 <row> 489 <row> 349 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin 490 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin 350 \begin_inset Text 491 \begin_inset Text 351 492 ................................................................................................................................................................................ 556 697 557 \end_inset 698 \end_inset 558 </cell> 699 </cell> 559 </row> 700 </row> 560 <row> 701 <row> 561 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= 702 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= 562 \begin_inset Text 703 \begin_inset Text > 704 > 705 \begin_layout Plain Layout > 706 MT_MEGATEST > 707 \end_layout > 708 > 709 \end_inset > 710 </cell> > 711 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 712 \begin_inset Text > 713 > 714 \begin_layout Plain Layout > 715 Path/Filename to megatest executable. > 716 Found either from called path or but using the > 717 \begin_inset Quotes eld > 718 \end_inset > 719 > 720 exectuable > 721 \begin_inset Quotes erd > 722 \end_inset > 723 > 724 keyword in the [setup] section. > 725 \end_layout > 726 > 727 \end_inset > 728 </cell> > 729 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 730 \begin_inset Text > 731 > 732 \begin_layout Plain Layout > 733 > 734 \end_layout > 735 > 736 \end_inset > 737 </cell> > 738 </row> > 739 <row> > 740 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 741 \begin_inset Text 563 742 564 \begin_layout Plain Layout 743 \begin_layout Plain Layout 565 <field1> .... 744 <field1> .... 566 \end_layout 745 \end_layout 567 746 568 \end_inset 747 \end_inset 569 </cell> 748 </cell> ................................................................................................................................................................................ 602 \begin_layout Subsubsection 781 \begin_layout Subsubsection 603 megatest.config 782 megatest.config 604 \end_layout 783 \end_layout 605 784 606 \begin_layout Standard 785 \begin_layout Standard 607 \begin_inset Tabular 786 \begin_inset Tabular 608 <lyxtabular version="3" rows="9" columns="5"> 787 <lyxtabular version="3" rows="9" columns="5"> 609 <features> | 788 <features tabularvalignment="middle"> 610 <column alignment="left" valignment="top" width="0"> 789 <column alignment="left" valignment="top" width="0"> 611 <column alignment="left" valignment="top" width="0"> 790 <column alignment="left" valignment="top" width="0"> 612 <column alignment="left" valignment="top" width="0"> 791 <column alignment="left" valignment="top" width="0"> 613 <column alignment="left" valignment="top" width="0"> 792 <column alignment="left" valignment="top" width="0"> 614 <column alignment="left" valignment="top" width="0"> 793 <column alignment="left" valignment="top" width="0"> 615 <row> 794 <row> 616 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin 795 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin ................................................................................................................................................................................ 1052 \begin_layout Subsubsection 1231 \begin_layout Subsubsection 1053 runconfigs.config file 1232 runconfigs.config file 1054 \end_layout 1233 \end_layout 1055 1234 1056 \begin_layout Standard 1235 \begin_layout Standard 1057 \begin_inset Tabular 1236 \begin_inset Tabular 1058 <lyxtabular version="3" rows="3" columns="5"> 1237 <lyxtabular version="3" rows="3" columns="5"> 1059 <features> | 1238 <features tabularvalignment="middle"> 1060 <column alignment="left" valignment="top" width="0"> 1239 <column alignment="left" valignment="top" width="0"> 1061 <column alignment="left" valignment="top" width="0"> 1240 <column alignment="left" valignment="top" width="0"> 1062 <column alignment="left" valignment="top" width="0"> 1241 <column alignment="left" valignment="top" width="0"> 1063 <column alignment="left" valignment="top" width="0"> 1242 <column alignment="left" valignment="top" width="0"> 1064 <column alignment="left" valignment="top" width="0"> 1243 <column alignment="left" valignment="top" width="0"> 1065 <row> 1244 <row> 1066 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin 1245 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin ................................................................................................................................................................................ 1230 \begin_layout Code 1409 \begin_layout Code 1231 [default] 1410 [default] 1232 \end_layout 1411 \end_layout 1233 1412 1234 \begin_layout Code 1413 \begin_layout Code 1235 ENCRYTION true 1414 ENCRYTION true 1236 \end_layout 1415 \end_layout > 1416 > 1417 \begin_layout Code > 1418 # > 1419 \end_layout 1237 1420 1238 \begin_layout Code 1421 \begin_layout Code 1239 [megacorp/india] 1422 [megacorp/india] 1240 \end_layout 1423 \end_layout 1241 1424 1242 \begin_layout Code 1425 \begin_layout Code 1243 TESTPATH /nfs/testing/megacorp_runs 1426 TESTPATH /nfs/testing/megacorp_runs 1244 \end_layout 1427 \end_layout > 1428 > 1429 \begin_layout Code > 1430 # > 1431 \end_layout 1245 1432 1246 \begin_layout Code 1433 \begin_layout Code 1247 [femtocorp/cook_islands] 1434 [femtocorp/cook_islands] 1248 \end_layout 1435 \end_layout 1249 1436 1250 \begin_layout Code 1437 \begin_layout Code 1251 ENCRYTION false 1438 ENCRYTION false 1252 \end_layout 1439 \end_layout 1253 1440 1254 \begin_layout Code 1441 \begin_layout Code 1255 TESTPATH /afs/kiatoa/testing/cook_islands 1442 TESTPATH /afs/kiatoa/testing/cook_islands 1256 \end_layout 1443 \end_layout > 1444 > 1445 \begin_layout Code > 1446 # > 1447 \end_layout 1257 1448 1258 \begin_layout Code 1449 \begin_layout Code 1259 [femtocorp/new_zealand] 1450 [femtocorp/new_zealand] 1260 \end_layout 1451 \end_layout 1261 1452 1262 \begin_layout Code 1453 \begin_layout Code 1263 TESTPATH /afs/kiatao/testing/new_zealand 1454 TESTPATH /afs/kiatao/testing/new_zealand 1264 \end_layout 1455 \end_layout > 1456 > 1457 \begin_layout Code > 1458 # > 1459 \end_layout 1265 1460 1266 \begin_layout Code 1461 \begin_layout Code 1267 [megacorp/new_zealand] 1462 [megacorp/new_zealand] 1268 \end_layout 1463 \end_layout 1269 1464 1270 \begin_layout Code 1465 \begin_layout Code 1271 TESTPATH /nfs/testing/megacorp_runs 1466 TESTPATH /nfs/testing/megacorp_runs ................................................................................................................................................................................ 1299 \begin_layout Subsubsection 1494 \begin_layout Subsubsection 1300 testconfig file 1495 testconfig file 1301 \end_layout 1496 \end_layout 1302 1497 1303 \begin_layout Standard 1498 \begin_layout Standard 1304 \begin_inset Tabular 1499 \begin_inset Tabular 1305 <lyxtabular version="3" rows="4" columns="5"> 1500 <lyxtabular version="3" rows="4" columns="5"> 1306 <features> | 1501 <features tabularvalignment="middle"> 1307 <column alignment="left" valignment="top" width="0"> 1502 <column alignment="left" valignment="top" width="0"> 1308 <column alignment="left" valignment="top" width="0"> 1503 <column alignment="left" valignment="top" width="0"> 1309 <column alignment="left" valignment="top" width="0"> 1504 <column alignment="left" valignment="top" width="0"> 1310 <column alignment="left" valignment="top" width="0"> 1505 <column alignment="left" valignment="top" width="0"> 1311 <column alignment="left" valignment="top" width="0"> 1506 <column alignment="left" valignment="top" width="0"> 1312 <row> 1507 <row> 1313 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin 1508 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin ................................................................................................................................................................................ 1493 \begin_inset Text 1688 \begin_inset Text 1494 1689 1495 \begin_layout Plain Layout 1690 \begin_layout Plain Layout 1496 The test will be repeated once for each item with the variable name set 1691 The test will be repeated once for each item with the variable name set 1497 to the value. 1692 to the value. 1498 If there is more than one variable then the test will be run against all 1693 If there is more than one variable then the test will be run against all 1499 unique combinations of the values 1694 unique combinations of the values > 1695 \end_layout > 1696 > 1697 \end_inset > 1698 </cell> > 1699 </row> > 1700 </lyxtabular> > 1701 > 1702 \end_inset > 1703 > 1704 > 1705 \end_layout > 1706 > 1707 \begin_layout Subsection > 1708 Command line > 1709 \end_layout > 1710 > 1711 \begin_layout Standard > 1712 \begin_inset Tabular > 1713 <lyxtabular version="3" rows="22" columns="4"> > 1714 <features tabularvalignment="middle"> > 1715 <column alignment="left" valignment="top" width="0"> > 1716 <column alignment="left" valignment="top" width="0"> > 1717 <column alignment="left" valignment="top" width="0"> > 1718 <column alignment="left" valignment="top" width="0"> > 1719 <row> > 1720 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin > 1721 \begin_inset Text > 1722 > 1723 \begin_layout Plain Layout > 1724 switch or param > 1725 \end_layout > 1726 > 1727 \end_inset > 1728 </cell> > 1729 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin > 1730 \begin_inset Text > 1731 > 1732 \begin_layout Plain Layout > 1733 parameter > 1734 \end_layout > 1735 > 1736 \end_inset > 1737 </cell> > 1738 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin > 1739 \begin_inset Text > 1740 > 1741 \begin_layout Plain Layout > 1742 purpose > 1743 \end_layout > 1744 > 1745 \end_inset > 1746 </cell> > 1747 <cell alignment="left" valignment="top" topline="true" bottomline="true" leftlin > 1748 \begin_inset Text > 1749 > 1750 \begin_layout Plain Layout > 1751 comments > 1752 \end_layout > 1753 > 1754 \end_inset > 1755 </cell> > 1756 </row> > 1757 <row> > 1758 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="n > 1759 \begin_inset Text > 1760 > 1761 \begin_layout Plain Layout > 1762 -h > 1763 \end_layout > 1764 > 1765 \end_inset > 1766 </cell> > 1767 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="n > 1768 \begin_inset Text > 1769 > 1770 \begin_layout Plain Layout > 1771 > 1772 \end_layout > 1773 > 1774 \end_inset > 1775 </cell> > 1776 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="n > 1777 \begin_inset Text > 1778 > 1779 \begin_layout Plain Layout > 1780 brief help > 1781 \end_layout > 1782 > 1783 \end_inset > 1784 </cell> > 1785 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline > 1786 \begin_inset Text > 1787 > 1788 \begin_layout Plain Layout > 1789 > 1790 \end_layout > 1791 > 1792 \end_inset > 1793 </cell> > 1794 </row> > 1795 <row> > 1796 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="n > 1797 \begin_inset Text > 1798 > 1799 \begin_layout Plain Layout > 1800 -runall > 1801 \end_layout > 1802 > 1803 \end_inset > 1804 </cell> > 1805 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="n > 1806 \begin_inset Text > 1807 > 1808 \begin_layout Plain Layout > 1809 > 1810 \end_layout > 1811 > 1812 \end_inset > 1813 </cell> > 1814 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="n > 1815 \begin_inset Text > 1816 > 1817 \begin_layout Plain Layout > 1818 run all tests > 1819 \end_layout > 1820 > 1821 \end_inset > 1822 </cell> > 1823 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline > 1824 \begin_inset Text > 1825 > 1826 \begin_layout Plain Layout > 1827 > 1828 \end_layout > 1829 > 1830 \end_inset > 1831 </cell> > 1832 </row> > 1833 <row> > 1834 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="n > 1835 \begin_inset Text > 1836 > 1837 \begin_layout Plain Layout > 1838 -runtests > 1839 \end_layout > 1840 > 1841 \end_inset > 1842 </cell> > 1843 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="n > 1844 \begin_inset Text > 1845 > 1846 \begin_layout Plain Layout > 1847 test1,test2,... > 1848 \end_layout > 1849 > 1850 \end_inset > 1851 </cell> > 1852 <cell alignment="left" valignment="top" topline="true" leftline="true" usebox="n > 1853 \begin_inset Text > 1854 > 1855 \begin_layout Plain Layout > 1856 run one or more tests > 1857 \end_layout > 1858 > 1859 \end_inset > 1860 </cell> > 1861 <cell alignment="left" valignment="top" topline="true" leftline="true" rightline > 1862 \begin_inset Text > 1863 > 1864 \begin_layout Plain Layout > 1865 > 1866 \end_layout > 1867 > 1868 \end_inset > 1869 </cell> > 1870 </row> > 1871 <row> > 1872 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1873 \begin_inset Text > 1874 > 1875 \begin_layout Plain Layout > 1876 -step > 1877 \end_layout > 1878 > 1879 \end_inset > 1880 </cell> > 1881 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1882 \begin_inset Text > 1883 > 1884 \begin_layout Plain Layout > 1885 stepname > 1886 \end_layout > 1887 > 1888 \end_inset > 1889 </cell> > 1890 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1891 \begin_inset Text > 1892 > 1893 \begin_layout Plain Layout > 1894 record a step > 1895 \end_layout > 1896 > 1897 \end_inset > 1898 </cell> > 1899 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 1900 \begin_inset Text > 1901 > 1902 \begin_layout Plain Layout > 1903 requires :state and :status > 1904 \end_layout > 1905 > 1906 \end_inset > 1907 </cell> > 1908 </row> > 1909 <row> > 1910 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1911 \begin_inset Text > 1912 > 1913 \begin_layout Plain Layout > 1914 -test-status > 1915 \end_layout > 1916 > 1917 \end_inset > 1918 </cell> > 1919 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1920 \begin_inset Text > 1921 > 1922 \begin_layout Plain Layout > 1923 > 1924 \end_layout > 1925 > 1926 \end_inset > 1927 </cell> > 1928 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1929 \begin_inset Text > 1930 > 1931 \begin_layout Plain Layout > 1932 record the test status > 1933 \end_layout > 1934 > 1935 \end_inset > 1936 </cell> > 1937 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 1938 \begin_inset Text > 1939 > 1940 \begin_layout Plain Layout > 1941 requires :state and :status > 1942 \end_layout > 1943 > 1944 \end_inset > 1945 </cell> > 1946 </row> > 1947 <row> > 1948 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1949 \begin_inset Text > 1950 > 1951 \begin_layout Plain Layout > 1952 -setlog > 1953 \end_layout > 1954 > 1955 \end_inset > 1956 </cell> > 1957 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1958 \begin_inset Text > 1959 > 1960 \begin_layout Plain Layout > 1961 logfilename > 1962 \end_layout > 1963 > 1964 \end_inset > 1965 </cell> > 1966 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1967 \begin_inset Text > 1968 > 1969 \begin_layout Plain Layout > 1970 set the logfile name for a test > 1971 \end_layout > 1972 > 1973 \end_inset > 1974 </cell> > 1975 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 1976 \begin_inset Text > 1977 > 1978 \begin_layout Plain Layout > 1979 path is assumed to be relative to the test run directory > 1980 \end_layout > 1981 > 1982 \end_inset > 1983 </cell> > 1984 </row> > 1985 <row> > 1986 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1987 \begin_inset Text > 1988 > 1989 \begin_layout Plain Layout > 1990 -set-toplog > 1991 \end_layout > 1992 > 1993 \end_inset > 1994 </cell> > 1995 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 1996 \begin_inset Text > 1997 > 1998 \begin_layout Plain Layout > 1999 logfilename > 2000 \end_layout > 2001 > 2002 \end_inset > 2003 </cell> > 2004 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2005 \begin_inset Text > 2006 > 2007 \begin_layout Plain Layout > 2008 set the logfile name for the top test in an iterated test run > 2009 \end_layout > 2010 > 2011 \end_inset > 2012 </cell> > 2013 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2014 \begin_inset Text > 2015 > 2016 \begin_layout Plain Layout > 2017 each sub test can have its own logfile set > 2018 \end_layout > 2019 > 2020 \end_inset > 2021 </cell> > 2022 </row> > 2023 <row> > 2024 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2025 \begin_inset Text > 2026 > 2027 \begin_layout Plain Layout > 2028 -m > 2029 \end_layout > 2030 > 2031 \end_inset > 2032 </cell> > 2033 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2034 \begin_inset Text > 2035 > 2036 \begin_layout Plain Layout > 2037 \begin_inset Quotes eld > 2038 \end_inset > 2039 > 2040 comment > 2041 \begin_inset Quotes erd > 2042 \end_inset > 2043 > 2044 > 2045 \end_layout > 2046 > 2047 \end_inset > 2048 </cell> > 2049 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2050 \begin_inset Text > 2051 > 2052 \begin_layout Plain Layout > 2053 sets a comment for the step, test or run > 2054 \end_layout > 2055 > 2056 \end_inset > 2057 </cell> > 2058 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2059 \begin_inset Text > 2060 > 2061 \begin_layout Plain Layout > 2062 > 2063 \end_layout > 2064 > 2065 \end_inset > 2066 </cell> > 2067 </row> > 2068 <row> > 2069 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2070 \begin_inset Text > 2071 > 2072 \begin_layout Plain Layout > 2073 :runname > 2074 \end_layout > 2075 > 2076 \end_inset > 2077 </cell> > 2078 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2079 \begin_inset Text > 2080 > 2081 \begin_layout Plain Layout > 2082 > 2083 \end_layout > 2084 > 2085 \end_inset > 2086 </cell> > 2087 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2088 \begin_inset Text > 2089 > 2090 \begin_layout Plain Layout > 2091 > 2092 \end_layout > 2093 > 2094 \end_inset > 2095 </cell> > 2096 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2097 \begin_inset Text > 2098 > 2099 \begin_layout Plain Layout > 2100 > 2101 \end_layout > 2102 > 2103 \end_inset > 2104 </cell> > 2105 </row> > 2106 <row> > 2107 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2108 \begin_inset Text > 2109 > 2110 \begin_layout Plain Layout > 2111 :state > 2112 \end_layout > 2113 > 2114 \end_inset > 2115 </cell> > 2116 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2117 \begin_inset Text > 2118 > 2119 \begin_layout Plain Layout > 2120 > 2121 \end_layout > 2122 > 2123 \end_inset > 2124 </cell> > 2125 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2126 \begin_inset Text > 2127 > 2128 \begin_layout Plain Layout > 2129 > 2130 \end_layout > 2131 > 2132 \end_inset > 2133 </cell> > 2134 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2135 \begin_inset Text > 2136 > 2137 \begin_layout Plain Layout > 2138 > 2139 \end_layout > 2140 > 2141 \end_inset > 2142 </cell> > 2143 </row> > 2144 <row> > 2145 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2146 \begin_inset Text > 2147 > 2148 \begin_layout Plain Layout > 2149 :status > 2150 \end_layout > 2151 > 2152 \end_inset > 2153 </cell> > 2154 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2155 \begin_inset Text > 2156 > 2157 \begin_layout Plain Layout > 2158 > 2159 \end_layout > 2160 > 2161 \end_inset > 2162 </cell> > 2163 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2164 \begin_inset Text > 2165 > 2166 \begin_layout Plain Layout > 2167 > 2168 \end_layout > 2169 > 2170 \end_inset > 2171 </cell> > 2172 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2173 \begin_inset Text > 2174 > 2175 \begin_layout Plain Layout > 2176 > 2177 \end_layout > 2178 > 2179 \end_inset > 2180 </cell> > 2181 </row> > 2182 <row> > 2183 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2184 \begin_inset Text > 2185 > 2186 \begin_layout Plain Layout > 2187 -list-runs > 2188 \end_layout > 2189 > 2190 \end_inset > 2191 </cell> > 2192 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2193 \begin_inset Text > 2194 > 2195 \begin_layout Plain Layout > 2196 > 2197 \end_layout > 2198 > 2199 \end_inset > 2200 </cell> > 2201 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2202 \begin_inset Text > 2203 > 2204 \begin_layout Plain Layout > 2205 > 2206 \end_layout > 2207 > 2208 \end_inset > 2209 </cell> > 2210 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2211 \begin_inset Text > 2212 > 2213 \begin_layout Plain Layout > 2214 > 2215 \end_layout > 2216 > 2217 \end_inset > 2218 </cell> > 2219 </row> > 2220 <row> > 2221 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2222 \begin_inset Text > 2223 > 2224 \begin_layout Plain Layout > 2225 -testpatt > 2226 \end_layout > 2227 > 2228 \end_inset > 2229 </cell> > 2230 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2231 \begin_inset Text > 2232 > 2233 \begin_layout Plain Layout > 2234 > 2235 \end_layout > 2236 > 2237 \end_inset > 2238 </cell> > 2239 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2240 \begin_inset Text > 2241 > 2242 \begin_layout Plain Layout > 2243 > 2244 \end_layout > 2245 > 2246 \end_inset > 2247 </cell> > 2248 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2249 \begin_inset Text > 2250 > 2251 \begin_layout Plain Layout > 2252 > 2253 \end_layout > 2254 > 2255 \end_inset > 2256 </cell> > 2257 </row> > 2258 <row> > 2259 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2260 \begin_inset Text > 2261 > 2262 \begin_layout Plain Layout > 2263 -itempatt > 2264 \end_layout > 2265 > 2266 \end_inset > 2267 </cell> > 2268 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2269 \begin_inset Text > 2270 > 2271 \begin_layout Plain Layout > 2272 > 2273 \end_layout > 2274 > 2275 \end_inset > 2276 </cell> > 2277 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2278 \begin_inset Text > 2279 > 2280 \begin_layout Plain Layout > 2281 > 2282 \end_layout > 2283 > 2284 \end_inset > 2285 </cell> > 2286 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2287 \begin_inset Text > 2288 > 2289 \begin_layout Plain Layout > 2290 > 2291 \end_layout > 2292 > 2293 \end_inset > 2294 </cell> > 2295 </row> > 2296 <row> > 2297 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2298 \begin_inset Text > 2299 > 2300 \begin_layout Plain Layout > 2301 -showkeys > 2302 \end_layout > 2303 > 2304 \end_inset > 2305 </cell> > 2306 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2307 \begin_inset Text > 2308 > 2309 \begin_layout Plain Layout > 2310 > 2311 \end_layout > 2312 > 2313 \end_inset > 2314 </cell> > 2315 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2316 \begin_inset Text > 2317 > 2318 \begin_layout Plain Layout > 2319 > 2320 \end_layout > 2321 > 2322 \end_inset > 2323 </cell> > 2324 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2325 \begin_inset Text > 2326 > 2327 \begin_layout Plain Layout > 2328 > 2329 \end_layout > 2330 > 2331 \end_inset > 2332 </cell> > 2333 </row> > 2334 <row> > 2335 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2336 \begin_inset Text > 2337 > 2338 \begin_layout Plain Layout > 2339 -force > 2340 \end_layout > 2341 > 2342 \end_inset > 2343 </cell> > 2344 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2345 \begin_inset Text > 2346 > 2347 \begin_layout Plain Layout > 2348 > 2349 \end_layout > 2350 > 2351 \end_inset > 2352 </cell> > 2353 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2354 \begin_inset Text > 2355 > 2356 \begin_layout Plain Layout > 2357 > 2358 \end_layout > 2359 > 2360 \end_inset > 2361 </cell> > 2362 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2363 \begin_inset Text > 2364 > 2365 \begin_layout Plain Layout > 2366 > 2367 \end_layout > 2368 > 2369 \end_inset > 2370 </cell> > 2371 </row> > 2372 <row> > 2373 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2374 \begin_inset Text > 2375 > 2376 \begin_layout Plain Layout > 2377 -xterm > 2378 \end_layout > 2379 > 2380 \end_inset > 2381 </cell> > 2382 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2383 \begin_inset Text > 2384 > 2385 \begin_layout Plain Layout > 2386 > 2387 \end_layout > 2388 > 2389 \end_inset > 2390 </cell> > 2391 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2392 \begin_inset Text > 2393 > 2394 \begin_layout Plain Layout > 2395 > 2396 \end_layout > 2397 > 2398 \end_inset > 2399 </cell> > 2400 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2401 \begin_inset Text > 2402 > 2403 \begin_layout Plain Layout > 2404 > 2405 \end_layout > 2406 > 2407 \end_inset > 2408 </cell> > 2409 </row> > 2410 <row> > 2411 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2412 \begin_inset Text > 2413 > 2414 \begin_layout Plain Layout > 2415 -remove-runs > 2416 \end_layout > 2417 > 2418 \end_inset > 2419 </cell> > 2420 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2421 \begin_inset Text > 2422 > 2423 \begin_layout Plain Layout > 2424 > 2425 \end_layout > 2426 > 2427 \end_inset > 2428 </cell> > 2429 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2430 \begin_inset Text > 2431 > 2432 \begin_layout Plain Layout > 2433 > 2434 \end_layout > 2435 > 2436 \end_inset > 2437 </cell> > 2438 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2439 \begin_inset Text > 2440 > 2441 \begin_layout Plain Layout > 2442 > 2443 \end_layout > 2444 > 2445 \end_inset > 2446 </cell> > 2447 </row> > 2448 <row> > 2449 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2450 \begin_inset Text > 2451 > 2452 \begin_layout Plain Layout > 2453 > 2454 \shape italic > 2455 Test helpers > 2456 \end_layout > 2457 > 2458 \end_inset > 2459 </cell> > 2460 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2461 \begin_inset Text > 2462 > 2463 \begin_layout Plain Layout > 2464 > 2465 \end_layout > 2466 > 2467 \end_inset > 2468 </cell> > 2469 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2470 \begin_inset Text > 2471 > 2472 \begin_layout Plain Layout > 2473 > 2474 \end_layout > 2475 > 2476 \end_inset > 2477 </cell> > 2478 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2479 \begin_inset Text > 2480 > 2481 \begin_layout Plain Layout > 2482 > 2483 \end_layout > 2484 > 2485 \end_inset > 2486 </cell> > 2487 </row> > 2488 <row> > 2489 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2490 \begin_inset Text > 2491 > 2492 \begin_layout Plain Layout > 2493 -runstep > 2494 \end_layout > 2495 > 2496 \end_inset > 2497 </cell> > 2498 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2499 \begin_inset Text > 2500 > 2501 \begin_layout Plain Layout > 2502 > 2503 \end_layout > 2504 > 2505 \end_inset > 2506 </cell> > 2507 <cell alignment="center" valignment="top" topline="true" leftline="true" usebox= > 2508 \begin_inset Text > 2509 > 2510 \begin_layout Plain Layout > 2511 > 2512 \end_layout > 2513 > 2514 \end_inset > 2515 </cell> > 2516 <cell alignment="center" valignment="top" topline="true" leftline="true" rightli > 2517 \begin_inset Text > 2518 > 2519 \begin_layout Plain Layout > 2520 > 2521 \end_layout > 2522 > 2523 \end_inset > 2524 </cell> > 2525 </row> > 2526 <row> > 2527 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftl > 2528 \begin_inset Text > 2529 > 2530 \begin_layout Plain Layout > 2531 -logpro > 2532 \end_layout > 2533 > 2534 \end_inset > 2535 </cell> > 2536 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftl > 2537 \begin_inset Text > 2538 > 2539 \begin_layout Plain Layout > 2540 > 2541 \end_layout > 2542 > 2543 \end_inset > 2544 </cell> > 2545 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftl > 2546 \begin_inset Text > 2547 > 2548 \begin_layout Plain Layout > 2549 > 2550 \end_layout > 2551 > 2552 \end_inset > 2553 </cell> > 2554 <cell alignment="center" valignment="top" topline="true" bottomline="true" leftl > 2555 \begin_inset Text > 2556 > 2557 \begin_layout Plain Layout > 2558 1500 \end_layout 2559 \end_layout 1501 2560 1502 \end_inset 2561 \end_inset 1503 </cell> 2562 </cell> 1504 </row> 2563 </row> 1505 </lyxtabular> 2564 </lyxtabular> 1506 2565

Modified launch.scm from [6d04cfa4b6b595fa] to [4e0072fb2a34bed0].

77 (runname (db-get-value-by-header (db:get-row run-info) 77 (runname (db-get-value-by-header (db:get-row run-info) 78 (db:get-header run-info) 78 (db:get-header run-info) 79 "runname")) 79 "runname")) 80 (key-vals (get-key-vals db run-id)) 80 (key-vals (get-key-vals db run-id)) 81 (key-str (string-intersperse key-vals "/")) 81 (key-str (string-intersperse key-vals "/")) 82 (dfullp (conc disk-path "/" key-str "/" runname "/" testname 82 (dfullp (conc disk-path "/" key-str "/" runname "/" testname 83 item-path)) 83 item-path)) > 84 (toptest-path (conc disk-path "/" key-str "/" runname "/" testname)) 84 (runsdir (config-lookup *configdat* "setup" "runsdir")) 85 (runsdir (config-lookup *configdat* "setup" "runsdir")) 85 (lnkpath (conc (if runsdir runsdir (conc *toppath* "/runs")) 86 (lnkpath (conc (if runsdir runsdir (conc *toppath* "/runs")) 86 "/" key-str "/" runname item-path))) 87 "/" key-str "/" runname item-path))) > 88 ;; since this is an iterated test this is as good a place as any to > 89 ;; update the toptest record with its location rundir > 90 (if (not (equal? item-path "")) > 91 (db:test-set-rundir! db run-id testname "" toptest-path)) 87 (print "Setting up test run area") 92 (print "Setting up test run area") 88 (print " - creating run area in " dfullp) 93 (print " - creating run area in " dfullp) 89 (system (conc "mkdir -p " dfullp)) 94 (system (conc "mkdir -p " dfullp)) 90 (print " - creating link from " dfullp "/" testname " to " lnkpath) 95 (print " - creating link from " dfullp "/" testname " to " lnkpath) 91 (system (conc "mkdir -p " lnkpath)) 96 (system (conc "mkdir -p " lnkpath)) 92 (if (file-exists? (conc lnkpath "/" testname)) 97 (if (file-exists? (conc lnkpath "/" testname)) 93 (system (conc "rm -f " lnkpath "/" testname))) 98 (system (conc "rm -f " lnkpath "/" testname))) 94 (system (conc "ln -sf " dfullp " " lnkpath "/" testname)) 99 (system (conc "ln -sf " dfullp " " lnkpath "/" testname)) 95 (if (directory? dfullp) 100 (if (directory? dfullp) 96 (begin 101 (begin 97 (system (conc "rsync -av " test-path "/ " dfullp "/")) 102 (system (conc "rsync -av " test-path "/ " dfullp "/")) 98 dfullp) | 103 (list dfullp toptest-path)) 99 #f))) | 104 (list #f #f)))) 100 105 101 ;; 1. look though disks list for disk with most space 106 ;; 1. look though disks list for disk with most space 102 ;; 2. create run dir on disk, path name is meaningful 107 ;; 2. create run dir on disk, path name is meaningful 103 ;; 3. create link from run dir to megatest runs area 108 ;; 3. create link from run dir to megatest runs area 104 ;; 4. remotely run the test on allocated host 109 ;; 4. remotely run the test on allocated host 105 ;; - could be ssh to host from hosts table (update regularly with load) 110 ;; - could be ssh to host from hosts table (update regularly with load) 106 ;; - could be netbatch 111 ;; - could be netbatch ................................................................................................................................................................................ 111 (diskspace (config-lookup test-conf "requirements" "diskspace")) 116 (diskspace (config-lookup test-conf "requirements" "diskspace")) 112 (memory (config-lookup test-conf "requirements" "memory")) 117 (memory (config-lookup test-conf "requirements" "memory")) 113 (hosts (config-lookup *configdat* "jobtools" "workhosts")) 118 (hosts (config-lookup *configdat* "jobtools" "workhosts")) 114 (remote-megatest (config-lookup *configdat* "setup" "executable")) 119 (remote-megatest (config-lookup *configdat* "setup" "executable")) 115 (local-megatest (car (argv))) 120 (local-megatest (car (argv))) 116 ;; (item-path (item-list->path itemdat)) test-path is the full path inc 121 ;; (item-path (item-list->path itemdat)) test-path is the full path inc 117 (work-area #f) 122 (work-area #f) > 123 (toptest-work-area #f) ;; for iterated tests the top test contains data 118 (diskpath #f) 124 (diskpath #f) 119 (cmdparms #f) 125 (cmdparms #f) 120 (fullcmd #f) ;; (define a (with-output-to-string (lambda ()(write x)) 126 (fullcmd #f) ;; (define a (with-output-to-string (lambda ()(write x)) 121 (mt-bindir-path #f)) 127 (mt-bindir-path #f)) 122 (if hosts (set! hosts (string-split hosts))) 128 (if hosts (set! hosts (string-split hosts))) 123 (if (not remote-megatest)(set! remote-megatest local-megatest)) ;; "megatest 129 (if (not remote-megatest)(set! remote-megatest local-megatest)) ;; "megatest 124 (set! mt-bindir-path (pathname-directory remote-megatest)) 130 (set! mt-bindir-path (pathname-directory remote-megatest)) 125 (if launcher (set! launcher (string-split launcher))) 131 (if launcher (set! launcher (string-split launcher))) 126 ;; set up the run work area for this test 132 ;; set up the run work area for this test 127 (set! diskpath (get-best-disk *configdat*)) 133 (set! diskpath (get-best-disk *configdat*)) 128 (if diskpath 134 (if diskpath 129 (set! work-area (create-work-area db run-id test-path diskpath test-name | 135 (let ((dat (create-work-area db run-id test-path diskpath test-name ite > 136 (set! work-area (car dat)) > 137 (set! toptest-work-area (cadr dat))) 130 (begin 138 (begin 131 (set! work-area test-path) 139 (set! work-area test-path) 132 (print "WARNING: No disk work area specified - running in the test dir 140 (print "WARNING: No disk work area specified - running in the test dir 133 (set! cmdparms (base64:base64-encode (with-output-to-string 141 (set! cmdparms (base64:base64-encode (with-output-to-string 134 (lambda () ;; (list 'hosts hosts) 142 (lambda () ;; (list 'hosts hosts) 135 (write (list (list 'testpath test-path) 143 (write (list (list 'testpath test-path) 136 (list 'work-area work-area) 144 (list 'work-area work-area) 137 (list 'test-name test-name) 145 (list 'test-name test-name) 138 (list 'runscript runscript) 146 (list 'runscript runscript) 139 (list 'run-id run-id ) 147 (list 'run-id run-id ) 140 (list 'itemdat itemdat) | 148 (list 'itemdat itemdat ) > 149 (list 'megatest remote-megat 141 (list 'runname (args:get-ar 150 (list 'runname (args:get-ar 142 (list 'mt-bindir-path mt-bind 151 (list 'mt-bindir-path mt-bind 143 (change-directory work-area) ;; so that log files from the launch process do 152 (change-directory work-area) ;; so that log files from the launch process do 144 (cond 153 (cond 145 ((and launcher hosts) ;; must be using ssh hostname 154 ((and launcher hosts) ;; must be using ssh hostname 146 (set! fullcmd (append launcher (car hosts)(list remote-megatest "-execute" 155 (set! fullcmd (append launcher (car hosts)(list remote-megatest "-execute" 147 (launcher 156 (launcher

Modified megatest.scm from [1850c2555e594724] to [07f43a6b01e4dfb8].

4 ;; greater. See the accompanying file COPYING for details. 4 ;; greater. See the accompanying file COPYING for details. 5 ;; 5 ;; 6 ;; This program is distributed WITHOUT ANY WARRANTY; without even the 6 ;; This program is distributed WITHOUT ANY WARRANTY; without even the 7 ;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 7 ;; implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 8 ;; PURPOSE. 8 ;; PURPOSE. 9 9 10 (include "common.scm") 10 (include "common.scm") 11 (define megatest-version 1.04) | 11 (define megatest-version 1.06) 12 12 13 (define help (conc " 13 (define help (conc " 14 Megatest, documentation at http://www.kiatoa.com/fossils/megatest 14 Megatest, documentation at http://www.kiatoa.com/fossils/megatest 15 version " megatest-version " 15 version " megatest-version " 16 license GPL, Copyright Matt Welland 2006-2011 16 license GPL, Copyright Matt Welland 2006-2011 17 17 18 Usage: megatest [options] 18 Usage: megatest [options] ................................................................................................................................................................................ 26 Run status updates (these require that you are in a test directory 26 Run status updates (these require that you are in a test directory 27 and you have sourced the \"megatest.csh\" or 27 and you have sourced the \"megatest.csh\" or 28 \"megatest.sh\" file.) 28 \"megatest.sh\" file.) 29 -step stepname 29 -step stepname 30 -test-status : set the state and status of a test (use :state and : 30 -test-status : set the state and status of a test (use :state and : 31 -setlog logfname : set the path/filename to the final log relative to t 31 -setlog logfname : set the path/filename to the final log relative to t 32 directory. may be used with -test-status 32 directory. may be used with -test-status > 33 -set-toplog logfname : set the overall log for a suite of sub-tests 33 -m comment : insert a comment for this test 34 -m comment : insert a comment for this test 34 35 35 Run data 36 Run data 36 :runname : required, name for this particular test run 37 :runname : required, name for this particular test run 37 :state : required if updating step state; e.g. start, end, co 38 :state : required if updating step state; e.g. start, end, co 38 :status : required if updating step status; e.g. pass, fail, n 39 :status : required if updating step status; e.g. pass, fail, n 39 40 ................................................................................................................................................................................ 74 ":runname" 75 ":runname" 75 ":state" 76 ":state" 76 ":status" 77 ":status" 77 "-list-runs" 78 "-list-runs" 78 "-testpatt" 79 "-testpatt" 79 "-itempatt" 80 "-itempatt" 80 "-setlog" 81 "-setlog" > 82 "-set-toplog" 81 "-runstep" 83 "-runstep" 82 "-logpro" 84 "-logpro" 83 "-m" 85 "-m" 84 ) 86 ) 85 (list "-h" 87 (list "-h" 86 "-force" 88 "-force" 87 "-xterm" 89 "-xterm" ................................................................................................................................................................................ 316 (work-area (assoc/default 'work-area cmdinfo)) 318 (work-area (assoc/default 'work-area cmdinfo)) 317 (test-name (assoc/default 'test-name cmdinfo)) 319 (test-name (assoc/default 'test-name cmdinfo)) 318 (runscript (assoc/default 'runscript cmdinfo)) 320 (runscript (assoc/default 'runscript cmdinfo)) 319 (db-host (assoc/default 'db-host cmdinfo)) 321 (db-host (assoc/default 'db-host cmdinfo)) 320 (run-id (assoc/default 'run-id cmdinfo)) 322 (run-id (assoc/default 'run-id cmdinfo)) 321 (itemdat (assoc/default 'itemdat cmdinfo)) 323 (itemdat (assoc/default 'itemdat cmdinfo)) 322 (runname (assoc/default 'runname cmdinfo)) 324 (runname (assoc/default 'runname cmdinfo)) > 325 (megatest (assoc/default 'megatest cmdinfo)) 323 (mt-bindir-path (assoc/default 'mt-bindir-path cmdinfo)) 326 (mt-bindir-path (assoc/default 'mt-bindir-path cmdinfo)) 324 (fullrunscript (conc testpath "/" runscript)) 327 (fullrunscript (conc testpath "/" runscript)) 325 (db #f)) 328 (db #f)) 326 (print "Exectuing " test-name " on " (get-host-name)) 329 (print "Exectuing " test-name " on " (get-host-name)) 327 (change-directory testpath) 330 (change-directory testpath) 328 (setenv "MT_TEST_RUN_DIR" work-area) 331 (setenv "MT_TEST_RUN_DIR" work-area) 329 (setenv "MT_TEST_NAME" test-name) 332 (setenv "MT_TEST_NAME" test-name) 330 (setenv "MT_ITEM_INFO" (conc itemdat)) 333 (setenv "MT_ITEM_INFO" (conc itemdat)) 331 (setenv "MT_RUNNAME" runname) 334 (setenv "MT_RUNNAME" runname) > 335 (setenv "MT_MEGATEST" megatest) 332 (setenv "PATH" (conc (getenv "PATH") ":" mt-bindir-path)) 336 (setenv "PATH" (conc (getenv "PATH") ":" mt-bindir-path)) > 337 333 (if (not (setup-for-run)) 338 (if (not (setup-for-run)) 334 (begin 339 (begin 335 (print "Failed to setup, exiting") 340 (print "Failed to setup, exiting") 336 (exit 1))) 341 (exit 1))) 337 ;; now can find our db 342 ;; now can find our db 338 (set! db (open-db)) 343 (set! db (open-db)) 339 (change-directory work-area) 344 (change-directory work-area) ................................................................................................................................................................................ 443 (begin 448 (begin 444 (print "ERROR: You must specify :state and :status with every ca 449 (print "ERROR: You must specify :state and :status with every ca 445 (exit 6))) 450 (exit 6))) 446 (sqlite3:finalize! db) 451 (sqlite3:finalize! db) 447 (set! *didsomething* #t)))) 452 (set! *didsomething* #t)))) 448 453 449 (if (or (args:get-arg "-setlog") ;; since setting up is so costly lets pig 454 (if (or (args:get-arg "-setlog") ;; since setting up is so costly lets pig > 455 (args:get-arg "-set-toplog") 450 (args:get-arg "-test-status") 456 (args:get-arg "-test-status") 451 (args:get-arg "-runstep")) 457 (args:get-arg "-runstep")) 452 (if (not (getenv "MT_CMDINFO")) 458 (if (not (getenv "MT_CMDINFO")) 453 (begin 459 (begin 454 (print "ERROR: MT_CMDINFO env var not set, commands -test-status, -run 460 (print "ERROR: MT_CMDINFO env var not set, commands -test-status, -run 455 (exit 5)) 461 (exit 5)) 456 (let* ((startingdir (current-directory)) 462 (let* ((startingdir (current-directory)) ................................................................................................................................................................................ 468 (if (not (setup-for-run)) 474 (if (not (setup-for-run)) 469 (begin 475 (begin 470 (print "Failed to setup, exiting") 476 (print "Failed to setup, exiting") 471 (exit 1))) 477 (exit 1))) 472 (set! db (open-db)) 478 (set! db (open-db)) 473 (if (args:get-arg "-setlog") 479 (if (args:get-arg "-setlog") 474 (test-set-log! db run-id test-name itemdat (args:get-arg "-setlog" 480 (test-set-log! db run-id test-name itemdat (args:get-arg "-setlog" > 481 (if (args:get-arg "-set-toplog") > 482 (test-set-toplog! db run-id test-name (args:get-arg "-set-toplog") 475 (if (args:get-arg "-test-status") 483 (if (args:get-arg "-test-status") 476 (test-set-status! db run-id test-name state status itemdat (args:g 484 (test-set-status! db run-id test-name state status itemdat (args:g 477 (if (and state status) 485 (if (and state status) 478 (if (not (args:get-arg "-setlog")) 486 (if (not (args:get-arg "-setlog")) 479 (begin 487 (begin 480 (print "ERROR: You must specify :state and :status with 488 (print "ERROR: You must specify :state and :status with 481 (sqlite3:finalize! db) 489 (sqlite3:finalize! db)

Modified runs.scm from [243bc1392b4d2faa] to [482f7844a7279c68].

72 (set! res (cons (list->vector (cons a r)) res))) 72 (set! res (cons (list->vector (cons a r)) res))) 73 db 73 db 74 (conc "SELECT " keystr " FROM runs WHERE runname like ? " key-patt ";") 74 (conc "SELECT " keystr " FROM runs WHERE runname like ? " key-patt ";") 75 runnamepatt) 75 runnamepatt) 76 (vector header res))) 76 (vector header res))) 77 77 78 (define (register-test db run-id test-name item-path) 78 (define (register-test db run-id test-name item-path) > 79 (let ((item-paths (if (equal? item-path "") > 80 (list item-path) > 81 (list item-path "")))) > 82 (for-each > 83 (lambda (pth) 79 (sqlite3:execute db "INSERT OR IGNORE INTO tests (run_id,testname,event_time,i | 84 (sqlite3:execute db "INSERT OR IGNORE INTO tests (run_id,testname,event_t > 85 item-paths))) > 86 > 87 ;; (define db (open-db)) > 88 ;; (test-set-status! db 2 "runfirst" "COMPLETED" "PASS" "summer") 80 89 81 (define (test-set-status! db run-id test-name state status itemdat-or-path . com 90 (define (test-set-status! db run-id test-name state status itemdat-or-path . com 82 (let ((item-path (if (string? itemdat-or-path) itemdat-or-path (item-list->pat 91 (let ((item-path (if (string? itemdat-or-path) itemdat-or-path (item-list->pat 83 (sqlite3:execute db "UPDATE tests SET state=?,status=?,event_time=strftime(' 92 (sqlite3:execute db "UPDATE tests SET state=?,status=?,event_time=strftime(' 84 state status run-id test-name item-path) 93 state status run-id test-name item-path) > 94 (if (and (not (equal? item-path "")) ;; need to update the top test record i > 95 (or (equal? status "PASS") > 96 (equal? status "FAIL"))) > 97 (begin > 98 (sqlite3:execute > 99 db > 100 "UPDATE tests > 101 SET fail_count=(SELECT count(id) FROM tests WHERE run_id=? AND test > 102 pass_count=(SELECT count(id) FROM tests WHERE run_id=? AND test > 103 WHERE run_id=? AND testname=? AND item_path='';" > 104 run-id test-name run-id test-name run-id test-name) > 105 (sqlite3:execute > 106 db > 107 "UPDATE tests > 108 SET state='COMPLETED', > 109 status=CASE WHEN fail_count > 0 THEN 'FAIL' WHEN pass_count > 0 > 110 WHERE run_id=? AND testname=? AND item_path='';" > 111 run-id test-name))) 85 (if (and (not (null? comment)) 112 (if (and (not (null? comment)) 86 (car comment)) 113 (car comment)) 87 (sqlite3:execute db "UPDATE tests SET comment=? WHERE run_id=? AND testn 114 (sqlite3:execute db "UPDATE tests SET comment=? WHERE run_id=? AND testn 88 (car comment) run-id test-name item-path)))) 115 (car comment) run-id test-name item-path)))) 89 116 90 (define (test-set-log! db run-id test-name itemdat logf) 117 (define (test-set-log! db run-id test-name itemdat logf) 91 (let ((item-path (item-list->path itemdat))) 118 (let ((item-path (item-list->path itemdat))) 92 (sqlite3:execute db "UPDATE tests SET final_logf=? WHERE run_id=? AND testna 119 (sqlite3:execute db "UPDATE tests SET final_logf=? WHERE run_id=? AND testna 93 logf run-id test-name item-path))) 120 logf run-id test-name item-path))) > 121 > 122 (define (test-set-toplog! db run-id test-name logf) > 123 (sqlite3:execute db "UPDATE tests SET final_logf=? WHERE run_id=? AND testname > 124 logf run-id test-name)) 94 125 95 ;; ;; TODO: Converge this with db:get-test-info 126 ;; ;; TODO: Converge this with db:get-test-info 96 ;; (define (runs:get-test-info db run-id test-name item-path) 127 ;; (define (runs:get-test-info db run-id test-name item-path) 97 ;; (let ((res #f)) ;; (vector #f #f #f #f #f #f))) 128 ;; (let ((res #f)) ;; (vector #f #f #f #f #f #f))) 98 ;; (sqlite3:for-each-row 129 ;; (sqlite3:for-each-row 99 ;; (lambda (id run-id test-name state status) 130 ;; (lambda (id run-id test-name state status) 100 ;; (set! res (vector id run-id test-name state status item-path))) 131 ;; (set! res (vector id run-id test-name state status item-path)))

Modified tests/tests/runfirst/main.sh from [62fd7b991d2b4bd6] to [75fea8b10f13d31b].

1 #!/bin/bash 1 #!/bin/bash 2 2 3 # megatest -step wasting_time :state start :status n/a -m "This is a test step c 3 # megatest -step wasting_time :state start :status n/a -m "This is a test step c 4 # sleep 20 4 # sleep 20 5 # megatest -step wasting_time :state end :status $? 5 # megatest -step wasting_time :state end :status $? 6 6 7 megatest -runstep wasting_time -logpro wasting_time.logpro "sleep 20;echo all do | 7 $MT_MEGATEST -runstep wasting_time -logpro wasting_time.logpro "sleep 20;echo al 8 8 9 megatest -test-status :state COMPLETED :status PASS -m "This is a test level com | 9 $MT_MEGATEST -test-status :state COMPLETED :status PASS -m "This is a test level

Modified tests/tests/sqlitespeed/testconfig from [60210b8b0f045e19] to [6423a0c21d8f6e06].

1 [setup] 1 [setup] 2 runscript runscript.rb 2 runscript runscript.rb 3 3 4 [requirements] 4 [requirements] 5 waiton runfirst 5 waiton runfirst 6 6 7 [items] 7 [items] > 8 MANYITEMS [system ls] 8 MANYITEMS a b c d e f g h i j k l m | 9 # a b c d e f g h i j k l m > 10 # LSJUNK [system ls] > 11