42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
-
+
|
0))
(defstruct testdat
(tc-type #f)
(state #f)
(status #f)
(overall #f)
flowid
(flowid #f)
tctname
tname
(event-time #f)
details
comment
duration
(start-printed #f)
|
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
|
+
+
-
+
+
+
+
|
(tctname (if (string=? itempath "") testname (conc testname "." (string-translate itempath "/" "."))))
(state (db:test-get-state test-rec))
(status (db:test-get-status test-rec))
(etime (db:test-get-event_time test-rec))
(duration (or (any->number (db:test-get-run_duration test-rec)) 0))
(comment (db:test-get-comment test-rec))
(logfile (db:test-get-final_logf test-rec))
(hostn (db:test-get-host test-rec))
(pid (db:test-get-process_id test-rec))
(newstat (cond
((equal? state "RUNNING") "RUNNING")
((equal? state "COMPLETED") status)
(flush (conc state "/" status))
(else "UNK")))
(cmtstr (if (and (not flush) comment)
comment
(if flush
(conc "Test ended in state/status=" state "/" status (if (string-match "^\\s*$" comment)
", no Megatest comment found."
(conc ", Megatest comment=\"" comment "\""))) ;; special case, we are handling stragglers
#f)))
(details (if (string-match ".*html$" logfile)
(conc *toppath* "/lt/" target "/" runname "/" testname (if (equal? itempath "") "/" (conc "/" itempath "/")) logfile)
#f))
(prev-tdat (hash-table-ref/default data tname #f))
(tdat (if is-top
#f
(let ((new (or prev-tdat (make-testdat)))) ;; recycle the record so we keep track of already printed items
(testdat-flowid-set! new flowid)
(testdat-flowid-set! new (or (testdat-flowid new)
(if (eq? pid 0)
tctname
(conc hostn "-" pid))))
(testdat-tctname-set! new tctname)
(testdat-tname-set! new tname)
(testdat-state-set! new state)
(testdat-status-set! new status)
(testdat-comment-set! new cmtstr)
(testdat-details-set! new details)
(testdat-duration-set! new duration)
|