Megatest

Check-in [b5319490ec]
Login
Overview
Comment:Load db and key _records from commonmod only
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.90
Files: files | file ages | folders
SHA1: b5319490ecee0d5f16f58aa04538ecd8e88c9f0b
User & Date: matt on 2024-02-08 19:47:52
Other Links: branch diff | manifest | tags
Context
2024-02-08
20:39
Move test_records.scm into commonmod.scm. Disabled uses of runsmod.import in megatest.scm. check-in: 62a9a80b8c user: matt tags: v1.90
19:47
Load db and key _records from commonmod only check-in: b5319490ec user: matt tags: v1.90
09:24
Reduced unitdeps.pdf. Run oldcsc make unitdeps.pdf check-in: 98f80f0e76 user: mrwellan tags: v1.90
Changes

Modified Makefile from [d6ac81a14f] to [a99dba9744].

533
534
535
536
537
538
539
540

541
542
543
544
545
546
547
533
534
535
536
537
538
539

540
541
542
543
544
545
546
547







-
+







	fi

# portlogger-example : portlogger-example.scm api.o archive.o common.o configf.o dashboard-tests.o dashboard-context-menu.o db.o dcommon.o ezsteps.o genexample.o gutils.o items.o keys.o launch.o lock-queue.o margs.o mt.o ods.o portlogger.o process.o rmt.o runconfig.o runs.o server.o synchash.o tasks.o tdb.o tests.o tree.o
#	csc $(CSCOPTS) portlogger-example.scm api.o archive.o common.o configf.o dashboard-tests.o dashboard-context-menu.o db.o dcommon.o ezsteps.o genexample.o gutils.o items.o keys.o launch.o lock-queue.o margs.o mt.o ods.o portlogger.o process.o rmt.o runconfig.o runs.o server.o sync-hash.o tasks.o tdb.o tests.o tree.o

# IMPORTSTUBS = $(*import.scm:%.scm=%)

unitdeps.dot : *scm ./utils/plot-uses Makefile
unitdeps.dot : *mod.scm ./utils/plot-uses Makefile
	./utils/plot-uses todot processmod.import,dbfile.import,dbmod.import,configfmod.import,mtmod.import,procesmod.import,commonmod.import,mtargs.import,mtargs,debugprint $$(ls *.scm|grep -v import) > unitdeps.dot

# ./utils/plot-uses todot commonmod,portlogger,stml2,debugprint,mtargs apimod.scm commonmod.scm configfmod.scm dbmod.scm megatestmod.scm mtmod.scm processmod.scm rmtmod.scm servermod.scm tcp-transportmod.scm > uses.dot ; dot uses.dot -Tpdf -o uses.pdf

#  apimod.scm commonmod.scm configfmod.scm dbmod.scm megatestmod.scm mtmod.scm processmod.scm rmtmod.scm servermod.scm tcp-transportmod.scm testsmod.scm

uses.pdf : *scm utils/plot-uses  Makefile

Modified archivemod.scm from [7184f03fc6] to [ddced4be70].

120
121
122
123
124
125
126
127

128
129
130
131
132
133
134
120
121
122
123
124
125
126

127
128
129
130
131
132
133
134







-
+







	srfi-18
	srfi-69
	typed-records
	z3
	)
	
(include "common_records.scm")
(include "db_records.scm")
;; (include "db_records.scm")

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

;; ;; NOT CURRENTLY USED
;; ;;

Modified commonmod.scm from [5b4b945014] to [18a11370a1].

131
132
133
134
135
136
137




138
139
140
141
142
143
144
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148







+
+
+
+







;;  misc conversion, data manipulation functions
;;  testsuite and area utilites
;;
;;======================================================================

(include "megatest-version.scm")
(include "megatest-fossil-hash.scm")
(include "db_records.scm")
(include "key_records.scm")
(include "common_records.scm")


