Megatest

Check-in [546e6a3393]
Login
Overview
Comment:Prep for rmt as module
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.70-defunct-try
Files: files | file ages | folders
SHA1: 546e6a3393db3d0d3ff48d748d98207fdae3b36f
User & Date: matt on 2019-12-09 04:17:10
Other Links: branch diff | manifest | tags
Context
2019-12-09
10:15
Added missing import in dashboard check-in: 23af1adc80 user: mrwellan tags: v1.70-defunct-try
04:17
Prep for rmt as module check-in: 546e6a3393 user: matt tags: v1.70-defunct-try
2019-12-08
21:21
Moved bunch of functions into commonmod check-in: 3793b78d9e user: matt tags: v1.70-defunct-try
Changes

Modified Makefile from [a146f652e2] to [ba424c7f5c].

94
95
96
97
98
99
100
101
102
103
104
105





106
107
108


109
110
111
112
113
114
115
94
95
96
97
98
99
100





101
102
103
104
105



106
107
108
109
110
111
112
113
114







-
-
-
-
-
+
+
+
+
+
-
-
-
+
+







ARCHSTR=$(shell if [[ -e /usr/bin/sw_vers ]]; then /usr/bin/sw_vers -productVersion; else lsb_release -sr; fi)
# ARCHSTR=$(shell bash -c "echo \$$MACHTYPE")

PNGFILES = $(shell cd docs/manual;ls *png)

#all : $(PREFIX)/bin/.$(ARCHSTR) mtest dboard mtut ndboard

IMPORTO = apimod.import.o dbmod.import.o itemsmod.import.o		\
odsmod.import.o runsmod.import.o testsmod.import.o			\
archivemod.import.o keysmod.import.o		\
processmod.import.o servermod.import.o		\
clientmod.import.o envmod.import.o launchmod.import.o rmtmod.import.o	\
IMPORTO = apimod.import.o dbmod.import.o itemsmod.import.o	\
odsmod.import.o runsmod.import.o testsmod.import.o		\
archivemod.import.o keysmod.import.o processmod.import.o	\
servermod.import.o clientmod.import.o envmod.import.o		\
launchmod.import.o rmtmod.import.o subrunmod.import.o		\
subrunmod.import.o  commonmod.import.o			\
ezstepsmod.import.o megamod.import.o runconfigmod.import.o		\
tasksmod.import.o
commonmod.import.o ezstepsmod.import.o megamod.import.o		\
runconfigmod.import.o tasksmod.import.o

all : $(PREFIX)/bin/.$(ARCHSTR) mtest dboard mtut tcmt

# why were the files  mofiles/ftail.o mofiles/rmtmod.o mofiles/commonmod.o listed on this target when MOFILES are there?
# Removed non module .o files (i.e. $(OFILES)
mtest: readline-fix.scm megatest.o $(MOFILES) $(MOIMPFILES)
	csc $(CSCOPTS) $(MOFILES) $(MOIMPFILES) megatest.o -o mtest
204
205
206
207
208
209
210
211

212
213
214
215
216
217
218
203
204
205
206
207
208
209

210
211
212
213
214
215
216
217







-
+








# for the modularized stuff

mofiles/commonmod.o : megatest-fossil-hash.scm
mofiles/dbmod.o     : mofiles/commonmod.o mofiles/keysmod.o mofiles/tasksmod.o mofiles/odsmod.o
mofiles/commonmod.o : mofiles/processmod.o
mofiles/rmtmod.o    : mofiles/dbmod.o mofiles/commonmod.o mofiles/apimod.o
mofiles/apimod.o    : mofiles/megamod.o mofiles/dbmod.o
mofiles/apimod.o    : mofiles/dbmod.o
# Removed from megamod.o dep:   mofiles/ftail.o
mofiles/megamod.o   : \
   mofiles/rmtmod.o \
   mofiles/commonmod.o \
   mofiles/apimod.o \
   mofiles/archivemod.o \
   mofiles/clientmod.o \

Modified apimod.scm from [087694859b] to [187e60da16].

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
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







-
+










-
+






;;     along with Megatest.  If not, see <http://www.gnu.org/licenses/>.

;;======================================================================

(declare (unit apimod))
(declare (uses commonmod))
(declare (uses dbmod))
(declare (uses megamod))
;; (declare (uses megamod))

(module apimod
	*
	
(import scheme chicken data-structures extras)
(import (prefix sqlite3 sqlite3:) posix typed-records srfi-18 srfi-69 format ports srfi-1 matchable
	s11n z3 (prefix base64 base64:) regex stack srfi-13
	irregex)
(import commonmod)
(import dbmod)
(import megamod)
;; (import megamod)
;; (use (prefix ulex ulex:))

(include "common_records.scm")


)

Modified common-inc.scm from [c1b653e283] to [3fea723fa6].

116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
116
117
118
119
120
121
122



































123
124
125
126
127
128
129







-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-







    ((abort) "ABORT")
    ((skip) "SKIP")
    (else "FAIL")))

(define (common:logpro-exit-code->test-status exit-code)
  (status-sym->string (common:logpro-exit-code->status-sym exit-code)))

