Megatest

Check-in [ffb9b4f85a]
Login
Overview
Comment:Attempted mechanism to propagate itempatt with an itemmap
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.60-itempatt-itemmap
Files: files | file ages | folders
SHA1: ffb9b4f85a633faeb6a538241bb88939ed0bbccd
User & Date: matt on 2015-07-29 01:28:31
Other Links: branch diff | manifest | tags
Context
2015-07-29
23:50
Fixed dep handling check-in: e150631c4b user: matt tags: v1.60-itempatt-itemmap
01:28
Attempted mechanism to propagate itempatt with an itemmap check-in: ffb9b4f85a user: matt tags: v1.60-itempatt-itemmap
2015-07-28
13:54
Missed a change to reference % for run killing check-in: 7895c3fddf user: mrwellan tags: v1.60
Changes

Modified db.scm from [753e9325a7] to [fe4d7434d3].

3271
3272
3273
3274
3275
3276
3277














3278
3279
3280
3281
3282
3283
3284
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298







+
+
+
+
+
+
+
+
+
+
+
+
+
+







	     (replacement (if (> (length mapparts) 1) (cadr mapparts) "")))
	(if replacement
	    (equal? (string-substitute pattern replacement patha)
		    (string-substitute pattern replacement pathb))
	    (equal? (string-substitute pattern "" patha)
		    (string-substitute pattern "" pathb))))
      (equal? patha pathb)))

;; A routine to convert test/itempath using a itemmap
(define (db:convert-test-itempath path-in itemmap)
  (debug:print-info 6 "ITEMMAP is " itemmap)
  (let* ((mapparts    (string-split itemmap))
	 (pattern     (car mapparts))
	 (replacement (if (> (length mapparts) 1) (cadr mapparts) ""))
	 (path-parts  (string-split path-in "/"))
	 (test-name   (car path-parts))
	 (item-path   (string-intersperse (cdr path-parts) "/")))
    (conc test-name "/" 
	  (if replacement
	      (string-substitute pattern replacement item-path)
	      (string-substitute pattern "" path-in)))))

;; the new prereqs calculation, looks also at itempath if specified
;; all prereqs must be met:
;;    if prereq test with itempath='' is COMPLETED and PASS, WARN, CHECK, or WAIVED then prereq is met
;;    if prereq test with itempath=ref-item-path and COMPLETED with PASS, WARN, CHECK, or WAIVED then prereq is met
;;
;; Note: mode 'normal means that tests must be COMPLETED and ok (i.e. PASS, WARN, CHECK, SKIP or WAIVED)

Modified multi-dboard.scm from [aa5e3f008b] to [e9e822b1ad].

771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
771
772
773
774
775
776
777


778
779
780
781
782
783
784







-
-







		     0                 ;; current tab id
		     #f                ;; redraw needed for current tab id
		     (make-hash-table) ;; tab-id -> areaname
		     )))
    (hash-table-set! *windows* window-id data)
    (iup:show (dashboard:main-panel data window-id))
    (iup:main-loop)))



;; ease debugging by loading ~/.dashboardrc
(let ((debugcontrolf (conc (get-environment-variable "HOME") "/.dashboardrc")))
  (if (file-exists? debugcontrolf)
      (load debugcontrolf)))

(define (main)

Modified runs.scm from [afa07ed136] to [eb5e35bb66].

420
421
422
423
424
425
426
427


428
429
430
431
432
433
434
420
421
422
423
424
425
426

427
428
429
430
431
432
433
434
435







-
+
+







			   (if waiton-itemized
			       (begin
				 (debug:print-info 0 "New test patts: " new-test-patts ", prev test patts: " test-patts)
				 (set! required-tests (cons (conc waiton "/") required-tests))
				 (set! test-patts new-test-patts))
			       (begin
				 (debug:print-info 0 "Adding non-itemized test " waiton " to required-tests")
				 (set! required-tests (cons waiton required-tests)))))
				 (set! required-tests (cons waiton required-tests))
				 (set! test-patts new-test-patts))))
			 (begin
			   (debug:print-info 0 "No testconfig info yet for " waiton ", setting up to re-process it")
			   (set! tal (append (cons waiton tal)(list hed))))) ;; (cons (conc waiton "/") required-tests))
			 
		     ;; NOPE: didn't work. required needs to be plain test names. Try tacking on to test-patts
		     ;;  - doesn't work
		     ;; (set! test-patts (conc test-patts "," waiton "/"))

Modified tests.scm from [de4ce3d9c3] to [6ce512b6dd].

76
77
78
79
80
81
82

83

84
85
86
87
88
89
90
76
77
78
79
80
81
82
83

84
85
86
87
88
89
90
91







+
-
+








;; given test-b that is waiting on test-a extend test-patt appropriately
;;
(define (tests:extend-test-patts test-patt test-b test-a itemmap)
  (let* ((patts      (string-split test-patt ","))
	 (test-b-len (+ (string-length test-b) 1))
	 (patts-b    (map (lambda (x)
			    (let* ((modpatt (if itemmap (db:convert-test-itempath x itemmap) x)) 
			    (let ((newpatt (conc test-a "/" (substring x test-b-len (string-length x)))))
				   (newpatt (conc test-a "/," test-a "/" (substring modpatt test-b-len (string-length modpatt)))))
			      ;; (print "in map, x=" x ", newpatt=" newpatt)
			      newpatt))
			  (filter (lambda (x)
				    (eq? (substring-index (conc test-b "/") x) 0))
				  patts))))
    (string-intersperse (delete-duplicates (append patts (if (null? patts-b)
							     (list (conc test-a "/%"))

Modified tests/dep-tests/tests/genlib/testconfig from [b79b5cc679] to [37b8dd3e28].

1
2
3
4
5
6
7
8

1
2
3
4
5
6
7

8







-
+
[include #{getenv MT_RUN_AREA_HOME}/common.testconfig]

[itemstable]
VIEWTYPE layout schematic

[requirements]
waiton #{get #{getenv DEPS} genlib}

itemmap /.*

Modified tests/dep-tests/tests/test1/testconfig from [f7e45fbc74] to [cd4af3a0a6].

1
2
3
4
5
6
7

1
2
3
4
5
6

7






-
+
[include #{getenv MT_RUN_AREA_HOME}/common.testconfig]

[include #{getenv MT_RUN_AREA_HOME}/common_itemstable.testconfig]

[requirements]
waiton #{get #{getenv DEPS} test1}

itemmap /.*