Megatest

Diff
Login

Differences From Artifact [2320d45f7a]:

To Artifact [7f1f825291]:


108
109
110
111
112
113
114


115
116
117
118
119
120
121
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123







+
+







(define *task-db*             #f) ;; (vector db path-to-db)
(define *db-access-allowed*   #t) ;; flag to allow access
(define *db-access-mutex*     (make-mutex))
(define *db-transaction-mutex* (make-mutex))
(define *db-cache-path*       #f)
(define *db-with-db-mutex*    (make-mutex))
(define *db-api-call-time*    (make-hash-table)) ;; hash of command => (list of times)
;; no sync db
(define *no-sync-db*          #f)

;; SERVER
(define *my-client-signature* #f)
(define *transport-type*    'http)             ;; override with [server] transport http|rpc|nmsg
(define *runremote*         #f)                ;; if set up for server communication this will hold <host port>
;; (define *max-cache-size*    0)
(define *logged-in-clients* (make-hash-table))
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069







2070
2071

2072
2073
2074
2075

2076
2077

2078
2079
2080
2081
2082
2083
2084
2062
2063
2064
2065
2066
2067
2068



2069
2070
2071
2072
2073
2074
2075
2076

2077
2078
2079
2080

2081
2082

2083
2084
2085
2086
2087
2088
2089
2090







-
-
-
+
+
+
+
+
+
+

-
+



-
+

-
+







  (string-intersperse 
   (map (lambda (x)
          (number->string x 16))
        (map string->number
             (string-split instr)))
   "/"))

(define (common:faux-lock keyname)
  (if (rmt:get-var keyname)
      #f
(define (common:faux-lock keyname #!key (wait-time 5))
  (if (rmt:no-sync-get/default keyname #f)
      (if (> wait-time 0)
	  (begin
	    (thread-sleep! 1)
	    (common:faux-lock keyname wait-time: (- wait-time 1)))
	  #f)
      (begin
        (rmt:set-var keyname (conc (current-process-id)))
        (rmt:no-sync-set keyname (conc (current-process-id)))
        (equal? (conc (current-process-id)) (conc (rmt:get-var keyname))))))

(define (common:faux-unlock keyname #!key (force #f))
  (if (or force (equal? (conc (current-process-id)) (conc (rmt:get-var keyname))))
  (if (or force (equal? (conc (current-process-id)) (conc (rmt:no-sync-get/default keyname #f))))
      (begin
        (if (rmt:get-var keyname) (rmt:del-var keyname))
        (if (rmt:no-sync-get/default keyname #f) (rmt:no-sync-del! keyname))
        #t)
      #f))

  
(define (common:in-running-test?)
  (and (args:get-arg "-execute") (get-environment-variable "MT_CMDINFO")))