Overview
Comment: | envvar handling is not reentrant. Need a better solution. Putting this stuff on a branch for now |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | envhandling |
Files: | files | file ages | folders |
SHA1: |
b71bf641927970bac3c5636c895fad9b |
User & Date: | mrwellan on 2011-11-02 18:09:28 |
Other Links: | branch diff | manifest | tags |
Context
2011-11-02
| ||
21:58 | Hacked to get vars working ok. NOT REENTRANT. Must rework :( Closed-Leaf check-in: 0f355e8087 user: matt tags: envhandling | |
18:09 | envvar handling is not reentrant. Need a better solution. Putting this stuff on a branch for now check-in: b71bf64192 user: mrwellan tags: envhandling | |
15:32 | Checking in partial fix for envvar handling check-in: ff05a10939 user: mrwellan tags: trunk, v1.31 | |
Changes
Modified configf.scm from [4a3f07b3f3] to [4590f7c875].
︙ | |||
36 37 38 39 40 41 42 | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | - + + | (define (config:assoc-safe-add alist key val) (let ((newalist (filter (lambda (x)(not (equal? key (car x)))) alist))) (append newalist (list (list key val))))) (define (config:eval-string-in-environment str) (let ((cmdres (cmd-run->list (conc "echo " str)))) (if (null? cmdres) "" |
︙ | |||
91 92 93 94 95 96 97 98 99 100 101 102 103 104 | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | + | (config:assoc-safe-add alist key val)) (loop (read-line inp) curr-section-name #f #f)) (loop (read-line inp) curr-section-name #f #f))) (key-val-pr ( x key val ) (let ((alist (hash-table-ref/default res curr-section-name '())) (realval (if (and environ-patt (string-match (regexp environ-patt) curr-section-name)) (config:eval-string-in-environment val) val))) (setenv key realval) (hash-table-set! res curr-section-name (config:assoc-safe-add alist key realval)) (loop (read-line inp) curr-section-name key #f))) ;; if a continued line (cont-ln-rx ( x whsp val ) (let ((alist (hash-table-ref/default res curr-section-name '()))) (if var-flag ;; if set to a string then we have a continued var (let ((newval (conc |
︙ |
Modified launch.scm from [ce1a0162c8] to [7996f32f59].
︙ | |||
285 286 287 288 289 290 291 292 | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | + - + | ;; (success exec-results)) ;; (eq? (cadr exec-results) 0))) (debug:print 2 "Output from running " fullrunscript ", pid " (vector-ref exit-info 0) " in work area " work-area ":\n====\n exit code " (vector-ref exit-info 2) "\n" "====\n") (sqlite3:finalize! db) (if (not (vector-ref exit-info 1)) (exit 4))))))) ;; set up the very basics needed for doing anything here. (define (setup-for-run) |
︙ |
Modified megatest-version.scm from [826d6a379e] to [b46b5a7d77].
1 2 3 4 5 | 1 2 3 4 5 6 7 | - + | ;; Always use two digit decimal ;; 1.01, 1.02...1.10,1.11 ... 1.99,2.00.. (declare (unit megatest-version)) |
Modified runconfig.scm from [d7b27c058f] to [ddff02cb0f].
1 2 3 4 5 6 7 8 9 10 11 12 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | - + + - + + - - + - + | ;;====================================================================== ;; read a config file, loading only the section pertinent ;; to this run field1val/field2val/field3val ... ;;====================================================================== (use format) (declare (unit runconfig)) (declare (uses common)) (include "common_records.scm") |
Modified runs.scm from [b12c8bbbfa] to [cf599e0423].
︙ | |||
549 550 551 552 553 554 555 | 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 | - + | (run-id (register-run db keys)) ;; test-name))) (deferred '()) ;; delay running these since they have a waiton clause (runconfigf (conc *toppath* "/runconfigs.config"))) ;; on the first pass or call to run-tests set FAILS to NOT_STARTED if ;; -keepgoing is specified (if (file-exists? runconfigf) |
︙ | |||
830 831 832 833 834 835 836 | 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 | - + | (deferred '()) ;; delay running these since they have a waiton clause (keepgoing (hash-table-ref/default flags "-keepgoing" #f)) (test-names '()) (runconfigf (conc *toppath* "/runconfigs.config")) (required-tests '())) (if (file-exists? runconfigf) |
︙ | |||
1193 1194 1195 1196 1197 1198 1199 | 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 | - - + + | (begin (debug:print 0 "Failed to setup, exiting") (exit 1))) (set! db (open-db)) (set! keys (db-get-keys db)) ;; have enough to process -target or -reqtarg here (if (args:get-arg "-reqtarg") |
︙ |
Modified tests/runconfigs.config from [bf935869e9] to [5386d0e9a5].
1 2 3 4 5 6 7 8 9 10 11 12 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | - + + + | [/tmp/mrwellan/env/ubuntu/afs] BOGOUS Bob [default/ubuntu/nfs] CURRENT /blah [ubuntu/nfs/none] CURRENT /tmp/nada [default] FOOBARBAZZZZ not a useful value |