Overview
Context
Changes
Modified db.scm
from [e33fe9021a]
to [a465e1fc65].
︙ | | |
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
|
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
|
+
+
+
-
-
-
-
-
+
+
+
+
+
|
(set! res tpath))
db
"SELECT rundir FROM tests WHERE id=?;"
test-id)
(hash-table-set! *test-paths* test-id res)
res))))
(define (cdb:test-set-log! zmqsocket test-id logf)
(if (string? logf)(cdb:client-call zmqsocket 'test-set-log #t test-id logf)))
(define (db:test-set-log! db test-id logf)
(if (string? logf)
(sqlite3:execute db "UPDATE tests SET final_logf=? WHERE id=?;"
logf test-id)
(debug:print 0 "ERROR: db:test-set-log! called with non-string log file name " logf)))
;; (define (db:test-set-log! db test-id logf)
;; (if (string? logf)
;; (sqlite3:execute db "UPDATE tests SET final_logf=? WHERE id=?;"
;; logf test-id)
;; (debug:print 0 "ERROR: db:test-set-log! called with non-string log file name " logf)))
;;======================================================================
;; Misc. test related queries
;;======================================================================
(define (db:test-get-paths-matching db keynames target fnamepatt #!key (res '()))
(let* ((testpatt (if (args:get-arg "-testpatt")(args:get-arg "-testpatt") "%"))
|
︙ | | |
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
|
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
|
-
+
+
|
ELSE status
END WHERE id=?;")
(rollup-tests-pass-fail "UPDATE tests
SET fail_count=(SELECT count(id) FROM tests WHERE
run_id=? AND testname=? AND item_path != '' AND status='FAIL'),
pass_count=(SELECT count(id) FROM tests WHERE
run_id=? AND testname=? AND item_path != '' AND (status='PASS' OR status='WARN' OR status='WAIVED'))
WHERE run_id=? AND testname=? AND item_path='';")))
WHERE run_id=? AND testname=? AND item_path='';")
(test-set-log "UPDATE tests SET final_logf=? WHERE id=?;")))
(define db:special-queries '(rollup-tests-pass-fail))
(define db:run-local-queries '(rollup-tests-pass-fail))
;; The queue is a list of vectors where the zeroth slot indicates the type of query to
;; apply and the second slot is the time of the query and the third entry is a list of
;; values to be applied
|
︙ | | |
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
|
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
|
-
+
|
data)
(let outerloop ((special-qry #f)
(stmts data))
(if special-qry
;; handle a query that cannot be part of the grouped queries
(let* ((stmt-key (vector-ref special-qry 0))
(qry (hash-table-ref queries stmt-key))
(params (vector-ref speical-qry 2)))
(params (vector-ref special-qry 2)))
(apply sqlite3:execute db qry params)
(if (not (null? stmts))
(outerloop #f stmts)))
;; handle normal queries
(sqlite3:with-transaction
db
(lambda ()
|
︙ | | |
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
|
1728
1729
1730
1731
1732
1733
1734
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|
(debug:print 0 "WARNING: path given, " outputfile " is relative, prefixing with current directory")
(conc (current-directory) "/" outputfile)))
results)
;; brutal clean up
(system "rm -rf tempdir")))
;; (db:extract-ods-file db "outputfile.ods" '(("sysname" "%")("fsname" "%")("datapath" "%")) "%")
;;======================================================================
;; REMOTE DB ACCESS VIA RPC
;;======================================================================
;; (define (rdb:test-set-status-state test-id status state msg)
;; (if *runremote*
;; (let ((host (vector-ref *runremote* 0))
;; (port (vector-ref *runremote* 1)))
;; (handle-exceptions
;; exn
;; (begin
;; (debug:print 0 "EXCEPTION: rpc call failed?")
;; (debug:print 0 " " ((condition-property-accessor 'exn 'message) exn))
;; (print-call-chain)
;; (cdb:test-set-status-state test-id status state msg))
;; ((rpc:procedure 'cdb:test-set-status-state host port) test-id status state msg)))
;; (cdb:test-set-status-state test-id status state msg)))
;;
;; (define (rdb:test-rollup-test_data-pass-fail test-id)
;; (if *runremote*
;; (let ((host (vector-ref *runremote* 0))
;; (port (vector-ref *runremote* 1)))
;; ((rpc:procedure 'cdb:test-rollup-test_data-pass-fail host port) test-id))
;; (cdb:test-rollup-test_data-pass-fail test-id)))
;;
;; (define (rdb:pass-fail-counts test-id fail-count pass-count)
;; (if *runremote*
;; (let ((host (vector-ref *runremote* 0))
;; (port (vector-ref *runremote* 1)))
;; ((rpc:procedure 'cdb:pass-fail-counts host port) test-id fail-count pass-count))
;; (cdb:pass-fail-counts test-id fail-count pass-count)))
;;
;; ;; currently forces a flush of the queue
;; (define (rdb:tests-register-test db run-id test-name item-path)
;; (if *runremote*
;; (let ((host (vector-ref *runremote* 0))
;; (port (vector-ref *runremote* 1)))
;; ((rpc:procedure 'cdb:tests-register-test host port) db run-id test-name item-path force-write: #t))
;; (cdb:tests-register-test db run-id test-name item-path force-write: #t)))
;;
;; (define (rdb:flush-queue)
;; (if *runremote*
;; (let ((host (vector-ref *runremote* 0))
;; (port (vector-ref *runremote* 1)))
;; ((rpc:procedure 'cdb:flush-queue host port)))
;; (cdb:flush-queue)))
;;
|
Modified launch.scm
from [589d6c81e2]
to [a28627be0c].
︙ | | |
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
-
+
|
(processloop (+ i 1))))
))
(let ((exinfo (vector-ref exit-info 2))
(logfna (if logpro-used (conc stepname ".html") "")))
;; testing if procedures called in a remote call cause problems (ans: no or so I suspect)
(open-run-close db:teststep-set-status! #f test-id stepname "end" exinfo #f logfna))
(if logpro-used
(open-run-close db:test-set-log! #f test-id (conc stepname ".html")))
(cdb:test-set-log! *runremote* test-id (conc stepname ".html")))
;; set the test final status
(let* ((this-step-status (cond
((and (eq? (vector-ref exit-info 2) 2) logpro-used) 'warn)
((eq? (vector-ref exit-info 2) 0) 'pass)
(else 'fail)))
(overall-status (cond
((eq? rollup-status 2) 'warn)
|
︙ | | |
Modified megatest.scm
from [6497660326]
to [c0180579ce].
︙ | | |
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
|
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
|
-
+
|
(server:client-setup)
(if (args:get-arg "-load-test-data")
;; has sub commands that are rdb:
(open-run-close db:load-test-data db test-id))
(if (args:get-arg "-setlog")
(let ((logfname (args:get-arg "-setlog")))
(open-run-close db:test-set-log! db test-id logfname)))
(cdb:test-set-log! *runremote* #t test-id logfname)))
(if (args:get-arg "-set-toplog")
(open-run-close tests:test-set-toplog! db run-id test-name (args:get-arg "-set-toplog")))
(if (args:get-arg "-summarize-items")
(open-run-close tests:summarize-items db run-id test-name #t)) ;; do force here
(if (args:get-arg "-runstep")
(if (null? remargs)
(begin
|
︙ | | |
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
|
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
|
-
+
|
(oldexitstat exitstat)
(cmd (string-intersperse (list "logpro" logprofile htmllogfile "<" logfile ">" (conc stepname "_logpro.log")) " ")))
(debug:print-info 2 "running \"" cmd "\"")
(change-directory startingdir)
(set! exitstat (system cmd))
(set! *globalexitstatus* exitstat) ;; no necessary
(change-directory testpath)
(open-run-close db:test-set-log! db test-id htmllogfile)))
(cdb:test-set-log! *runremote* #t test-id htmllogfile)))
(let ((msg (args:get-arg "-m")))
(open-run-close db:teststep-set-status! db test-id stepname "end" exitstat msg logfile))
)))
(if (or (args:get-arg "-test-status")
(args:get-arg "-set-values"))
(let ((newstatus (cond
((number? status) (if (equal? status 0) "PASS" "FAIL"))
|
︙ | | |