Index: archive.scm ================================================================== --- archive.scm +++ archive.scm @@ -22,16 +22,18 @@ (declare (uses db)) (declare (uses debugprint)) (declare (uses mtargs)) (declare (uses common)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses rmtmod)) (use (prefix sqlite3 sqlite3:) srfi-1 posix regex regex-case srfi-69 format md5 message-digest srfi-18) (import commonmod + configfmod debugprint rmtmod (prefix mtargs args:)) (include "common_records.scm") Index: common.scm ================================================================== --- common.scm +++ common.scm @@ -18,10 +18,12 @@ ;;====================================================================== (declare (unit common)) (declare (uses commonmod)) +(declare (uses processmod)) +(declare (uses configfmod)) (declare (uses rmtmod)) (declare (uses debugprint)) (declare (uses mtargs)) @@ -35,11 +37,13 @@ ) (use posix-extras pathname-expand files) (import commonmod + processmod debugprint + configfmod rmtmod (prefix mtargs args:)) (include "common_records.scm") Index: commonmod.scm ================================================================== --- commonmod.scm +++ commonmod.scm @@ -209,11 +209,11 @@ ;; for reasons I don't understand multiple calls to real-path in parallel threads ;; must be protected by mutexes ;; (define (common:real-path inpath) - ;; (process:cmd-run-with-stderr->list "readlink" "-f" inpath)) ;; cmd . params) + ;; (process :cmd-run-with-stderr->list "readlink" "-f" inpath)) ;; cmd . params) ;; (let-values ;; (((inp oup pid) (process "readlink" (list "-f" inpath)))) ;; (with-input-from-port inp ;; (let loop ((inl (read-line)) ;; (res #f)) Index: configf.scm ================================================================== --- configf.scm +++ configf.scm @@ -31,23 +31,28 @@ (declare (uses mtargs)) (declare (uses mtargs.import)) (declare (uses common)) (declare (uses commonmod)) (declare (uses commonmod.import)) +(declare (uses processmod)) +(declare (uses processmod.import)) (declare (uses configfmod)) (declare (uses configfmod.import)) (declare (uses dbfile)) (declare (uses dbfile.import)) (declare (uses dbmod)) (declare (uses dbmod.import)) (import commonmod configfmod + processmod (prefix mtargs args:) debugprint) (include "common_records.scm") + +(define configf:imports "(import commonmod configfmod processmod (prefix mtargs args:))") (define (configf:write-alist cdat fname) (if (not (common:faux-lock fname)) (debug:print 0 *default-log-port* "INFO: Could not get lock on " fname)) (let* ((dat (configf:config->alist cdat)) @@ -451,10 +456,10 @@ ;; (set! data (append data (list (list sheet-name ref-assoc)))))) (set! data (cons (list sheet-name ref-assoc) data)))) sheets) (list data "NO ERRORS")))))) - - ;; redefines (define config-lookup configf:lookup) (define configf:read-file read-config) +(define shell configfmod#shell) + Index: configfmod.scm ================================================================== --- configfmod.scm +++ configfmod.scm @@ -21,17 +21,20 @@ (declare (unit configfmod)) (declare (uses debugprint)) (declare (uses commonmod)) (declare (uses processmod)) +(use regex regex-case) + (module configfmod * (import scheme chicken extras files + matchable ports srfi-1 srfi-13 srfi-69 @@ -44,10 +47,27 @@ ) (import debugprint commonmod processmod) + +;; Run a shell command and return the output as a string +(define (shell cmd) + (let* ((output (process:cmd-run->list cmd)) + (res (car output)) + (status (cadr output))) + (if (equal? status 0) + (let ((outres (string-intersperse + res + "\n"))) + (debug:print-info 4 *default-log-port* "shell result:\n" outres) + outres) + (begin ;; why is this printing to error-port and not using debug:print? -mrw- + (with-output-to-port (current-error-port) + (lambda () + (print "ERROR: " cmd " returned bad exit code " status))) + "")))) ;; return list (path fullpath configname) (define (find-config configname #!key (toppath #f)) (if toppath (let ((cfname (conc toppath "/" configname))) @@ -61,11 +81,11 @@ (if (common:file-exists? fullpath) (list path fullpath configname) (let ((remcwd (take dir (- (length dir) 1)))) (if (null? remcwd) (list #f #f #f) ;; #f #f) - (loop remcwd))))))))) + (loop remcwd))))))))) (define (configf:assoc-safe-add alist key val #!key (metadata #f)) (let ((newalist (filter (lambda (x)(not (equal? key (car x)))) alist))) (append newalist (list (if metadata (list key val metadata) @@ -117,27 +137,10 @@ (system cmd) ) (define configf:imports "(import commonmod (prefix mtargs args:))") -;; Run a shell command and return the output as a string -(define (shell cmd) - (let* ((output (process:cmd-run->list cmd)) - (res (car output)) - (status (cadr output))) - (if (equal? status 0) - (let ((outres (string-intersperse - res - "\n"))) - (debug:print-info 4 *default-log-port* "shell result:\n" outres) - outres) - (begin ;; why is this printing to error-port and not using debug:print? -mrw- - (with-output-to-port (current-error-port) - (lambda () - (print "ERROR: " cmd " returned bad exit code " status))) - "")))) - (define (configf:cfgdat->env-alist section cfgdat-ht allow-system) (filter (lambda (pair) (let* ((var (car pair)) (val (cdr pair))) Index: dashboard-context-menu.scm ================================================================== --- dashboard-context-menu.scm +++ dashboard-context-menu.scm @@ -24,10 +24,11 @@ ;;====================================================================== (declare (unit dashboard-context-menu)) (declare (uses common)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses db)) (declare (uses gutils)) (declare (uses rmt)) (declare (uses rmtmod)) (declare (uses ezsteps)) @@ -47,10 +48,11 @@ (include "common_records.scm") (include "db_records.scm") (include "run_records.scm") (import commonmod + configfmod rmtmod debugprint) (define (dboard:launch-testpanel run-id test-id) (let* ((dboardexe (common:find-local-megatest "dashboard")) Index: dashboard-tests.scm ================================================================== --- dashboard-tests.scm +++ dashboard-tests.scm @@ -23,10 +23,11 @@ ;;====================================================================== (declare (unit dashboard-tests)) (declare (uses common)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses dcommon)) (declare (uses db)) (declare (uses gutils)) (declare (uses rmt)) (declare (uses ezsteps)) @@ -42,10 +43,11 @@ (use srfi-1 posix regex regex-case srfi-69) (use (prefix sqlite3 sqlite3:)) (import commonmod + configfmod rmtmod debugprint) (include "common_records.scm") (include "db_records.scm") Index: dashboard.scm ================================================================== --- dashboard.scm +++ dashboard.scm @@ -25,10 +25,14 @@ (declare (uses items)) (declare (uses debugprint)) (declare (uses debugprint.import)) (declare (uses db)) (declare (uses configf)) +(declare (uses configfmod)) +(declare (uses configfmod.import)) +(declare (uses processmod)) +(declare (uses processmod.import)) (declare (uses process)) (declare (uses launch)) (declare (uses runs)) (declare (uses dashboard-tests)) (declare (uses tree)) @@ -56,10 +60,12 @@ (use ducttape-lib) (use sqlite3 srfi-1 posix regex regex-case srfi-69 typed-records sparse-vectors) ;; defstruct (import commonmod + configfmod + processmod (prefix mtargs args:) dbmod dbfile rmtmod debugprint) Index: db.scm ================================================================== --- db.scm +++ db.scm @@ -31,14 +31,16 @@ (declare (uses dbfile)) (declare (uses keys)) (declare (uses ods)) (declare (uses mt)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses mtargs)) (declare (uses rmtmod)) (import commonmod + configfmod (prefix mtargs args:)) (use (srfi 18) extras ;; tcp Index: dbfile.scm ================================================================== --- dbfile.scm +++ dbfile.scm @@ -21,10 +21,11 @@ (use srfi-18 posix hostinfo) (declare (unit dbfile)) (declare (uses debugprint)) (declare (uses commonmod)) +(declare (uses configfmod)) (module dbfile * (import scheme) @@ -46,10 +47,11 @@ files ports hostinfo commonmod + configfmod debugprint ) ) (chicken-5 (import (prefix sqlite3 sqlite3:) Index: dbmod.scm ================================================================== --- dbmod.scm +++ dbmod.scm @@ -20,10 +20,11 @@ ;;====================================================================== (declare (unit dbmod)) (declare (uses dbfile)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses debugprint)) (module dbmod * @@ -61,10 +62,11 @@ srfi-1 srfi-18 srfi-69 commonmod + configfmod dbfile debugprint) ;; NOTE: This returns only the name "1.db", "main.db", not the path ;; Index: dcommon.scm ================================================================== --- dcommon.scm +++ dcommon.scm @@ -21,10 +21,11 @@ (declare (unit dcommon)) (declare (uses gutils)) (declare (uses db)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses rmtmod)) (use format) (require-library iup) (import (prefix iup iup:)) @@ -31,10 +32,11 @@ (use canvas-draw) (import canvas-draw-iup) (use regex typed-records matchable) (import commonmod + configfmod rmtmod debugprint) (include "megatest-version.scm") (include "common_records.scm") Index: ezsteps.scm ================================================================== --- ezsteps.scm +++ ezsteps.scm @@ -19,22 +19,24 @@ ;; strftime('%m/%d/%Y %H:%M:%S','now','localtime') (declare (unit ezsteps)) (declare (uses db)) +(declare (uses commonmod)) (declare (uses common)) +(declare (uses configfmod)) (declare (uses debugprint)) (declare (uses items)) (declare (uses runconfig)) -(declare (uses commonmod)) (declare (uses rmtmod)) (declare (uses mtargs)) (use srfi-1 posix regex srfi-69 directory-utils call-with-environment-variables posix-extras z3 csv typed-records pathname-expand matchable) (import commonmod + configfmod debugprint rmtmod (prefix mtargs args:)) (include "common_records.scm") Index: genexample.scm ================================================================== --- genexample.scm +++ genexample.scm @@ -19,14 +19,19 @@ ;;====================================================================== (declare (unit genexample)) (declare (uses mtargs)) (declare (uses debugprint)) +(declare (uses common)) +(declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses rmtmod)) (use posix regex matchable) (import (prefix mtargs args:) + commonmod + configfmod rmtmod debugprint) (include "db_records.scm") Index: items.scm ================================================================== --- items.scm +++ items.scm @@ -21,13 +21,16 @@ ;; (temperature "cool medium hot") ;; (season "summer winter fall spring"))) (declare (unit items)) (declare (uses common)) -(declare (uses debugprint)) (declare (uses commonmod)) +(declare (uses configfmod)) +(declare (uses debugprint)) + (import commonmod + configfmod debugprint) (include "common_records.scm") ;; Puts out all combinations Index: keys.scm ================================================================== --- keys.scm +++ keys.scm @@ -23,17 +23,19 @@ (declare (unit keys)) (declare (uses common)) (declare (uses debugprint)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses mtargs)) (use sqlite3 srfi-1 posix regex regex-case srfi-69) (import (prefix sqlite3 sqlite3:) (prefix mtargs args:)) (import commonmod + configfmod debugprint) (include "key_records.scm") (include "common_records.scm") Index: launch.scm ================================================================== --- launch.scm +++ launch.scm @@ -24,10 +24,12 @@ (declare (unit launch)) (declare (uses subrun)) (declare (uses common)) (declare (uses debugprint)) (declare (uses commonmod)) +(declare (uses processmod)) +(declare (uses configfmod)) (declare (uses configf)) (declare (uses db)) (declare (uses rmtmod)) (declare (uses ezsteps)) ;; (declare (uses dbmod)) @@ -47,10 +49,12 @@ (include "key_records.scm") (include "db_records.scm") (include "megatest-fossil-hash.scm") (import commonmod + processmod + configfmod rmtmod debugprint ;; dbmod dbfile) Index: megatest.scm ================================================================== --- megatest.scm +++ megatest.scm @@ -29,10 +29,14 @@ (declare (uses mtargs.import)) (declare (uses debugprint)) (declare (uses debugprint.import)) (declare (uses commonmod)) (declare (uses commonmod.import)) +(declare (uses processmod)) +(declare (uses processmod.import)) +(declare (uses configfmod)) +(declare (uses configfmod.import)) (declare (uses runs)) (declare (uses launch)) (declare (uses server)) (declare (uses tests)) @@ -70,10 +74,12 @@ (import (prefix mtargs args:) debugprint dbmod commonmod + processmod + configfmod dbfile portlogger tcp-transportmod rmtmod apimod Index: mt.scm ================================================================== --- mt.scm +++ mt.scm @@ -24,19 +24,23 @@ (declare (unit mt)) (declare (uses debugprint)) (declare (uses db)) (declare (uses common)) +(declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses items)) (declare (uses runconfig)) (declare (uses tests)) (declare (uses server)) (declare (uses runs)) (declare (uses rmt)) (declare (uses rmtmod)) (import debugprint + commonmod + configfmod rmtmod) (include "common_records.scm") (include "key_records.scm") (include "db_records.scm") Index: mtexec.scm ================================================================== --- mtexec.scm +++ mtexec.scm @@ -30,11 +30,14 @@ ;; (declare (uses common)) (declare (uses mtargs)) (declare (uses configf)) ;; (declare (uses rmt)) (declare (uses commonmod)) +(declare (uses configfmod)) + (import commonmod + configfmod (prefix mtargs args:)) ;; (use ducttape-lib) (include "megatest-version.scm") (include "megatest-fossil-hash.scm") Index: mtut.scm ================================================================== --- mtut.scm +++ mtut.scm @@ -19,17 +19,17 @@ (declare (uses common)) (declare (uses mtargs)) (declare (uses mtargs.import)) (declare (uses debugprint)) (declare (uses debugprint.import)) +(declare (uses configfmod)) +(declare (uses configfmod.import)) (declare (uses configf)) ;; (declare (uses rmt)) (declare (uses commonmod)) (declare (uses commonmod.import)) -(import debugprint) - ; (include "common.scm") (include "megatest-version.scm") ;; fake out readline usage of toplevel-command (define (toplevel-command . a) #f) @@ -37,11 +37,13 @@ srfi-19 srfi-18 extras format pkts regex regex-case (prefix dbi dbi:) (prefix sqlite3 sqlite3:) nanomsg) -(import commonmod +(import debugprint + commonmod + configfmod (prefix mtargs args:)) (use ducttape-lib) (include "megatest-fossil-hash.scm") Index: rmt.scm ================================================================== --- rmt.scm +++ rmt.scm @@ -21,11 +21,13 @@ (use format typed-records) ;; RADT => purpose of json format?? (declare (unit rmt)) (declare (uses debugprint)) (declare (uses api)) +(declare (uses common)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses dbfile)) (declare (uses dbmod)) (declare (uses tcp-transportmod)) (include "common_records.scm") (declare (uses rmtmod)) @@ -32,10 +34,11 @@ ;; used by http-transport (import dbfile rmtmod commonmod + configfmod debugprint ;; dbmemmod dbfile dbmod tcp-transportmod) Index: runs.scm ================================================================== --- runs.scm +++ runs.scm @@ -20,10 +20,12 @@ (declare (unit runs)) (declare (uses db)) (declare (uses common)) (declare (uses debugprint)) (declare (uses commonmod)) +(declare (uses processmod)) +(declare (uses configfmod)) (declare (uses items)) (declare (uses runconfig)) (declare (uses tests)) (declare (uses server)) (declare (uses mt)) @@ -45,10 +47,12 @@ (include "test_records.scm") ;; (include "debugger.scm") (import commonmod + processmod + configfmod debugprint rmtmod dbfile (prefix mtargs args:)) Index: server.scm ================================================================== --- server.scm +++ server.scm @@ -17,10 +17,11 @@ ;; (declare (unit server)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses debugprint)) (declare (uses common)) (declare (uses db)) (declare (uses tasks)) ;; tasks are where stuff is maintained about what is running. ;; (declare (uses synchash)) @@ -33,10 +34,11 @@ (use srfi-1 posix regex regex-case srfi-69 hostinfo md5 message-digest) (use directory-utils posix-extras matchable utils) (use spiffy uri-common intarweb http-client spiffy-request-vars) (import commonmod + configfmod debugprint (prefix mtargs args:)) (include "common_records.scm") (include "db_records.scm") Index: subrun.scm ================================================================== --- subrun.scm +++ subrun.scm @@ -21,17 +21,19 @@ (declare (unit subrun)) (declare (uses debugprint)) (declare (uses db)) (declare (uses common)) (declare (uses commonmod)) +(declare (uses configfmod)) (declare (uses mt)) (use (prefix sqlite3 sqlite3:) srfi-1 posix regex regex-case srfi-69 (srfi 18) posix-extras directory-utils pathname-expand typed-records format call-with-environment-variables) (import commonmod + configfmod debugprint) ;(include "common_records.scm") ;;(include "key_records.scm") (include "db_records.scm") ;; provides db:test-get-id Index: tasks.scm ================================================================== --- tasks.scm +++ tasks.scm @@ -26,16 +26,20 @@ (declare (uses rmt)) (declare (uses rmtmod)) (declare (uses common)) (declare (uses pgdb)) (declare (uses commonmod)) +(declare (uses configfmod)) +(declare (uses processmod)) (declare (uses mtargs)) (use sqlite3 srfi-1 posix regex regex-case srfi-69 dot-locking format) (import (prefix sqlite3 sqlite3:)) (import commonmod + configfmod + processmod debugprint dbmod rmtmod (prefix mtargs args:)) Index: tests.scm ================================================================== --- tests.scm +++ tests.scm @@ -26,19 +26,25 @@ (declare (uses db)) (declare (uses tdb)) (declare (uses debugprint)) (declare (uses common)) (declare (uses commonmod)) +(declare (uses configf)) +(declare (uses configfmod)) (declare (uses items)) (declare (uses runconfig)) (declare (uses server)) (declare (uses mtargs)) (declare (uses rmtmod)) (use sqlite3 srfi-1 posix regex regex-case srfi-69 dot-locking directory-utils) (import (prefix sqlite3 sqlite3:)) -(import commonmod (prefix mtargs args:) debugprint rmtmod) +(import commonmod + configfmod + (prefix mtargs args:) + debugprint + rmtmod) (require-library stml) (include "common_records.scm") (include "key_records.scm") (include "db_records.scm")