Megatest

Check-in [a65b1fd118]
Login
Overview
Comment:Moving test specific data to testdat.db
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | db-to-testdb
Files: files | file ages | folders
SHA1: a65b1fd118df9e8fce8cf13721194e3a0cab7cd5
User & Date: matt on 2013-10-28 18:02:27
Other Links: branch diff | manifest | tags
Context
2013-10-28
18:29
Partial port of db.scm to new method check-in: 67ee916e9c user: matt tags: db-to-testdb
18:02
Moving test specific data to testdat.db check-in: a65b1fd118 user: matt tags: db-to-testdb
16:40
Added beginings of a test for speed, fixed couple minor bugs check-in: 39cf82c3af user: mrwellan tags: v1.55
Changes

Modified db.scm from [0e0b9ca4ad] to [08bbfdd684].

174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
			 "CONSTRAINT runsconstraint UNIQUE (runname" (if havekeys "," "") keystr "));"))
    (sqlite3:execute db (conc "CREATE INDEX runs_index ON runs (runname" (if havekeys "," "") keystr ");"))
    (sqlite3:execute db 
		     "CREATE TABLE IF NOT EXISTS tests 
                    (id INTEGER PRIMARY KEY,
                     run_id     INTEGER,
                     testname   TEXT,
                     host       TEXT DEFAULT 'n/a',
                     cpuload    REAL DEFAULT -1,
                     diskfree   INTEGER DEFAULT -1,
                     uname      TEXT DEFAULT 'n/a', 
                     rundir     TEXT DEFAULT 'n/a',
                     shortdir   TEXT DEFAULT '',
                     item_path  TEXT DEFAULT '',
                     state      TEXT DEFAULT 'NOT_STARTED',
                     status     TEXT DEFAULT 'FAIL',
                     attemptnum INTEGER DEFAULT 0,
                     final_logf TEXT DEFAULT 'logs/final.log',
                     logdat     BLOB, 
                     run_duration INTEGER DEFAULT 0,
                     comment    TEXT DEFAULT '',
                     event_time TIMESTAMP,
                     fail_count INTEGER DEFAULT 0,
                     pass_count INTEGER DEFAULT 0,
                     archived   INTEGER DEFAULT 0, -- 0=no, 1=in progress, 2=yes
                     CONSTRAINT testsconstraint UNIQUE (run_id, testname, item_path)
          );")
    (sqlite3:execute db "CREATE INDEX tests_index ON tests (run_id, testname, item_path);")







<
<
<
<



<
<
<
<
<
<
<







174
175
176
177
178
179
180




181
182
183







184
185
186
187
188
189
190
			 "CONSTRAINT runsconstraint UNIQUE (runname" (if havekeys "," "") keystr "));"))
    (sqlite3:execute db (conc "CREATE INDEX runs_index ON runs (runname" (if havekeys "," "") keystr ");"))
    (sqlite3:execute db 
		     "CREATE TABLE IF NOT EXISTS tests 
                    (id INTEGER PRIMARY KEY,
                     run_id     INTEGER,
                     testname   TEXT,




                     rundir     TEXT DEFAULT 'n/a',
                     shortdir   TEXT DEFAULT '',
                     item_path  TEXT DEFAULT '',







                     event_time TIMESTAMP,
                     fail_count INTEGER DEFAULT 0,
                     pass_count INTEGER DEFAULT 0,
                     archived   INTEGER DEFAULT 0, -- 0=no, 1=in progress, 2=yes
                     CONSTRAINT testsconstraint UNIQUE (run_id, testname, item_path)
          );")
    (sqlite3:execute db "CREATE INDEX tests_index ON tests (run_id, testname, item_path);")
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333























334
335
336
337
338
339
340

(define (db:testdb-initialize db)
  (debug:print 11 "db:testdb-initialize START")
  (for-each
   (lambda (sqlcmd)
     (sqlite3:execute db sqlcmd))
   (list "CREATE TABLE IF NOT EXISTS test_rundat (
              id INTEGER PRIMARY KEY,
              update_time TIMESTAMP,
              cpuload INTEGER DEFAULT -1,
              diskfree INTEGER DEFAULT -1,
              diskusage INTGER DEFAULT -1,
              run_duration INTEGER DEFAULT 0);"
	 "CREATE TABLE IF NOT EXISTS test_data (
              id INTEGER PRIMARY KEY,
              test_id INTEGER,
              category TEXT DEFAULT '',
              variable TEXT,
	      value REAL,
	      expected REAL,
	      tol REAL,
              units TEXT,
              comment TEXT DEFAULT '',
              status TEXT DEFAULT 'n/a',
              type TEXT DEFAULT '',
              CONSTRAINT test_data_constraint UNIQUE (test_id,category,variable));"
	 "CREATE TABLE IF NOT EXISTS test_steps (
              id INTEGER PRIMARY KEY,
              test_id INTEGER, 
              stepname TEXT, 
              state TEXT DEFAULT 'NOT_STARTED', 
              status TEXT DEFAULT 'n/a',
              event_time TIMESTAMP,
              comment TEXT DEFAULT '',
              logfile TEXT DEFAULT '',
              CONSTRAINT test_steps_constraint UNIQUE (test_id,stepname,state));"























	 ;; test_meta can be used for handing commands to the test
	 ;; e.g. KILLREQ
	 ;;      the ackstate is set to 1 once the command has been completed
	 "CREATE TABLE IF NOT EXISTS test_meta (
              id INTEGER PRIMARY KEY,
              var TEXT,
              val TEXT,







|
|
|
|
|


|
|
|
|
|
|
|
|
|
|
|


|
|
|
|
|
|
|
|

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352

(define (db:testdb-initialize db)
  (debug:print 11 "db:testdb-initialize START")
  (for-each
   (lambda (sqlcmd)
     (sqlite3:execute db sqlcmd))
   (list "CREATE TABLE IF NOT EXISTS test_rundat (
              id           INTEGER PRIMARY KEY,
              update_time  TIMESTAMP,
              cpuload      INTEGER DEFAULT -1,
              diskfree     INTEGER DEFAULT -1,
              diskusage    INTGER DEFAULT -1,
              run_duration INTEGER DEFAULT 0);"
	 "CREATE TABLE IF NOT EXISTS test_data (
              id           INTEGER PRIMARY KEY,
              test_id      INTEGER,
              category     TEXT DEFAULT '',
              variable     TEXT,
	      value        REAL,
	      expected     REAL,
	      tol          REAL,
              units        TEXT,
              comment      TEXT DEFAULT '',
              status       TEXT DEFAULT 'n/a',
              type         TEXT DEFAULT '',
              CONSTRAINT test_data_constraint UNIQUE (test_id,category,variable));"
	 "CREATE TABLE IF NOT EXISTS test_steps (
              id           INTEGER PRIMARY KEY,
              test_id      INTEGER, 
              stepname     TEXT, 
              state        TEXT DEFAULT 'NOT_STARTED', 
              status       TEXT DEFAULT 'n/a',
              event_time   TIMESTAMP,
              comment      TEXT DEFAULT '',
              logfile      TEXT DEFAULT '',
              CONSTRAINT test_steps_constraint UNIQUE (test_id,stepname,state));"
	 "CREATE TABLE IF NOT EXISTS test_megatest (
              id           INTEGER PRIMARY KEY,
              run_id       INTEGER,
              testname     TEXT,
              host         TEXT DEFAULT 'n/a',
              cpuload      REAL DEFAULT -1,
              diskfree     INTEGER DEFAULT -1,
              uname        TEXT DEFAULT 'n/a', 
              rundir       TEXT DEFAULT 'n/a',
              shortdir     TEXT DEFAULT '',
              item_path    TEXT DEFAULT '',
              state        TEXT DEFAULT 'NOT_STARTED',
              status       TEXT DEFAULT 'FAIL',
              attemptnum   INTEGER DEFAULT 0,
              final_logf   TEXT DEFAULT 'logs/final.log',
              logdat       BLOB, 
              run_duration INTEGER DEFAULT 0,
              comment      TEXT DEFAULT '',
              event_time   TIMESTAMP,
              fail_count   INTEGER DEFAULT 0,
              pass_count   INTEGER DEFAULT 0,
              archived     INTEGER DEFAULT 0, -- 0=no, 1=in progress, 2=yes
              CONSTRAINT testsconstraint UNIQUE (run_id, testname, item_path));"
	 ;; test_meta can be used for handing commands to the test
	 ;; e.g. KILLREQ
	 ;;      the ackstate is set to 1 once the command has been completed
	 "CREATE TABLE IF NOT EXISTS test_meta (
              id INTEGER PRIMARY KEY,
              var TEXT,
              val TEXT,