Megatest

Check-in [7f3eadf698]
Login
Overview
Comment:updated dcommon:status-compare3 to use *common:std-statuses* to establish status goodness comparison. original hardcoded list had anomaly of fail better than check.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.64 | v1.6436
Files: files | file ages | folders
SHA1: 7f3eadf698cc059ec78496ee1757138d164bed6e
User & Date: bjbarcla on 2017-10-25 17:37:15
Other Links: branch diff | manifest | tags
Context
2017-11-10
17:24
backport fix for item2; the ability to recognize zero items in special cases check-in: 621d3c2ef2 user: bjbarcla tags: v1.64
2017-10-25
17:37
updated dcommon:status-compare3 to use *common:std-statuses* to establish status goodness comparison. original hardcoded list had anomaly of fail better than check. check-in: 7f3eadf698 user: bjbarcla tags: v1.64, v1.6436
12:05
addressed chained-waiton issues as well as rollup to deleted issue check-in: 907dd389a6 user: bjbarcla tags: v1.64
Changes

Modified common.scm from [a4fa0fe433] to [c69f2d502a].

519
520
521
522
523
524
525


526
527

528
529
530
531
532
533
534
519
520
521
522
523
524
525
526
527
528

529
530
531
532
533
534
535
536







+
+

-
+







    (5 "COMPLETED")
    (6 "LAUNCHED")
    (7 "REMOTEHOSTSTART")
    (8 "RUNNING")
    ))

;; BBnote: *common:std-statuses* dashboard filter control and test control status buttons defined here; used in set-fields-panel and dboard:make-controls
;; note these statuses are sorted from better to worse.
;; This sort order is important to dcommon:status-compare3 and db:set-state-status-and-roll-up-items
(define *common:std-statuses*
  '(;; (0 "DELETED")
  '(;; (0 "DELETED")  
    (1 "n/a")
    (2 "PASS")
    (3 "SKIP")
    (4 "WARN")
    (5 "WAIVED")
    (6 "CHECK")
    (7 "STUCK/DEAD")

Modified dcommon.scm from [4a0cb449c5] to [31e48dd68c].

331
332
333
334
335
336
337
338




339
340
341
342
343
344
345
331
332
333
334
335
336
337

338
339
340
341
342
343
344
345
346
347
348







-
+
+
+
+







    res))

;; return 1 if status1 is better
;; return 0 if status1 and 2 are equally good
;; return -1 if status2 is better
(define (dcommon:status-compare3 status1 status2)
  (let*
      ((status-goodness-ranking  (list "PASS" "WARN" "WAIVED" "SKIP" "FAIL" "ABORT" #f))
      ((status-goodness-ranking  (cdr ;; cdr to drop first item -- "n/a"
                                  (append (map cadr *common:std-statuses*)
                                          '(#f)) ;; algorithm requres last item to be #f
                                  )  )
       (mem1 (member status1 status-goodness-ranking))
       (mem2 (member status2 status-goodness-ranking))
       )
    (cond
     ((and (not mem1) (not mem2)) 0)
     ((not mem1) -1)
     ((not mem2) 1)