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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
-
-
-
+
-
-
-
+
+
+
+
+
-
-
-
+
-
-
+
-
-
-
+
+
+
-
-
-
-
-
-
-
|
(declare (uses items))
(declare (uses db))
(declare (uses configf))
(declare (uses process))
(declare (uses launch))
(declare (uses runs))
(declare (uses dashboard-tests))
(declare (uses dashboard-guimonitor))
(declare (uses tree))
(declare (uses dcommon))
(declare (uses dashboard-context-menu))
(declare (uses vg))
(declare (uses subrun))
;; (declare (uses dashboard-main))
(declare (uses mt))
(declare (uses dbfile))
(include "common_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")
(dbfile:db-init-proc db:initialize-main-db)
(define help (conc
"Megatest Dashboard, documentation at http://www.kiatoa.com/fossils/megatest version " megatest-version
" license GPL, Copyright (C) Matt Welland 2012-2017
Usage: dashboard [options]
-h : this help
-test run-id,test-id : control test identified by testid
-test run-id test-id : open a test control panel on this test
-skip-version-check : skip the version check
-use-db-cache : access database via cache
Misc
-rows R : set number of rows
-cols C : set number of columns
-start-dir dir : start dashboard in the given directory
-target target : filter runs tab to given target.
-run-name name : filter runs tab to given run name.
-debug n[,n] : set debug level(s) e.g. -debug 4 or -debug 0,9
-repl : Start a chicken scheme interpreter
"
))
;; -server host:port : connect to host:port instead of db access
;; -xterm run-id,test-id : Start a new xterm with specified run-id and test-id
;; -guimonitor : control panel for runs
;; process args
(define remargs (args:get-args
(argv)
;; parameters (need arguments)
(list "-rows"
"-cols"
"-run"
"-test"
"-test" ;; given a run id and test id, open only a test control panel on that test..
"-xterm"
"-debug"
"-host"
"-transport"
"-start-dir"
"-target"
"-run-name"
)
;; switches (don't take arguments)
(list "-h"
"-use-server"
"-guimonitor"
"-main"
"-v"
"-q"
"-use-db-cache"
"-skip-version-check"
"-repl"
"-rh5.11" ;; fix to allow running on rh5.11
"-:p" ;; ignore the built in chicken profiling switch
)
args:arg-hash
0))
;; ################### Top level code ###################
|
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
+
-
+
+
+
+
+
+
+
+
|
(print "ERROR: environment variable " var " is set in this terminal, this will cause you problems. Exiting now.")
(exit 1))))
'("MT_RUN_AREA_HOME" "MT_MEGATEST" "MT_CMDINFO" "MT_TEST_RUN_DIR" "MT_LINKTREE" "MT_TESTSUITENAME"))
)
)
(if (not (null? remargs))
(if remargs
(begin
(print "Unrecognised arguments: " (string-intersperse remargs " "))
(exit)))
(exit)
)
(begin
(print help)
(exit)
)
)
)
(if (args:get-arg "-h")
(begin
(print help)
(exit)))
(if (args:get-arg "-start-dir")
|
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
-
+
-
+
|
(begin
(print "Failed to find megatest.config, exiting")
(exit 1)))
;; deal with RH 5.11 gtk lib or iup lib missing detachbox feature
;; first check for the switch
;;
(if (or (args:get-arg "-rh5.11")
(if (or
(configf:lookup *configdat* "dashboard" "no-detachbox")
(not (file-exists? "/etc/os-release")))
(set! iup:detachbox iup:vbox))
(if (not (common:on-homehost?))
(begin
(debug:print 0 *default-log-port* "WARNING: You are starting the dashboard on a machine that is not the homehost:" (common:get-homehost))
(debug:print 0 *default-log-port* "It will be slower." (common:get-homehost))
(debug:print 0 *default-log-port* "It will be slower.")
))
;; ########################### end top level code ##############################
;; RA => Might require revert for filters
;; create a watch dog to move changes from lt/.db/*.db to megatest.db
|
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
|
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
|
-
-
|
(if (and (number? run-id)
(number? test-id)
(>= test-id 0))
(dashboard-tests:examine-test run-id test-id)
(begin
(debug:print 3 *default-log-port* "INFO: tried to open test with invalid run-id,test-id. " (args:get-arg "-test"))
(exit 1)))))
;; ((args:get-arg "-guimonitor")
;; (gui-monitor (dboard:tabdat-dblocal tabdat)))
(else
(dboard:commondat-uidat-set! commondat (make-dashboard-buttons commondat))
(dboard:commondat-curr-tab-num-set! commondat 0)
(dboard:commondat-add-updater
commondat
(lambda ()
(dashboard:runs-tab-updater commondat 1))
|