Megatest

Changes On Branch 126270785db57820
Login

Changes In Branch v1.64-elena-issues Through [126270785d] Excluding Merge-Ins

This is equivalent to a diff from 621d3c2ef2 to 126270785d

2017-11-22
14:55
fixed bug where rollup to REMOVING occurred where unexpected; fixed bug where testpatt having tests ending in % caused deadlock; a regression introduced in 1.64/36 check-in: 9177827d9e user: bjbarcla tags: v1.64, passed-ext-tests
2017-11-20
22:45
Merged in couple fixes from v1.64 check-in: b054d48890 user: matt tags: v1.65
2017-11-17
17:14
Merged most (all?) work from v1.64-areas-dashboard into v1.64-new-areas-dashboard Leaf check-in: b20103fa31 user: mrwellan tags: v1.64-new-areas-dashboard
16:49
Merged from f8b7 - fails Leaf check-in: 1cc36f7d8a user: mrwellan tags: v1.64-recover-areas-dashboard (unpublished)
2017-11-16
15:42
fixed problem with infinite loop during testpatt elaboration with % suffix check-in: c4fa1b9705 user: bjbarcla tags: v1.64-elena-issues
2017-11-15
11:59
fixed issue where on deleting item, toplevel status changed to REMOVING check-in: 126270785d user: bjbarcla tags: v1.64-elena-issues
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

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

517
518
519
520
521
522
523







524
525
526
527
528
529
530
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537







+
+
+
+
+
+
+







    (3 "KILLED")
    (4 "NOT_STARTED")
    (5 "COMPLETED")
    (6 "LAUNCHED")
    (7 "REMOTEHOSTSTART")
    (8 "RUNNING")
    ))

(define *common:dont-roll-up-states*
  '("DELETED"
    "REMOVING"
    "CLEANING"
    "ARCHIVE_REMOVING"
    ))

;; 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")  
    (1 "n/a")
554
555
556
557
558
559
560






561
562
563
564
565
566
567
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580







+
+
+
+
+
+







  '("RUNNING" "REMOTEHOSTSTART" "LAUNCHED" "STARTED"))

(define *common:cant-run-states*    ;; These are stopping conditions that prevent a test from being run
  '("COMPLETED" "KILLED" "UNKNOWN" "INCOMPLETE" "ARCHIVED"))

(define *common:not-started-ok-statuses* ;; if not one of these statuses when in not_started state treat as dead
  '("n/a" "na" "PASS" "FAIL" "WARN" "CHECK" "WAIVED" "DEAD" "SKIP"))

;; group tests into buckets corresponding to rollup
;;; Running, completed-pass,  completed-non-pass + worst status, not started.
;; filter out 
;(define (common:categorize-items-for-rollup in-tests)
;  (

(define (common:special-sort items order comp)
  (let ((items-order (map reverse order))
        (acomp       (or comp >)))
    (sort items
        (lambda (a b)
          (let ((a-num (cadr (or (assoc a items-order) '(0 0))))

Modified db.scm from [62fe1ce199] to [afc751ae6f].

3519
3520
3521
3522
3523
3524
3525
3526

3527
3528
3529
3530
3531
3532

3533
3534
3535
3536
3537

3538
3539
3540
3541
3542
3543
3544
3519
3520
3521
3522
3523
3524
3525

3526
3527
3528
3529
3530
3531

3532
3533
3534
3535
3536

3537
3538
3539
3540
3541
3542
3543
3544







-
+





-
+




-
+







                                                                                      *common:not-started-ok-statuses*))))
								  state-status-counts)))
                            ;; (non-completes        (filter (lambda (x)
                            ;;                                 (not (equal? (dbr:counts-state x) "COMPLETED")))
                            ;;                               state-status-counts))
                            (all-curr-states      (common:special-sort  ;; worst -> best (sort of)
                                                       (delete-duplicates
                                                        (if (not (equal? state "DELETED"))
                                                        (if (not (member state *common:dont-roll-up-states*))
                                                            (cons state (map dbr:counts-state state-status-counts))
                                                            (map dbr:counts-state state-status-counts)))
                                                       *common:std-states* >))
                            (all-curr-statuses    (common:special-sort  ;; worst -> best
                                                   (delete-duplicates
                                                    (if (not (equal? state "DELETED"))
                                                    (if (not (member state *common:dont-roll-up-states*))
                                                        (cons status (map dbr:counts-status state-status-counts))
                                                        (map dbr:counts-status state-status-counts)))
                                                   *common:std-statuses* >))
			    (non-completes     (filter (lambda (x)
							 (not (member x '("DELETED" "COMPLETED"))))
							 (not (member x (cons "COMPLETED" *common:dont-roll-up-states*))))
						       all-curr-states))
			    (num-non-completes (length non-completes))
                            
                            (newstate          (cond
						((> running 0)
						 "RUNNING") ;; anything running, call the situation running
						((> bad-not-started 0)  ;; we have an ugly situation, it is completed in the sense we cannot do more.