Overview
Comment: | changed to -sync-to and added sqlite3 as target |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.64 |
Files: | files | file ages | folders |
SHA1: |
19de5493ad6663f2efbcbd1668e833d6 |
User & Date: | matt on 2017-02-27 02:34:34 |
Other Links: | branch diff | manifest | tags |
Context
2017-02-27
| ||
09:39 | Updated megatest version for 1.6402 check-in: 03c5160677 user: jmoon18 tags: v1.64, v1.6402 | |
02:34 | changed to -sync-to and added sqlite3 as target check-in: 19de5493ad user: matt tags: v1.64 | |
2017-02-26
| ||
22:07 | Added more illustration for cgi check-in: a624813a5a user: matt tags: v1.64 | |
Changes
Modified megatest.scm from [f52a260837] to [9b1a041082].
︙ | ︙ | |||
144 145 146 147 148 149 150 | Misc -start-dir path : switch to this directory before running megatest -contour cname : add a level of hierarcy to the linktree and run paths -rebuild-db : bring the database schema up to date -cleanup-db : remove any orphan records, vacuum the db -import-megatest.db : push data from megatest.db to cache db files in /tmp/$USER -sync-to-megatest.db : pull data from cache files in /tmp/$USER to megatest.db | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | Misc -start-dir path : switch to this directory before running megatest -contour cname : add a level of hierarcy to the linktree and run paths -rebuild-db : bring the database schema up to date -cleanup-db : remove any orphan records, vacuum the db -import-megatest.db : push data from megatest.db to cache db files in /tmp/$USER -sync-to-megatest.db : pull data from cache files in /tmp/$USER to megatest.db -sync-to dest : sync to new postgresql central style database -update-meta : update the tests metadata for all tests -setvars VAR1=val1,VAR2=val2 : Add environment variables to a run NB// these are overwritten by values set in config files. -server -|hostname : start the server (reduces contention on megatest.db), use - to automatically figure out hostname -transport http|rpc : use http or rpc for transport (default is http) -daemonize : fork into background and disconnect from stdin/out |
︙ | ︙ | |||
285 286 287 288 289 290 291 292 293 294 295 296 297 298 | "-sort" "-target-db" "-source-db" "-src-target" "-src-runname" "-diff-email" "-diff-html" ) (list "-h" "-help" "--help" "-manual" "-version" "-force" "-xterm" | > | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 | "-sort" "-target-db" "-source-db" "-src-target" "-src-runname" "-diff-email" "-sync-to" "-diff-html" ) (list "-h" "-help" "--help" "-manual" "-version" "-force" "-xterm" |
︙ | ︙ | |||
341 342 343 344 345 346 347 | "-create-megatest-area" "-mark-incompletes" "-convert-to-norm" "-convert-to-old" "-import-megatest.db" "-sync-to-megatest.db" | < | 342 343 344 345 346 347 348 349 350 351 352 353 354 355 | "-create-megatest-area" "-mark-incompletes" "-convert-to-norm" "-convert-to-old" "-import-megatest.db" "-sync-to-megatest.db" "-logging" "-v" ;; verbose 2, more than normal (normal is 1) "-q" ;; quiet 0, errors/warnings only "-diff-rep" ) |
︙ | ︙ | |||
2014 2015 2016 2017 2018 2019 2020 | (begin (db:multi-db-sync (db:setup) 'new2old ) (set! *didsomething* #t))) | | | | 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 | (begin (db:multi-db-sync (db:setup) 'new2old ) (set! *didsomething* #t))) (if (args:get-arg "-sync-to") (let ((toppath (launch:setup))) (tasks:sync-to-postgres *configdat* (args:get-arg "-sync-to")) (set! *didsomething* #t))) (if (args:get-arg "-generate-html") (let* ((toppath (launch:setup))) (if (tests:create-html-tree #f) (debug:print-info 0 *default-log-port* "HTML output created in " toppath "/lt/page#.html") (debug:print 0 *default-log-port* "Failed to create HTML output in " toppath "/lt/runs-index.html")) |
︙ | ︙ |
Added mt-sqlite3.sql version [cedc7d700d].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 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 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | -- CREATE TABLE IF NOT EXISTS keys ( -- id SERIAL PRIMARY KEY, -- fieldname TEXT, -- fieldtype TEXT, -- CONSTRAINT keyconstraint UNIQUE (fieldname)); DROP TABLE IF EXISTS areas; DROP TABLE IF EXISTS ttype; DROP TABLE IF EXISTS runs; DROP TABLE IF EXISTS run_stats; DROP TABLE IF EXISTS test_meta; DROP TABLE IF EXISTS tasks_queue; DROP TABLE IF EXISTS archive_disks; DROP TABLE IF EXISTS archive_blocks; DROP TABLE IF EXISTS archive_allocations; DROP TABLE IF EXISTS extradat; DROP TABLE IF EXISTS metadat; DROP TABLE IF EXISTS access_log; DROP TABLE IF EXISTS tests; DROP TABLE IF EXISTS test_steps; DROP TABLE IF EXISTS test_data; DROP TABLE IF EXISTS test_rundat; DROP TABLE IF EXISTS archives; DROP TABLE IF EXISTS session_vars; DROP TABLE IF EXISTS sessions; CREATE TABLE IF NOT EXISTS session_vars ( id SERIAL PRIMARY KEY, session_id INTEGER, page TEXT, key TEXT, value TEXT); CREATE TABLE IF NOT EXISTS sessions ( id SERIAL PRIMARY KEY, session_key TEXT NOT NULL, last_used TIMESTAMP WITHOUT TIME ZONE DEFAULT (strftime('%s','now'))); CREATE TABLE IF NOT EXISTS areas ( id SERIAL PRIMARY KEY, area_name TEXT NOT NULL, area_path TEXT NOT NULL, last_sync INTEGER DEFAULT 0, CONSTRAINT areaconstraint UNIQUE (area_name)); INSERT INTO areas (id,area_name,area_path) VALUES (0,'local','.'); CREATE TABLE IF NOT EXISTS ttype ( id SERIAL PRIMARY KEY, target_spec TEXT DEFAULT ''); CREATE TABLE IF NOT EXISTS runs ( id SERIAL PRIMARY KEY, target TEXT DEFAULT '', ttype_id INTEGER DEFAULT 0, run_name TEXT DEFAULT 'norun', state TEXT DEFAULT '', status TEXT DEFAULT '', owner TEXT DEFAULT '', event_time INTEGER DEFAULT (strftime('%s','now')), comment TEXT DEFAULT '', fail_count INTEGER DEFAULT 0, pass_count INTEGER DEFAULT 0, last_update INTEGER DEFAULT (strftime('%s','now')), area_id INTEGER DEFAULT 0, CONSTRAINT runsconstraint UNIQUE (target,ttype_id,run_name)); CREATE TABLE IF NOT EXISTS run_stats ( id SERIAL PRIMARY KEY, run_id INTEGER, state TEXT, status TEXT, count INTEGER, last_update INTEGER DEFAULT (strftime('%s','now'))); CREATE TABLE IF NOT EXISTS test_meta ( id SERIAL PRIMARY KEY, test_name TEXT DEFAULT '', author TEXT DEFAULT '', owner TEXT DEFAULT '', description TEXT DEFAULT '', reviewed TEXT, iterated TEXT DEFAULT '', avg_runtime REAL, avg_disk REAL, tags TEXT DEFAULT '', jobgroup TEXT DEFAULT 'default', CONSTRAINT test_meta_constraint UNIQUE (test_name)); CREATE TABLE IF NOT EXISTS tasks_queue ( id SERIAL PRIMARY KEY, action TEXT DEFAULT '', owner TEXT, state TEXT DEFAULT 'new', target TEXT DEFAULT '', name TEXT DEFAULT '', testpatt TEXT DEFAULT '', keylock TEXT, params TEXT, creation_time INTEGER DEFAULT (strftime('%s','now')), execution_time INTEGER); CREATE TABLE IF NOT EXISTS archive_disks ( id SERIAL PRIMARY KEY, archive_area_name TEXT, disk_path TEXT, last_df INTEGER DEFAULT -1, last_df_time INTEGER DEFAULT (strftime('%s','now')), creation_time INTEGER DEFAULT (strftime('%s','now'))); CREATE TABLE IF NOT EXISTS archive_blocks ( id SERIAL PRIMARY KEY, archive_disk_id INTEGER, disk_path TEXT, last_du INTEGER DEFAULT -1, last_du_time INTEGER DEFAULT (strftime('%s','now')), creation_time INTEGER DEFAULT (strftime('%s','now'))); CREATE TABLE IF NOT EXISTS archive_allocations ( id SERIAL PRIMARY KEY, archive_block_id INTEGER, test_name TEXT, item_path TEXT, creation_time INTEGER DEFAULT (strftime('%s','now'))); CREATE TABLE IF NOT EXISTS extradat ( id SERIAL PRIMARY KEY, run_id INTEGER, key TEXT, val TEXT); CREATE TABLE IF NOT EXISTS metadat ( id SERIAL PRIMARY KEY, var TEXT, val TEXT); CREATE TABLE IF NOT EXISTS access_log ( id SERIAL PRIMARY KEY, "user" TEXT, accessed TIMESTAMP, args TEXT); CREATE TABLE IF NOT EXISTS tests ( id SERIAL PRIMARY KEY, run_id INTEGER DEFAULT -1, test_name TEXT DEFAULT 'noname', item_path TEXT DEFAULT '', state TEXT DEFAULT 'NOT_STARTED', status TEXT DEFAULT 'FAIL', host TEXT DEFAULT 'n/a', cpuload REAL DEFAULT -1, diskfree INTEGER DEFAULT -1, uname TEXT DEFAULT 'n/a', rundir TEXT DEFAULT '/tmp/badname', shortdir TEXT DEFAULT '/tmp/badname', attemptnum INTEGER DEFAULT 0, final_logf TEXT DEFAULT 'logs/final.log', logdat TEXT DEFAULT '', run_duration INTEGER DEFAULT 0, comment TEXT DEFAULT '', event_time INTEGER DEFAULT (strftime('%s','now')), fail_count INTEGER DEFAULT 0, pass_count INTEGER DEFAULT 0, archived INTEGER DEFAULT 0, -- 0=no, > 1=archive block id where test data can be found last_update INTEGER DEFAULT (strftime('%s','now')), CONSTRAINT testsconstraint UNIQUE (run_id, test_name, item_path)); CREATE TABLE IF NOT EXISTS test_steps ( id SERIAL PRIMARY KEY, test_id INTEGER, stepname TEXT, state TEXT DEFAULT 'NOT_STARTED', status TEXT DEFAULT 'n/a', event_time INTEGER DEFAULT (strftime('%s','now')), comment TEXT DEFAULT '', logfile TEXT DEFAULT '', last_update INTEGER DEFAULT (strftime('%s','now')), CONSTRAINT test_steps_constraint UNIQUE (test_id,stepname,state)); CREATE TABLE IF NOT EXISTS test_data ( id SERIAL 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 '', last_update INTEGER DEFAULT (strftime('%s','now')), CONSTRAINT test_data_constraint UNIQUE (test_id,category,variable)); CREATE TABLE IF NOT EXISTS test_rundat ( id SERIAL PRIMARY KEY, test_id INTEGER, update_time INTEGER, cpuload INTEGER DEFAULT -1, diskfree INTEGER DEFAULT -1, diskusage INTEGER DEFAULT -1, run_duration INTEGER DEFAULT 0); CREATE TABLE IF NOT EXISTS archives ( id SERIAL PRIMARY KEY, test_id INTEGER, state TEXT DEFAULT 'new', status TEXT DEFAULT 'n/a', archive_type TEXT DEFAULT 'bup', du INTEGER, archive_path TEXT); -- TRUNCATE archive_blocks, archive_allocations, extradat, metadat, -- access_log, tests, test_steps, test_data, test_rundat, archives, runs, -- run_stats, test_meta, tasks_queue, archive_disks; |
Modified mtut.scm from [f23a790152] to [6b09889e41].
︙ | ︙ | |||
582 583 584 585 586 587 588 589 590 591 592 593 594 595 | (let ((subcmd (car remargs))) (case (string->symbol subcmd) ((pgschema) (let* ((install-home (common:get-install-area)) (schema-file (conc install-home "/share/db/mt-pg.sql"))) (if (file-exists? schema-file) (system (conc "/bin/cat " schema-file))))) ((junk) (rmt:get-keys)))))))) ;; If HTTP_HOST is defined then we must be in the cgi environment ;; so run stml and exit ;; (if (get-environment-variable "HTTP_HOST") | > > > > > | 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 | (let ((subcmd (car remargs))) (case (string->symbol subcmd) ((pgschema) (let* ((install-home (common:get-install-area)) (schema-file (conc install-home "/share/db/mt-pg.sql"))) (if (file-exists? schema-file) (system (conc "/bin/cat " schema-file))))) ((sqlite3schema) (let* ((install-home (common:get-install-area)) (schema-file (conc install-home "/share/db/mt-sqlite3.sql"))) (if (file-exists? schema-file) (system (conc "/bin/cat " schema-file))))) ((junk) (rmt:get-keys)))))))) ;; If HTTP_HOST is defined then we must be in the cgi environment ;; so run stml and exit ;; (if (get-environment-variable "HTTP_HOST") |
︙ | ︙ |
Modified tasks.scm from [0cf4796135] to [65c9539101].
︙ | ︙ | |||
685 686 687 688 689 690 691 | )) test-ids))) ;; get runs changed since last sync ;; (define (tasks:sync-test-data dbh cached-info area-info) ;; (let* (( | | | | 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 | )) test-ids))) ;; get runs changed since last sync ;; (define (tasks:sync-test-data dbh cached-info area-info) ;; (let* (( (define (tasks:sync-to-postgres configdat dest) (let* ((dbh (pgdb:open configdat dbname: dest)) (area-info (pgdb:get-area-by-path dbh *toppath*)) (cached-info (make-hash-table)) (start (current-seconds))) (for-each (lambda (dtype) (hash-table-set! cached-info dtype (make-hash-table))) '(runs targets tests)) (hash-table-set! cached-info 'start start) ;; when done we'll set sync times to this |
︙ | ︙ | |||
709 710 711 712 713 714 715 | (print "area-info: " area-info) (if (not (null? test-ids)) (begin (print "Syncing " (length test-ids) " changed tests") (tasks:sync-tests-data dbh cached-info test-ids))) (pgdb:write-sync-time dbh area-info start)) (if (tasks:set-area dbh configdat) | | | 709 710 711 712 713 714 715 716 717 718 719 720 | (print "area-info: " area-info) (if (not (null? test-ids)) (begin (print "Syncing " (length test-ids) " changed tests") (tasks:sync-tests-data dbh cached-info test-ids))) (pgdb:write-sync-time dbh area-info start)) (if (tasks:set-area dbh configdat) (tasks:sync-to-postgres configdat dest) (begin (debug:print 0 *default-log-port* "ERROR: unable to create an area record") #f))))) |