Overview
Comment: | wip, but getting some serious traction |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.6584-nanomsg |
Files: | files | file ages | folders |
SHA1: |
93f367cac6dfb12727595e08804aed76 |
User & Date: | matt on 2021-11-27 19:55:38 |
Other Links: | branch diff | manifest | tags |
Context
2021-11-29
| ||
09:38 | wip check-in: 31c178ba40 user: matt tags: v1.6584-nanomsg | |
2021-11-27
| ||
19:55 | wip, but getting some serious traction check-in: 93f367cac6 user: matt tags: v1.6584-nanomsg | |
2021-11-26
| ||
19:30 | wip check-in: 099e36e67a user: matt tags: v1.6584-nanomsg | |
Changes
Modified commonmod.scm from [666c77f40f] to [3bc09277ff].
︙ | ︙ | |||
2020 2021 2022 2023 2024 2025 2026 | (define (common:args-get-testpatt rconf) (let* ((target (common:args-get-target)) ;; (tagexpr (args:get-arg "-tagexpr")) ;; (tags-testpatt (if tagexpr (string-join (runs:get-tests-matching-tags tagexpr) ",") #f)) (testpatt-key (or (args:get-arg "-modepatt") (args:get-arg "--modepatt") "TESTPATT")) (args-testpatt (or (args:get-arg "-testpatt") (args:get-arg "-runtests") "%")) | | | | 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 | (define (common:args-get-testpatt rconf) (let* ((target (common:args-get-target)) ;; (tagexpr (args:get-arg "-tagexpr")) ;; (tags-testpatt (if tagexpr (string-join (runs:get-tests-matching-tags tagexpr) ",") #f)) (testpatt-key (or (args:get-arg "-modepatt") (args:get-arg "--modepatt") "TESTPATT")) (args-testpatt (or (args:get-arg "-testpatt") (args:get-arg "-runtests") "%")) (rtestpatt (if rconf (runconfigs-get rconf testpatt-key target) #f))) (cond ((or (args:get-arg "--modepatt") (args:get-arg "-modepatt")) ;; modepatt is a forced setting, when set it MUST refer to an existing PATT in the runconfig (if rconf (let* ((patts-from-mode-patt (runconfigs-get rconf testpatt-key target))) (debug:print-info 0 *default-log-port* "modepatt defined is: "testpatt-key" runconfigs values for " testpatt-key " " patts-from-mode-patt) patts-from-mode-patt) (begin (debug:print-info 0 *default-log-port* " modepatt defined is: "testpatt-key" runconfigs values for " testpatt-key) ;; " " patts-from-mode-patt) #f))) ;; We do NOT fall back to "%" ;; (tags-testpatt ;; (debug:print-info 0 *default-log-port* "-tagexpr "tagexpr" selects testpatt "tags-testpatt) |
︙ | ︙ |
Modified configfmod.scm from [95ee14228c] to [0f89b247bb].
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | common:with-env-vars configf:config->ini configf:alist->config configf:assoc-safe-add configf:config->alist configf:find-and-read-config configf:get-section configf:lookup configf:lookup-number configf:map-all-hier-alist configf:read-alist configf:read-config configf:read-refdb configf:section-var-set! | > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | common:with-env-vars configf:config->ini configf:alist->config configf:assoc-safe-add configf:config->alist configf:find-and-read-config configf:get-section configf:get-sections configf:lookup configf:lookup-number configf:map-all-hier-alist configf:read-alist configf:read-config configf:read-refdb configf:section-var-set! |
︙ | ︙ | |||
129 130 131 132 133 134 135 136 137 138 139 140 141 142 | (let ((res (assoc var sectdat))) (if res ;; (and match (list? match)(> (length match) 1)) (cadr res) #f)) )) #f)) (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) (list key val)))))) (define (configf:section-var-set! cfgdat section-name var value #!key (metadata #f)) | > > > | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | (let ((res (assoc var sectdat))) (if res ;; (and match (list? match)(> (length match) 1)) (cadr res) #f)) )) #f)) (define (configf:get-sections cfgdat) (filter string? (hash-table-keys cfgdat))) (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) (list key val)))))) (define (configf:section-var-set! cfgdat section-name var value #!key (metadata #f)) |
︙ | ︙ | |||
376 377 378 379 380 381 382 | (let (;; (env-to-use (if env-to-use env-to-use (module-environment 'configfmod))) (inp (if (string? path) (open-input-file path) path)) ;; we can be handed a port (res (let ((ht-in (if (not ht) (make-hash-table) ht))) | | < | < | 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | (let (;; (env-to-use (if env-to-use env-to-use (module-environment 'configfmod))) (inp (if (string? path) (open-input-file path) path)) ;; we can be handed a port (res (let ((ht-in (if (not ht) (make-hash-table) ht))) (if (not (configf:lookup ht-in "" "toppath")) (configf:set-section-var ht-in "" "toppath" path)) ht-in)) (metapath (if (or (debug:debug-mode 9) keep-filenames) path #f)) (process-wildcards (lambda (res curr-section-name) (if (and apply-wildcards (or (string-contains curr-section-name "%") ;; wildcard |
︙ | ︙ | |||
1024 1025 1026 1027 1028 1029 1030 | cmd ")")) (case cmdsym ((system) `(noeval-needed ,(conc (configf:system ht cmd)))) ;; ((shell sh) `(noeval-needed ,(conc (string-translate (shell quotedcmd) "\n" " ")))) ((shell sh) `(noeval-needed ,(conc (string-translate (shell cmd) "\n" " ")))) ((realpath rp)`(noeval-needed ,(conc (common:nice-path quotedcmd)))) ((getenv gv) `(noeval-needed ,(conc (get-environment-variable cmd)))) | < | | 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 | cmd ")")) (case cmdsym ((system) `(noeval-needed ,(conc (configf:system ht cmd)))) ;; ((shell sh) `(noeval-needed ,(conc (string-translate (shell quotedcmd) "\n" " ")))) ((shell sh) `(noeval-needed ,(conc (string-translate (shell cmd) "\n" " ")))) ((realpath rp)`(noeval-needed ,(conc (common:nice-path quotedcmd)))) ((getenv gv) `(noeval-needed ,(conc (get-environment-variable cmd)))) ((mtrah) `(noeval-needed ,(configf:lookup ht "" "toppath"))) ((get g) (match (string-split cmd) ((sect var) `(noeval-needed ,(configf:lookup ht sect var))) (else (debug:print-error 0 *default-log-port* "#{get ...} used with only one parameter, \"" cmd "\", two needed.") '(bad-param ,(conc "#{get ...} used with only one parameter, \"" cmd "\", two needed."))))) |
︙ | ︙ | |||
1138 1139 1140 1141 1142 1143 1144 | (loop (conc prestr result poststr))) res)) res))) ;;====================================================================== ;; Lookup a value in runconfigs based on -reqtarg or -target ;; | | | | 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 | (loop (conc prestr result poststr))) res)) res))) ;;====================================================================== ;; Lookup a value in runconfigs based on -reqtarg or -target ;; (define (runconfigs-get config var #!optional (target #f)) (let ((targ (or target (mytarget)))) ;; (common:args-get-target))) ;; (or (args:get-arg "-reqtarg")(args:get-arg "-target")(getenv "MT_TARGET")))) (if targ (or (configf:lookup config targ var) (configf:lookup config "default" var)) (configf:lookup config "default" var)))) ;; pathenvvar will set the named var to the path of the config |
︙ | ︙ | |||
1190 1191 1192 1193 1194 1195 1196 | (debug:print 0 *default-log-port* "INFO: NEED LOCKING ADDED HERE " fname) (let* ((dat (configf:config->alist cdat)) (res (begin (with-output-to-file fname ;; first write out the file (lambda () (pp dat))) | | | 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 | (debug:print 0 *default-log-port* "INFO: NEED LOCKING ADDED HERE " fname) (let* ((dat (configf:config->alist cdat)) (res (begin (with-output-to-file fname ;; first write out the file (lambda () (pp dat))) ;; I don't like this. It makes write-alist opaque and complicated. -mrw- (if (file-exists? fname) ;; now verify it is readable (if (configf:read-alist fname) #t ;; data is good. (begin (handle-exceptions exn (begin |
︙ | ︙ |
Modified dashboard.scm from [5354c7dd14] to [733ea55f33].
︙ | ︙ | |||
1065 1066 1067 1068 1069 1070 1071 | ;; create the minimize list of testnames to be displayed. Sorting ;; happens here *before* trimming ;; (dboard:tabdat-all-test-names-set! tabdat (collapse-rows tabdat | | | 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 | ;; create the minimize list of testnames to be displayed. Sorting ;; happens here *before* trimming ;; (dboard:tabdat-all-test-names-set! tabdat (collapse-rows tabdat (sort (filter string? (hash-table-keys all-test-names)) string>?))) ;; FIXME: Sorting needs to happen here ;; Trim the names list to fit the matrix of buttons ;; (dboard:tabdat-all-test-names-set! tabdat (let ((xl (if (> (length (dboard:tabdat-all-test-names tabdat)) (dboard:tabdat-start-test-offset tabdat)) (drop (dboard:tabdat-all-test-names tabdat) |
︙ | ︙ | |||
2862 2863 2864 2865 2866 2867 2868 | ;; user supplied source for a tab ;; ((external) ;; was tabs (let ((tab-content (dboard:add-external-tab commondat view-name views-cfgdat #f tab-num))) (set! additional-tabnames (cons (cons tab-num view-name) additional-tabnames)) (set! tab-num (+ tab-num 1)) (set! result (append result (list tab-content))))))))) | | | 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 | ;; user supplied source for a tab ;; ((external) ;; was tabs (let ((tab-content (dboard:add-external-tab commondat view-name views-cfgdat #f tab-num))) (set! additional-tabnames (cons (cons tab-num view-name) additional-tabnames)) (set! tab-num (+ tab-num 1)) (set! result (append result (list tab-content))))))))) (sort (configf:get-sections views-cfgdat) ;; (hash-table-keys views-cfgdat) (lambda (a b) (let ((order-a (or (any->number (configf:lookup views-cfgdat a "order")) 999)) (order-b (or (any->number (configf:lookup views-cfgdat b "order")) 999))) (> order-a order-b))))) result)) (tabs (apply iup:tabs #:tabchangepos-cb (lambda (obj curr prev) |
︙ | ︙ |
Modified runsmod.scm from [155dc51460] to [e100729d19].
︙ | ︙ | |||
2138 2139 2140 2141 2142 2143 2144 | (state-status (if (string? new-state-status) (string-split new-state-status ",") '(#f #f))) (rp-mutex (make-mutex)) (bup-mutex (make-mutex)) (keep-records (args:get-arg "-keep-records")) ;; used in conjunction with -remove-runs to keep the records, TODO: consolidate this with "mode". (test-records '())) ;; for tasks that we wish to operate on all tests in one fell swoop (let* ((write-access-actions '(remove-runs set-state-status archive run-wait kill-runs)) | | | | 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 | (state-status (if (string? new-state-status) (string-split new-state-status ",") '(#f #f))) (rp-mutex (make-mutex)) (bup-mutex (make-mutex)) (keep-records (args:get-arg "-keep-records")) ;; used in conjunction with -remove-runs to keep the records, TODO: consolidate this with "mode". (test-records '())) ;; for tasks that we wish to operate on all tests in one fell swoop (let* ((write-access-actions '(remove-runs set-state-status archive run-wait kill-runs)) (dbfile (conc *toppath* "/.db/main.db")) (readonly-mode (not (file-writable? dbfile)))) (when (and readonly-mode (member action write-access-actions)) (debug:print-error 0 *default-log-port* ".db/main.db is readonly. Cannot proceed with action ["action"] in which write-access isrequired .") (exit 1))) (debug:print-info 4 *default-log-port* "runs:operate-on => Header: " header " action: " action " new-state-status: " new-state-status) (if (> 2 (length state-status)) (begin (debug:print-error 0 *default-log-port* "the parameter to -set-state-status is a comma delimited string. E.g. COMPLETED,FAIL") (exit))) |
︙ | ︙ |