;; http - use the old http + in /tmp db
;; tcp  - use tcp transport with cachedb db
;; nfs  - use direct to disk access (read-only)
;;
(define rmt:transport-mode (make-parameter 'tcp))

624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
628
629
630
631
632
633
634



635
636
637
638
639
640
641







-
-
-







;; misc conversion, data manipulation functions
;;======================================================================

;;======================================================================
;; old stuff from keys.scm
;;======================================================================

(include "key_records.scm")
(include "common_records.scm")

(define (keys->keystr keys) ;; => key1,key2,key3,additiona1, ...
  (string-intersperse keys ","))

;; (define (args:usage . a) #f)

(define (tasks:wait-on-journal path n #!key (remove #f)(waiting-msg #f))
  (if (not (string? path))

Modified dashboard-context-menu.scm from [94462b46f3] to [a9287541e5].

43
44
45
46
47
48
49
50

51
52
53
54
55
56
57
43
44
45
46
47
48
49

50
51
52
53
54
55
56
57







-
+








(use canvas-draw)

(use srfi-1 posix regex regex-case srfi-69)
(use (prefix sqlite3 sqlite3:))

(include "common_records.scm")
(include "db_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")

(import commonmod
	configfmod
	rmtmod
	testsmod
	subrunmod

Modified dashboard-guimonitor.scm from [d518eb5938] to [14af79287f].

34
35
36
37
38
39
40
41

42
43
44
45
46
47
48
34
35
36
37
38
39
40

41
42
43
44
45
46
47
48







-
+







(declare (unit dashboard-guimonitor))
(declare (uses common))
(declare (uses keys))
(declare (uses commonmod))
(import commonmod)

(include "common_records.scm")
(include "db_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")
(include "task_records.scm")

(define (control-panel db tdb keys)
  (let* ((var-params (make-hash-table)) ;; register all the widgets here for querying on run, rollup, remove?
	 (key-params (make-hash-table))
	 (monitordat '()) ;; list of monitor records

Modified dashboard-tests.scm from [af9e25f219] to [9f47337a67].

60
61
62
63
64
65
66
67

68
69
70
71
72
73
74
60
61
62
63
64
65
66

67
68
69
70
71
72
73
74







-
+







	tasksmod
	testsmod
	runsmod
	subrunmod
	)

(include "common_records.scm")
(include "db_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")

;;======================================================================
;; C O M M O N
;;======================================================================

(define *dashboard-comment-share-slot* #f)

Modified dashboard.scm from [26e9124ae3] to [0974058261].

106
107
108
109
110
111
112
113

114
115
116
117
118
119
120
106
107
108
109
110
111
112

113
114
115
116
117
118
119
120







-
+







	megatestmod
	tasksmod
	runsmod
	testsmod
	)

(include "common_records.scm")
(include "db_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")
(include "task_records.scm")
(include "megatest-version.scm")
(include "megatest-fossil-hash.scm")
(include "vg_records.scm")

;; set some parameters here - these need to be put in something that can be loaded from other

Modified dbmod.scm from [f32f888d5a] to [6fddda802c].

78
79
80
81
82
83
84
85
86


87
88
89
90
91
92
93
78
79
80
81
82
83
84


85
86
87
88
89
90
91
92
93







-
-
+
+







	configfmod
	dbfile
	debugprint
	mtmod
	)

(include "common_records.scm")
(include "db_records.scm")
(include "key_records.scm")
;; (include "db_records.scm")
;; (include "key_records.scm")
(include "run_records.scm")

(define *number-of-writes* 0)
(define *number-non-write-queries* 0)

;; NOTE: This returns only the name "1.db", "main.db", not the path
;;

Modified dcommon.scm from [3b35e18d5d] to [d0a5600c78].

39
40
41
42
43
44
45
46
47


48
49
50
51
52
53
54
39
40
41
42
43
44
45


46
47
48
49
50
51
52
53
54







-
-
+
+







	rmtmod
        testsmod
        dbmod
	debugprint)

(include "megatest-version.scm")
(include "common_records.scm")
(include "db_records.scm")
(include "key_records.scm")
;; (include "db_records.scm")
;; (include "key_records.scm")
(include "run_records.scm")

;; yes, this is non-ideal 
(define dashboard:update-summary-tab #f)
(define dashboard:update-servers-table #f)

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

Modified ezstepsmod.scm from [ed95442a79] to [0f672c5b01].

125
126
127
128
129
130
131
132
133


134
135
136
137
138
139
140
125
126
127
128
129
130
131


132
133
134
135
136
137
138
139
140







-
-
+
+







	subrunmod
	testsmod
	runsmod
	fsmod
	)

(include "common_records.scm")
(include "key_records.scm")
(include "db_records.scm")
;; (include "key_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")


;;(rmt:get-test-info-by-id run-id test-id) -> testdat


;; (define (message-window msg)

Modified genexample.scm from [34aa366b1c] to [6229d612cf].

29
30
31
32
33
34
35
36

37
38
39
40
41
42
43
29
30
31
32
33
34
35

36
37
38
39
40
41
42
43







-
+







(use posix regex matchable)
(import (prefix mtargs args:)
	commonmod
	configfmod
	rmtmod
	debugprint)

(include "db_records.scm")
;; (include "db_records.scm")

(define genexample:example-logpro
#<<EOF
  ;; You should have at least one expect:required. This ensures that your process ran
  ;; comment out the line below and replace "put pattern here" with a pattern that will
  ;; always be seen in your log file if the step runs successfully.
  ;;

Modified key_records.scm from [0f706e37f0] to [55f6701b87].

14
15
16
17
18
19
20
21

22
23
24

25
26
27
28

29
30
31
32
14
15
16
17
18
19
20

21
22
23

24
25
26
27

28
29
30
31
32







-
+


-
+



-
+




;;     GNU General Public License for more details.
;; 
;;     You should have received a copy of the GNU General Public License
;;     along with Megatest.  If not, see <http://www.gnu.org/licenses/>.

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

(define-inline (keys->valslots keys) ;; => ?,?,? ....
(define (keys->valslots keys) ;; => ?,?,? ....
  (string-intersperse (map (lambda (x) "?") keys) ","))

;; (define-inline (keys->key/field keys . additional)
;; (define (keys->key/field keys . additional)
;;   (string-join (map (lambda (k)(conc k " TEXT"))
;; 		    (append keys additional)) ","))

(define-inline (item-list->path itemdat)
(define (item-list->path itemdat)
  (if (list? itemdat)
      (string-intersperse  (map cadr itemdat) "/")
      ""))

Modified launch.scm from [196f02d4f8] to [60c51037a0].

45
46
47
48
49
50
51
52
53


54
55
56
57
58
59
60
45
46
47
48
49
50
51


52
53
54
55
56
57
58
59
60







-
-
+
+








(import (prefix base64 base64:)
	(prefix sqlite3 sqlite3:)
	(prefix mtargs args:)
)

(include "common_records.scm")
(include "key_records.scm")
(include "db_records.scm")
;; (include "key_records.scm")
;; (include "db_records.scm")
(include "megatest-fossil-hash.scm")

(import commonmod
	processmod
	configfmod
	rmtmod
	debugprint

Modified launchmod.scm from [86d9de3dce] to [46f91d6b1b].

125
126
127
128
129
130
131
132
133


134
135
136
137
138
139
140
125
126
127
128
129
130
131


132
133
134
135
136
137
138
139
140







-
-
+
+







	subrunmod
	testsmod
	runsmod
	fsmod
	)

(include "common_records.scm")
(include "key_records.scm")
(include "db_records.scm")
;; (include "key_records.scm")
;; (include "db_records.scm")
(include "megatest-fossil-hash.scm")

;;======================================================================
;; ezsteps
;;======================================================================

;; ezsteps were going to be coded as

Modified megatest.scm from [815e135318] to [ecf9191aa5].

117
118
119
120
121
122
123
124
125


126
127
128
129
130
131
132
117
118
119
120
121
122
123


124
125
126
127
128
129
130
131
132







-
-
+
+







	launchmod
	fsmod
        )

(define *db* #f) ;; this is only for the repl, do not use in general!!!!

(include "common_records.scm")
(include "key_records.scm")
(include "db_records.scm")
;; (include "key_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")
(include "megatest-fossil-hash.scm")

(use (prefix sqlite3 sqlite3:) srfi-1 posix regex regex-case srfi-69 (prefix base64 base64:))
(use readline apropos json http-client directory-utils typed-records)
(use http-client srfi-18 extras format tcp-server tcp)

Modified monitor.scm from [23e287b47c] to [11b5fa345e].

24
25
26
27
28
29
30
31
32


33
34
24
25
26
27
28
29
30


31
32
33
34







-
-
+
+


(declare (uses common))

(declare (uses runconfig))
(declare (uses commonmod))
(import commonmod)

(include "common_records.scm")
(include "key_records.scm")
(include "db_records.scm")
;; (include "key_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")

Modified mt.scm from [e3190c6b40] to [536abb0718].

40
41
42
43
44
45
46
47
48


49
50
51
52
53
54
40
41
42
43
44
45
46


47
48
49
50
51
52
53
54







-
-
+
+






	rmtmod
	megatestmod)

;; make mt: calls in megatestmod work
;; (read-config-set! read-config)

(include "common_records.scm")
(include "key_records.scm")
(include "db_records.scm")
;; (include "key_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")
(include "test_records.scm")

;; This is the Megatest API. All generally "useful" routines will be wrapped or extended
;; here.

Modified mtmod.scm from [c5e4b82ce0] to [b742c926fe].

107
108
109
110
111
112
113
114

115
116
117
118
119
120
121
107
108
109
110
111
112
113

114
115
116
117
118
119
120
121







-
+








	  debugprint
  )))

;; imports common to chk5 and ck4
(import srfi-13)

(include "db_records.scm")
;; (include "db_records.scm")

;;======================================================================
;; stuff from keys that can't be in commonmod. Maybe move all from commonmod to here?
;;======================================================================

(define (keys:make-key/field-string confdat)
  (let ((fields (configf:get-section confdat "fields")))

Modified rmtmod.scm from [15acb39694] to [08616bdb4f].

51
52
53
54
55
56
57
58

59
60
61
62
63
64
65
51
52
53
54
55
56
57

58
59
60
61
62
63
64
65







-
+







	dbmod
	debugprint
	apimod
	mtmod
	servermod
	)

(include "db_records.scm")
;; (include "db_records.scm")

(defstruct alldat
  (areapath #f)
  (ulexdat  #f)
  )


Modified runs.scm from [6c789b4291] to [c2c4dc776e].

41
42
43
44
45
46
47
48
49


50
51
52
53
54
55
56
41
42
43
44
45
46
47


48
49
50
51
52
53
54
55
56







-
-
+
+







(use (prefix sqlite3 sqlite3:) srfi-1 posix regex regex-case srfi-69 (srfi 18) 
     posix-extras directory-utils pathname-expand typed-records format  sxml-serializer
     sxml-modifications matchable)



(include "common_records.scm")
(include "key_records.scm")
(include "db_records.scm")
;; (include "key_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")
(include "test_records.scm")

;; (include "debugger.scm")

(import commonmod
	processmod

Modified runsmod.scm from [8832b594a9] to [7c1c398c00].

126
127
128
129
130
131
132
133
134


135
136
137
138
139
140
141
126
127
128
129
130
131
132


133
134
135
136
137
138
139
140
141







-
-
+
+







	testsmod
	subrunmod
	archivemod
	fsmod
	)

(include "common_records.scm")
(include "key_records.scm")
(include "db_records.scm")
;; (include "key_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")
(include "test_records.scm")

;; use this struct to facilitate refactoring
;;

(defstruct runs:dat

Modified server.scm from [bf70314166] to [3cd1085ec7].

33
34
35
36
37
38
39
40

41
42
43
44
45
46
47
33
34
35
36
37
38
39

40
41
42
43
44
45
46
47







-
+








(import commonmod
	configfmod
	debugprint
	(prefix mtargs args:))

(include "common_records.scm")
(include "db_records.scm")
;; (include "db_records.scm")

(define (db:kill-servers)
  (let* ((tl (launch:setup)) ;; need this to initialize *toppath*
        (servdir (conc *toppath* "/.servinfo"))
        (servfiles (glob (conc servdir "/*:*.db")))
        (fmtstr  "~10a~22a~10a~25a~25a~8a\n")
        (dbfiles (append (glob (conc *toppath* "/.mtdb/main.db")) (glob (conc *toppath* "/.mtdb/?.db"))(glob (conc *toppath* "/.mtdb/??.db"))))

Modified servermod.scm from [cc0c6e8294] to [cbd4da6b54].

45
46
47
48
49
50
51
52

53
54
55
56
57
58
59
45
46
47
48
49
50
51

52
53
54
55
56
57
58
59







-
+







	configfmod
	debugprint
	(prefix mtargs args:)
	mtmod
	)

(include "common_records.scm")
(include "db_records.scm")
;; (include "db_records.scm")

(define (server:make-server-url hostport)
  (if (not hostport)
      #f
      (conc "http://" (car hostport) ":" (cadr hostport))))

(define  *server-loop-heart-beat* (current-seconds))

Modified subrunmod.scm from [ca23ed3335] to [ddf54f1377].

119
120
121
122
123
124
125
126

127
128
129
130
131
132
133
119
120
121
122
123
124
125

126
127
128
129
130
131
132
133







-
+







	mtmod
	megatestmod
	tasksmod
	)

;(include "common_records.scm")
;;(include "key_records.scm")
(include "db_records.scm") ;; provides db:test-get-id
;; (include "db_records.scm") ;; provides db:test-get-id
;;(include "run_records.scm")
;;(include "test_records.scm")

(define (subrun:subrun-test-initialized? test-run-dir)
  (if (and (common:file-exists? (conc test-run-dir "/subrun-area") )
           (common:file-exists? (conc test-run-dir "/testconfig.subrun") ))
      #t

Modified tasksmod.scm from [d76fceed95] to [11086d3914].

113
114
115
116
117
118
119
120

121
122
123
124
125
126
127
113
114
115
116
117
118
119

120
121
122
123
124
125
126
127







-
+







	processmod
	pgdb
	mtmod
	megatestmod
	)

(include "task_records.scm")
(include "db_records.scm")
;; (include "db_records.scm")

;;======================================================================
;; Tasks db
;;======================================================================

(define (tasks:get-task-db-path)
  (let ((dbdir  (or (configf:lookup *configdat* "setup" "monitordir")

Modified tcmt.scm from [2cd967b1fa] to [114f35b4de].

37
38
39
40
41
42
43
44

45
46
47
48
49
50
51
37
38
39
40
41
42
43

44
45
46
47
48
49
50
51







-
+








(import commonmod
	rmtmod
	(prefix mtargs args:))

(include "megatest-version.scm")
(include "megatest-fossil-hash.scm")
(include "db_records.scm")
;; (include "db_records.scm")

(define origargs (cdr (argv)))
(define remargs (args:get-args
		 (argv)
		 `( "-target"
		    "-reqtarg"
		    "-runname"

Modified tdb.scm from [e1e975c947] to [e7e7aee13a].

38
39
40
41
42
43
44
45
46


47
48
49
50
51
52
53
38
39
40
41
42
43
44


45
46
47
48
49
50
51
52
53







-
-
+
+








(import commonmod
	debugprint
	rmtmod
	(prefix mtargs args:))

(include "common_records.scm")
(include "db_records.scm")
(include "key_records.scm")
;; (include "db_records.scm")
;; (include "key_records.scm")
(include "run_records.scm")

;;======================================================================
;;
;; T E S T   D A T A B A S E S
;;
;;======================================================================

Modified testsmod.scm from [9edcca0333] to [2d86bae865].

124
125
126
127
128
129
130
131
132


133
134
135
136
137
138
139
124
125
126
127
128
129
130


131
132
133
134
135
136
137
138
139







-
-
+
+







	stml2
	mtmod
	servermod
	fsmod
	)

(include "common_records.scm")
(include "key_records.scm")
(include "db_records.scm")
;; (include "key_records.scm")
;; (include "db_records.scm")
(include "run_records.scm")
(include "test_records.scm")
(include "js-path.scm")

(define (init-java-script-lib)
  (set! *java-script-lib* (conc  (common:get-install-area) "/share/js/jquery-3.1.0.slim.min.js"))
  )

Modified tree.scm from [5c57137e17] to [5b26f8b9f9].

35
36
37
38
39
40
41
42
43


44
45
46
47
48
49
50
35
36
37
38
39
40
41


42
43
44
45
46
47
48
49
50







-
-
+
+







(import (prefix sqlite3 sqlite3:))

(import (prefix mtargs args:)
	debugprint)

(include "megatest-version.scm")
(include "common_records.scm")
(include "db_records.scm")
(include "key_records.scm")
;; (include "db_records.scm")
;; (include "key_records.scm")

;;======================================================================
;; T R E E   S T U F F 
;;======================================================================

;; path is a list of nodes, each the child of the previous
;; this routine returns the id so another node can be added