(defstruct remote
  (hh-dat            (common:get-homehost)) ;; homehost record ( addr . hhflag )
  (server-url        (if *toppath* (server:check-if-running *toppath*))) ;; (server:check-if-running *toppath*) #f))
  (last-server-check 0)  ;; last time we checked to see if the server was alive
  (conndat           #f)
  (transport         *transport-type*)
  (server-timeout    (server:expiration-timeout))
  (force-server      #f)
  (ro-mode           #f)  
  (ro-mode-checked   #f)) ;; flag that indicates we have checked for ro-mode

;; launching and hosts
(defstruct host
  (reachable    #f)
  (last-update  0)
  (last-used    0)
  (last-cpuload 1))

(define *host-loads*         (make-hash-table))

;; cache environment vars for each run here
(define *env-vars-by-run-id* (make-hash-table))

;; Testconfig and runconfig caches. 
(define *testconfigs*        (make-hash-table)) ;; test-name => testconfig
(define *runconfigs*         (make-hash-table)) ;; target    => runconfig

;; This is a cache of pre-reqs met, don't re-calc in cases where called with same params less than
;; five seconds ago
(define *pre-reqs-met-cache* (make-hash-table))

;; cache of verbosity given string
;;
(define *verbosity-cache*    (make-hash-table))

(define (common:clear-caches)
  (set! *target*             (make-hash-table))
  (set! *keys*               (make-hash-table))
  (set! *keyvals*            (make-hash-table))
  (set! *toptest-paths*      (make-hash-table))
  (set! *test-paths*         (make-hash-table))
  (set! *test-ids*           (make-hash-table))

Modified commonmod.scm from [804218aef9] to [4de3b53470].

509
510
511
512
513
514
515
















516
517
518
519
520
521
522
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







     lst)
    resh))





(define *host-loads*         (make-hash-table))

;; cache environment vars for each run here
(define *env-vars-by-run-id* (make-hash-table))

;; Testconfig and runconfig caches. 
(define *testconfigs*        (make-hash-table)) ;; test-name => testconfig
(define *runconfigs*         (make-hash-table)) ;; target    => runconfig

;; This is a cache of pre-reqs met, don't re-calc in cases where called with same params less than
;; five seconds ago
(define *pre-reqs-met-cache* (make-hash-table))

;; cache of verbosity given string
;;
(define *verbosity-cache*    (make-hash-table))







Modified megamod.scm from [2858ad645d] to [8a4d41c4e0].

102
103
104
105
106
107
108
109
110
111
112
113
114

115
116
117
118
119
120
121
122
123
124
125

126
127
128
129
130
131
132
102
103
104
105
106
107
108

109
110
111
112

113
114
115
116
117
118
119
120
121
122
123

124
125
126
127
128
129
130
131







-




-
+










-
+








(use (prefix mtconfigf configf:))
(define read-config configf:read-config)
(define find-and-read-config configf:find-and-read-config)
(define config:eval-string-in-environment configf:eval-string-in-environment)

(import spiffy)
(import commonmod)

;; (import apimod)
;; (import archivemod)
;; (import clientmod)
;; (import commonmod)
(import commonmod)
;; (import dbmod)
;; (import dcommonmod)
;; (import envmod)
;; (import ezstepsmod)
;; (import ftail)
;; (import itemsmod)
;; (import keysmod)
;; (import launchmod)
;; (import odsmod)
;; (import processmod)
;; ;; (import rmtmod)
(import rmtmod)
;; (import runconfigmod)
;; (import runsmod)
;; (import servermod)
;; (import subrunmod)
;; (import tasksmod)
;; (import testsmod)
;; (import vgmod)

Modified rmt-inc.scm from [6ed1ccc9cc] to [4a6d831f46].

27
28
29
30
31
32
33




















34
35
36
37
38
39
40
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







;;  grep define ../rmt.scm | grep rmt: |perl -pi -e 's/\(define\s+\((\S+)\W.*$/\1/'|sort -u

;; Globally used variables

;; db stats
(define *db-stats*            (make-hash-table)) ;; hash of vectors < count duration-total >
(define *db-stats-mutex*      (make-mutex))


(defstruct remote
  (hh-dat            (common:get-homehost)) ;; homehost record ( addr . hhflag )
  (server-url        (if *toppath* (server:check-if-running *toppath*))) ;; (server:check-if-running *toppath*) #f))
  (last-server-check 0)  ;; last time we checked to see if the server was alive
  (conndat           #f)
  (transport         *transport-type*)
  (server-timeout    (server:expiration-timeout))
  (force-server      #f)
  (ro-mode           #f)  
  (ro-mode-checked   #f)) ;; flag that indicates we have checked for ro-mode

;; launching and hosts
(defstruct host
  (reachable    #f)
  (last-update  0)
  (last-used    0)
  (last-cpuload 1))


;;======================================================================
;;  S U P P O R T   F U N C T I O N S
;;======================================================================

;; if a server is either running or in the process of starting call client:setup
;; else return #f to let the calling proc know that there is no server available

Modified rmtmod.scm from [41d6e212da] to [a90d5e229b].

29
30
31
32
33
34
35

36
37
38
29
30
31
32
33
34
35
36
37
38
39







+



(import scheme chicken data-structures extras)
(import (prefix sqlite3 sqlite3:) posix typed-records srfi-18 srfi-69 format ports srfi-1 matchable)
;; (import commonmod) ;;; DO NOT ALLOW rmt*scm TO DEPEND ON common*scm!!!!
;; (import dbmod)
;; (import megamod)

(use (prefix ulex ulex:))
;; (include "rmt-inc.scm")

;; (include "common_records.scm")
)