Megatest

Check-in [b036d63d1a]
Login
Overview
Comment:Rebasing envprocessing branch; added common:get-linktree, generalized common:args-get-runname, added check to common:args-get-target for availability of *configdat*
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | rebase-envprocessing
Files: files | file ages | folders
SHA1: b036d63d1a643dcb5602d804d8047709854f0a02
User & Date: mrwellan on 2016-04-26 16:49:12
Other Links: branch diff | manifest | tags
Context
2016-04-26
17:30
Rename launch:setup-for-run to launch:setup check-in: 96f16dded6 user: mrwellan tags: rebase-envprocessing
16:49
Rebasing envprocessing branch; added common:get-linktree, generalized common:args-get-runname, added check to common:args-get-target for availability of *configdat* check-in: b036d63d1a user: mrwellan tags: rebase-envprocessing
2016-03-01
16:47
Moving to consistent loading of config files check-in: 2fdd7fc00d user: mrwellan tags: envprocessing
Changes

Modified common.scm from [be31830ee6] to [f816de044c].

41
42
43
44
45
46
47

48
49
50





51

52
53
54
55
56
57
58
41
42
43
44
45
46
47
48



49
50
51
52
53
54
55
56
57
58
59
60
61
62







+
-
-
-
+
+
+
+
+

+







      (debug:print 0 "ERROR: bad value for setenv, key=" key ", value=" val)))

(define home (getenv "HOME"))
(define user (getenv "USER"))

;; GLOBAL GLETCHES
(define *db-keys* #f)

(define *configinfo* #f)
(define *configdat*  #f)
(define *toppath*    #f)
(define *configinfo*   #f)   ;; raw results from setup, includes toppath and table from megatest.config
(define *runconfigdat* #f)   ;; run configs data
(define *configdat*    #f)   ;; megatest.config data
(define *configstatus* #f)   ;; status of data; 'fulldata : all processing done, #f : no data yet, 'partialdata : partial read done
(define *toppath*      #f)
(define *already-seen-runconfig-info* #f)

(define *waiting-queue*     (make-hash-table))
(define *test-meta-updated* (make-hash-table))
(define *globalexitstatus*  0) ;; attempt to work around possible thread issues
(define *passnum*           0) ;; when running track calls to run-tests or similar
(define *write-frequency*   (make-hash-table)) ;; run-id => (vector (current-seconds) 0))
(define *alt-log-file* #f)  ;; used by -log
(define *common:denoise*    (make-hash-table)) ;; for low noise printing
445
446
447
448
449
450
451





452
453
454
455





456
457
458

459
460
461
462
463
464
465
449
450
451
452
453
454
455
456
457
458
459
460
461



462
463
464
465
466
467
468

469
470
471
472
473
474
475
476







+
+
+
+
+

-
-
-
+
+
+
+
+


-
+







			    "%"))
	 (testpatt    (or (and (equal? args-testpatt "%")
			       rtestpatt)
			  args-testpatt)))
    (if rtestpatt (debug:print-info 0 "TESTPATT from runconfigs: " rtestpatt))
    testpatt))

(define (common:get-linktree)
  (or (getenv "MT_LINKTREE")
      (if *configdat*
	  (configf:lookup *configdat* "setup" "linktree"))))

(define (common:args-get-runname)
  (or (args:get-arg "-runname")
      (args:get-arg ":runname")
      (getenv "MT_RUNNAME")))
  (let ((res (or (args:get-arg "-runname")
		 (args:get-arg ":runname")
		 (getenv "MT_RUNNAME"))))
    ;; (if res (set-environment-variable "MT_RUNNAME" res)) ;; not sure if this is a good idea. side effect and all ...
    res))

(define (common:args-get-target #!key (split #f))
  (let* ((keys    (keys:config-get-fields *configdat*))
  (let* ((keys    (if *configdat* (keys:config-get-fields *configdat*) '()))
	 (numkeys (length keys))
	 (target  (if (args:get-arg "-reqtarg")
		      (args:get-arg "-reqtarg")
		      (if (args:get-arg "-target")
			  (args:get-arg "-target")
			  (getenv "MT_TARGET"))))
	 (tlist   (if target (string-split target "/" #t) '()))