Overview
Comment: | Switch to -daemonize as it seems problematic to start servers under nbfake |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.60 |
Files: | files | file ages | folders |
SHA1: |
4c9c6ff4b4507347d60a4072e15f64f5 |
User & Date: | mrwellan on 2014-09-03 17:54:25 |
Other Links: | branch diff | manifest | tags |
Context
2014-09-03
| ||
18:14 | Add support for binding to specific interface check-in: 58692d9ac7 user: mrwellan tags: v1.60 | |
17:54 | Switch to -daemonize as it seems problematic to start servers under nbfake check-in: 4c9c6ff4b4 user: mrwellan tags: v1.60 | |
16:39 | Increase range of ports to pick from and add configurability for lowport check-in: dfe64d8ddb user: mrwellan tags: v1.60 | |
Changes
Modified common.scm from [ad4c5ec07f] to [349304dac5].
︙ | ︙ | |||
43 44 45 46 47 48 49 50 51 52 53 54 55 56 | (define *toppath* #f) (define *already-seen-runconfig-info* #f) (define *waiting-queue* (make-hash-table)) (define *test-meta-updated* (make-hash-table)) (define *globalexitstatus* 0) ;; attempt to work around possible thread issues (define *passnum* 0) ;; when running track calls to run-tests or similar (define *write-frequency* (make-hash-table)) ;; run-id => (vector (current-seconds) 0)) ;; DATABASE (define *open-dbs* (vector #f (make-hash-table))) ;; megatestdb run-id-dbs ;; SERVER (define *my-client-signature* #f) (define *transport-type* 'http) | > > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | (define *toppath* #f) (define *already-seen-runconfig-info* #f) (define *waiting-queue* (make-hash-table)) (define *test-meta-updated* (make-hash-table)) (define *globalexitstatus* 0) ;; attempt to work around possible thread issues (define *passnum* 0) ;; when running track calls to run-tests or similar (define *write-frequency* (make-hash-table)) ;; run-id => (vector (current-seconds) 0)) (define *alt-log-file* #f) ;; used by -log ;; DATABASE (define *open-dbs* (vector #f (make-hash-table))) ;; megatestdb run-id-dbs ;; SERVER (define *my-client-signature* #f) (define *transport-type* 'http) |
︙ | ︙ |
Modified http-transport.scm from [155583da14] to [13e24a0524].
︙ | ︙ | |||
455 456 457 458 459 460 461 | ;; all routes though here end in exit ... ;; ;; start_server? ;; (define (http-transport:launch run-id) (set! *run-id* run-id) (if (args:get-arg "-daemonize") | > | > > > > | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 | ;; all routes though here end in exit ... ;; ;; start_server? ;; (define (http-transport:launch run-id) (set! *run-id* run-id) (if (args:get-arg "-daemonize") (begin (daemon:ize) (if *alt-log-file* ;; we should re-connect to this port, I think daemon:ize disrupts it (begin (current-error-port *alt-log-file*) (current-output-port *alt-log-file*))))) (if (server:check-if-running run-id) (begin (debug:print 0 "INFO: Server for run-id " run-id " already running") (exit 0))) (let loop ((server-id (open-run-close tasks:server-lock-slot tasks:open-db run-id)) (remtries 4)) (if (not server-id) |
︙ | ︙ |
Modified megatest.scm from [c57363ff90] to [e18b6443a0].
︙ | ︙ | |||
126 127 128 129 130 131 132 133 134 135 136 137 138 139 | -cleanup-db : remove any orphan records, vacuum the db -update-meta : update the tests metadata for all tests -setvars VAR1=val1,VAR2=val2 : Add environment variables to a run NB// these are overwritten by values set in config files. -server -|hostname : start the server (reduces contention on megatest.db), use - to automatically figure out hostname -daemonize : fork into background and disconnect from stdin/out -list-servers : list the servers -stop-server id : stop server specified by id (see output of -list-servers), use 0 to kill all -repl : start a repl (useful for extending megatest) -load file.scm : load and run file.scm -mark-incompletes : find and mark incomplete tests -ping run-id|host:port : ping server, exit with 0 if found | > | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | -cleanup-db : remove any orphan records, vacuum the db -update-meta : update the tests metadata for all tests -setvars VAR1=val1,VAR2=val2 : Add environment variables to a run NB// these are overwritten by values set in config files. -server -|hostname : start the server (reduces contention on megatest.db), use - to automatically figure out hostname -daemonize : fork into background and disconnect from stdin/out -log logfile : send stdout and stderr to logfile -list-servers : list the servers -stop-server id : stop server specified by id (see output of -list-servers), use 0 to kill all -repl : start a repl (useful for extending megatest) -load file.scm : load and run file.scm -mark-incompletes : find and mark incomplete tests -ping run-id|host:port : ping server, exit with 0 if found |
︙ | ︙ | |||
218 219 220 221 222 223 224 225 226 227 228 229 230 231 | "-section" "-var" "-dumpmode" "-run-id" "-ping" "-refdb2dat" "-o" ) (list "-h" "-help" "--help" "-version" "-force" "-xterm" "-showkeys" "-show-keys" | > | 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | "-section" "-var" "-dumpmode" "-run-id" "-ping" "-refdb2dat" "-o" "-log" ) (list "-h" "-help" "--help" "-version" "-force" "-xterm" "-showkeys" "-show-keys" |
︙ | ︙ | |||
272 273 274 275 276 277 278 279 280 281 282 283 284 285 | "-logging" "-v" ;; verbose 2, more than normal (normal is 1) "-q" ;; quiet 0, errors/warnings only ) args:arg-hash 0)) (if (or (args:get-arg "-h") (args:get-arg "-help") (args:get-arg "--help")) (begin (print help) (exit))) | > > > > > > | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 | "-logging" "-v" ;; verbose 2, more than normal (normal is 1) "-q" ;; quiet 0, errors/warnings only ) args:arg-hash 0)) (if (args:get-arg "-log") (let ((oup (open-output-file (args:get-arg "-log")))) (debug:print-info 0 "Sending log output to " (args:get-arg "-log")) (current-error-port oup) (current-output-port oup))) (if (or (args:get-arg "-h") (args:get-arg "-help") (args:get-arg "--help")) (begin (print help) (exit))) |
︙ | ︙ |
Modified portlogger.scm from [68db235c39] to [942fb6cac8].
︙ | ︙ | |||
114 115 116 117 118 119 120 | ;; (define (portlogger:set-failed db portnum) (sqlite3:execute db "UPDATE ports SET state='failed',fail_count=fail_count+1,update_time=strftime('%s','now') WHERE port=?;" portnum)) ;;====================================================================== ;; MAIN ;;====================================================================== | < < | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | ;; (define (portlogger:set-failed db portnum) (sqlite3:execute db "UPDATE ports SET state='failed',fail_count=fail_count+1,update_time=strftime('%s','now') WHERE port=?;" portnum)) ;;====================================================================== ;; MAIN ;;====================================================================== (define (portlogger:main . args) (let* ((db (portlogger:open-db (conc "/tmp/." (current-user-name) "-portlogger.db"))) (numargs (length args)) (result (cond ((> numargs 1) ;; most commands (case (string->symbol (car args)) ;; commands with two or more params |
︙ | ︙ |
Modified server.scm from [02580cc00b] to [11fd0dd336].
︙ | ︙ | |||
83 84 85 86 87 88 89 | ;; (define (server:run run-id) (let* ((curr-host (get-host-name)) (curr-ip (server:get-best-guess-address curr-host)) (target-host (configf:lookup *configdat* "server" "homehost" )) (logfile (conc *toppath* "/logs/" run-id ".log")) (cmdln (conc (common:get-megatest-exe) | | > > | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | ;; (define (server:run run-id) (let* ((curr-host (get-host-name)) (curr-ip (server:get-best-guess-address curr-host)) (target-host (configf:lookup *configdat* "server" "homehost" )) (logfile (conc *toppath* "/logs/" run-id ".log")) (cmdln (conc (common:get-megatest-exe) " -server " (or target-host "-") " -run-id " run-id (if (equal? (configf:lookup *configdat* "server" "daemonize") "yes") (conc " -daemonize -log " logfile) (conc " >> " logfile " 2>&1 &"))))) (debug:print 0 "INFO: Starting server (" cmdln ") as none running ...") (push-directory *toppath*) (if (not (directory-exists? "logs"))(create-directory "logs")) ;; host.domain.tld match host? (if (and target-host ;; look at target host, is it host.domain.tld or ip address and does it ;; match current ip or hostname |
︙ | ︙ |
Modified tests/fullrun/megatest.config from [d00a35aaf5] to [9f700304de].
︙ | ︙ | |||
125 126 127 128 129 130 131 132 133 134 135 136 137 138 | # it succeeds port 8080 # This server will keep running this number of hours after last access. # Three minutes is 0.05 hours # timeout 0.025 timeout 0.01 ## disks are: ## name host:/path/to/area ## -or- ## name /path/to/area [disks] disk0 /foobarbazz | > > | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | # it succeeds port 8080 # This server will keep running this number of hours after last access. # Three minutes is 0.05 hours # timeout 0.025 timeout 0.01 daemonize yes ## disks are: ## name host:/path/to/area ## -or- ## name /path/to/area [disks] disk0 /foobarbazz |
︙ | ︙ |