Megatest

Diff
Login

Differences From Artifact [10fc95f88c]:

To Artifact [15f0835800]:


522
523
524
525
526
527
528

529
530
531
532
533
534
535
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536







+







;;  var yes
;;
;;  (configf:var-is? cfgdat "foo" "var" "yes") => #t
;;
(define (configf:var-is? cfgdat section var expected-val)
  (equal? (configf:lookup cfgdat section var) expected-val))

;; redefines
(define config-lookup configf:lookup)
(define configf:read-file read-config)

;; safely look up a value that is expected to be a number, return
;; a default (#f unless provided)
;;
(define (configf:lookup-number cfdat section varname #!key (default #f))
552
553
554
555
556
557
558

559
560


561
562
563
564
565
566
567
553
554
555
556
557
558
559
560


561
562
563
564
565
566
567
568
569







+
-
-
+
+







  (hash-table-ref/default cfgdat section '()))

(define (configf:set-section-var cfgdat section var val)
  (let ((sectdat (configf:get-section cfgdat section)))
    (hash-table-set! cfgdat section
                     (configf:assoc-safe-add sectdat var val))))

;;======================================================================
    ;;(append (filter (lambda (x)(not (assoc var sectdat))) sectdat)
    ;;	    (list var val))))
;;(append (filter (lambda (x)(not (assoc var sectdat))) sectdat)
;;	    (list var val))))

(define (setup)
  (let* ((configf (find-config "megatest.config"))
	 (config  (if configf (read-config configf #f #t) #f)))
    (if config
	(setenv "RUN_AREA_HOME" (pathname-directory configf)))
    config))