Megatest

Check-in [73094d5fd6]
Login
Overview
Comment:Allow passing in extra parameters to command pkts in mtutil.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.64
Files: files | file ages | folders
SHA1: 73094d5fd69d016118eae4898c927368bf2c1c23
User & Date: mrwellan on 2017-04-25 22:10:49
Other Links: branch diff | manifest | tags
Context
2017-04-26
14:29
MTA fix

CherryPicked backout 70a3. check-in: 669204e634 user: ritikaag tags: v1.64

2017-04-25
23:23
Beginnings of gendot check-in: c0a152be15 user: matt tags: v1.64-gendot
22:10
Allow passing in extra parameters to command pkts in mtutil. check-in: 73094d5fd6 user: mrwellan tags: v1.64
00:12
configf - keep reference to empty sections. NOTE: This breaks several tests but is still correct behavior check-in: 3129220de0 user: matt tags: v1.64, config-section-fix
Changes

Modified mtut.scm from [519d9f5751] to [b02905e71e].

381
382
383
384
385
386
387
388

389
390
391
392
393
394
395
396
397
398
399
400
401

402
403
404
405
406
407
408
381
382
383
384
385
386
387

388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409







-
+













+







  (seconds->local-time (current-seconds)) "%Yw%V.%w-%H%M"))

;; collect, translate, collate and assemble a pkt from the command-line
;;
;; sched => force the run start time to be recorded as sched Unix
;; epoch. This aligns times properly for triggers in some cases.
;;
(define (command-line->pkt action args-alist sched-in)
(define (command-line->pkt action args-alist sched-in #!key (extra-dat '()))
  (let* ((sched     (cond
		     ((vector? sched-in)(local-time->seconds sched-in)) ;; we recieved a time
		     ((number? sched-in) sched-in)
		     (else     (current-seconds))))
	 (args-data (if args-alist
			(if (hash-table? args-alist) ;; seriously?
			    (hash-table->alist args-alist)
			    args-alist)
			(hash-table->alist args:arg-hash))) ;; if no args-alist then we assume this is a call driven directly by commandline
	 (alldat    (apply append (list 'T "cmd"
					'a action
					'U (current-user-name)
					'D sched)
                           extra-dat
			   (map (lambda (x)
				  (let* ((param (car x))
					 (value (cdr x))
					 (pmeta (assoc param *arg-keys*))    ;; translate the card key to a megatest switch or parameter
					 (smeta (assoc param *switch-keys*)) ;; first lookup the key in arg-keys or switch-keys
					 (meta  (if (or pmeta smeta)
						    (cdr (or pmeta smeta))   ;; found it?
512
513
514
515
516
517
518
519



520
521
522
523
524
525
526
513
514
515
516
517
518
519

520
521
522
523
524
525
526
527
528
529







-
+
+
+







			'())
		    (if (or (not action)
			    (equal? action "run"))
			`(("-preclean"  . " ")
			  ("-rerun-all" . " "))      ;; if run we *always* want preclean set, use single space as placeholder
			'())
		    )
		   sched)))
		   sched
                   extra-dat: `((a . ,runkey))  ;; we need the run key for marking the run as launched
                   )))
      (with-output-to-file
	  (conc pktsdir "/" uuid ".pkt")
	(lambda ()
	  (print pkt))))))


(define (val-alist->areas val-alist)