Megatest

Check-in [8643d8d19c]
Login
Overview
Comment:Added protection against invalid env vars
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.55
Files: files | file ages | folders
SHA1: 8643d8d19cfda98bf031c7cd8711dc85b8a066e7
User & Date: mrwellan on 2014-06-24 12:26:13
Other Links: branch diff | manifest | tags
Context
2014-06-26
15:30
Evaluate strings before storing in environment in launch:execute check-in: 9e348640c4 user: mrwellan tags: v1.55, v1.5523
2014-06-24
12:26
Added protection against invalid env vars check-in: 8643d8d19c user: mrwellan tags: v1.55
2014-06-23
17:36
Renamed some routines, added use of MT_TARGET for input of target in getting runconfigs data (fixes bug where it only worked when using -target check-in: 1bd823a800 user: mrwellan tags: v1.55
Changes

Modified launch.scm from [678544752a] to [2cbf6ba72c].

101
102
103
104
105
106
107

108




109
110
111
112
113
114
115
101
102
103
104
105
106
107
108

109
110
111
112
113
114
115
116
117
118
119







+
-
+
+
+
+







	  (change-directory *toppath*) 
	  (let ((rconfig (full-runconfigs-read))) ;; (read-config (conc  *toppath* "/runconfigs.config") #f #t sections: (list "default" target))))
	    ;; (setup-env-defaults (conc *toppath* "/runconfigs.config") run-id (make-hash-table) keyvals target)
	    ;; (set-run-config-vars run-id keyvals target) ;; (db:get-target db run-id))
	    ;; Now have runconfigs data loaded, set environment vars
	    (for-each (lambda (section)
			(for-each (lambda (varval)
				    (let ((var (car varval))
				    (setenv (car varval)(cadr varval)))
					  (val (cadr varval)))
				      (if (and (string? var)(string? val))
					  (setenv var val)
					  (debug:print 0 "ERROR: bad variable spec, " var "=" val))))
				  (configf:get-section rconfig section)))
		      (list "default" target)))
	  (change-directory work-area) 
	  ;; Setup the *runremote* global var
	  (if *runremote* (debug:print 2 "ERROR: I'm not expecting *runremote* to be set at this time"))
	  ;; (set! *runremote* runremote)
	  ;; (set! *transport-type* (string->symbol transport))
690
691
692
693
694
695
696
697


698
699
700
701
702
703
704
694
695
696
697
698
699
700

701
702
703
704
705
706
707
708
709







-
+
+







    (setenv "MT_ITEMPATH" item-path)
    (if hosts (set! hosts (string-split hosts)))
    ;; set the megatest to be called on the remote host
    (if (not remote-megatest)(set! remote-megatest local-megatest)) ;; "megatest"))
    (set! mt-bindir-path (pathname-directory remote-megatest))
    (if launcher (set! launcher (string-split launcher)))
    ;; set up the run work area for this test
    (if (args:get-arg "-preclean") ;; user has requested to preclean for this run
    (if (and (args:get-arg "-preclean") ;; user has requested to preclean for this run
	     (not (equal? (db:test-get-rundir testinfo) "n/a"))) ;; n/a is a placeholder and thus not a read dir
	(begin 
	  (debug:print-info 0 "attempting to preclean directory " (db:test-get-rundir testinfo) " for test " test-name "/" item-path)
	  (runs:remove-test-directory #f testinfo #t))) ;; remove data only, do not perturb the record
    (set! diskpath (get-best-disk *configdat*))
    (if diskpath
	(let ((dat  (create-work-area run-id run-info keyvals test-id test-path diskpath test-name itemdat)))
	  (set! work-area (car dat))