Megatest

Changes On Branch ffe0a27e42406705
Login

Changes In Branch v2.001 Through [ffe0a27e42] Excluding Merge-Ins

This is equivalent to a diff from 3ebb15bd95 to ffe0a27e42

2021-12-13
19:56
Fixed bunch of issues with main.db server startup. check-in: c423bc098e user: matt tags: v2.001
2021-12-08
21:40
Fixed bunch of build issues with autoload and dbi check-in: ffe0a27e42 user: matt tags: v2.001
2021-12-06
20:10
Start adding tab for sys check-in: ca23e278c6 user: matt tags: v2.001
2021-12-01
19:25
Start of v2.0 (again) check-in: 35ec63886f user: matt tags: v2.001
2021-11-29
18:41
Corrected - but not quite - the calls to get-inmem Leaf check-in: 3ebb15bd95 user: matt tags: v1.6584-nanomsg
09:38
wip check-in: 31c178ba40 user: matt tags: v1.6584-nanomsg

Added build-assist/README version [ff327b7591].





























1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is how I like to install chicken for building Megatest.

This guide assumes you have the Megatest fossil and are in the build-assist directory and
that you have the opensrc fossil with uv synced:

fossil clone https://www.kiatoa.com/fossils/megatest
fossil clone https://www.kiatoa.com/fossils/opensrc;cd opensrc;fossil uv sync

Make a build directory and go to it:

mkdir build;cd build

Make a destination directory and set PREFIX

export PREFIX=/opt/chicken/5.3.0; mkdir -p $PREFIX

Get chicken:

wget https://code.call-cc.org/releases/5.3.0/chicken-5.3.0.tar.gz

Extract, build, and install chicken:

tar xf chicken-5.3.0.tar.gz; cd chicken; make PLATFORM=linux PREFIX=$PREFIX install; cd ..

Install all needed eggs.
for egg in $(cat ../ck5-egg.list);do echo $egg;ck5 chicken-install $egg;done

Now run the script ../iup-compile.sh for remaining instructions

Modified build-assist/ck5 from [a0370c68ea] to [e0bdd3a902].

1



2
3
4







5
6

7
8

9

1
2
3
4



5
6
7
8
9
10
11
12

13
14

15
16
17

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

-
+

-
+

+
#!/bin/bash
# /opt/chicken/5.3.0
# WHICHCKVER=5.1.0_WW45
WHICHCKVER=5.3.0
export PATH=/home/matt/data/buildall/ck5.2/bin:$PATH
if [[ -z /home/matt/data/buildall/ck5.2/lib:/home/matt/data/buildall/ck5.2/lib64 ]];then
   export LD_LIBRARY_PATH=/home/matt/data/buildall/ck5.2/lib:/home/matt/data/buildall/ck5.2/lib64:$LD_LIBRARY_PATH

BASEDIR=/opt/chicken/$WHICHCKVER
export PATH="$BASEDIR/bin:$PATH"

NEW_LD_LIBRARY_PATH="$BASEDIR/lib:$BASEDIR/lib64"
if [[ -z "$LD_LIBRARY_PATH" ]];then
  export LD_LIBRARY_PATH=$NEW_LD_LIBRARY_PATH
else
   export LD_LIBRARY_PATH=/home/matt/data/buildall/ck5.2/lib:/home/matt/data/buildall/ck5.2/lib64
  export LD_LIBRARY_PATH="$NEW_LD_LIBRARY_PATH:$LD_LIBRARY_PATH"
fi
export CHICKEN_DOC_PAGER=cat

exec "$@"

Modified build-assist/ck5-eggs.list from [4ccb4f5090] to [50ec309d57].


1
2
3
4
5
6
7
1
2
3
4
5
6
7
8
+







csm
address-info
ansi-escape-sequences
apropos
base64
crypt
csv-abnf
directory-utils

Added build-assist/installing-nng version [9ef49d4af4].
























1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
wget https://github.com/nanomsg/nng/archive/refs/tags/v1.5.2.tar.gz
tar xf v1.5.2.tar.gz
cd nng-1.5.2
mkdir build
cd build
make
sudo make install
vi CMakeCache.txt

Change OFF to ON for shared libraries:

//Build shared library
BUILD_SHARED_LIBS:BOOL=ON

make
sudo make install
sudo ldconfig

chicken-install nng
-or-
git clone https://gitlab.com/ariSun/chicken-nng.git
cd chicken-ngg;chicken-install

Modified build-assist/iup-compile.sh from [a1231c7291] to [f2fe37f920].

1
2
3
4
5
6
7
8

9




10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21








+

+
+
+
+







if [[ -z $PREFIX ]];then
  echo "PREFIX required"
  exit
fi

echo "Put iup, im and cd .a and .so files in PREFIX/lib"
echo "  1. get opensrc fossil from https://www.kiatoa.com/fossils/opensrc"
echo "  2. list the unversioned files and export the cd, im and iup lib for your kernel (try uname -a for the kernel number) 4.15 ==> 415_64"
echo '     for x in $(fossil uv list | grep 415| awk ''{print $6}'');do targ=$(echo $x|cut -d/ -f3); fossil uv export $x $targ; done'
echo "  3. untar iup, im and cp tars into a clean working dir and then copy:"
echo " find . -name \*.a -print -exec cp {} $PREFIX/lib \;"
echo " find . -name \*.so -print -exec cp {} $PREFIX/lib \;"
echo " rsync -av include/ $PREFIX/include/"
echo " or (depending on versions and what you see in the iup tars - they seem to vary"
echo "     cp *.a *.so $PREFIX/lib"
echo "     cp include/*.h $PREFIX/include"
echo "  4. run the chicken-install like this:"

echo "If you use a wrapper (e.g. ck5) to create the chicken environment:"
echo "CSC_OPTIONS=\"-I$PREFIX/include -I$PREFIX/include/im -I$PREFIX/include/cd -I$PREFIX/include/iup -L$PREFIX/lib -C -std=gnu99\" ck5 chicken-install iup -feature disable-iup-matrixex"
echo "else:"

Modified dashboard.scm from [733ea55f33] to [955f1d46eb].

40
41
42
43
44
45
46

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







+







(declare (uses runsmod))
(declare (uses rmtmod))
(declare (uses subrunmod))
(declare (uses tree))
(declare (uses vgmod))
(declare (uses testsmod))
(declare (uses tasksmod))
(declare (uses dbi))

;; needed for configf scripts, scheme etc.
;; (declare (uses apimod.import))
;; (declare (uses debugprint.import))
;; (declare (uses mtargs.import))
;; (declare (uses commonmod.import))
;; (declare (uses configfmod.import))
87
88
89
90
91
92
93

94
95
96
97
98
99
100
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102







+







	chicken.time
	chicken.time.posix

	(prefix iup iup:)
	canvas-draw
	canvas-draw-iup
	(prefix sqlite3 sqlite3:)
	(prefix dbi dbi:)
	srfi-1
	regex regex-case srfi-69
	typed-records
	sparse-vectors
	format
	srfi-4
	srfi-14
2840
2841
2842
2843
2844
2845
2846
2847

2848
2849
2850
2851
2852
2853
2854
2842
2843
2844
2845
2846
2847
2848

2849
2850
2851
2852
2853
2854
2855
2856







-
+







			    (apply iup:hbox (reverse hdrlst))
			    (apply iup:hbox (reverse bdylst))
			    (dashboard:runs-horizontal-slider runs-dat))))
			 controls
			 ))
	     (views-cfgdat (common:load-views-config))
	     (additional-tabnames '())
	     (tab-start-num       5)   ;; DON'T FORGET TO UPDATE THIS WHEN CHANGING THE STANDARD TABS BELOW
	     (tab-start-num       6)   ;; DON'T FORGET TO UPDATE THIS WHEN CHANGING THE STANDARD TABS BELOW
	     ;; (data (dboard:tabdat-init (make-d:data)))
	     (additional-views 	;; process views-dat
	      (let ((tab-num tab-start-num)
		    (result  '()))
		(for-each
		 (lambda (view-name)
		   (debug:print 0 *default-log-port* "Adding view " view-name)
2887
2888
2889
2890
2891
2892
2893

2894
2895
2896
2897
2898
2899
2900
2901


2902
2903
2904
2905
2906
2907
2908
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913







+








+
+







					       "tabchangepos"))
			  (dashboard:summary commondat stats-dat tab-num: 0)
			  runs-view
			  ;; (make-runs-view commondat runs2-dat 2)
			  (dashboard:runs-summary commondat onerun-dat tab-num: 2)
			  (dashboard:run-controls commondat runcontrols-dat tab-num: 3)
			  (dashboard:run-times commondat runtimes-dat tab-num: 4)
			  (iup:vbox (iup:button "Pushme")) ;; tab 5
			  additional-views)))
	;; (set! (iup:callback tabs tabchange-cb:) (lambda (a b c)(print "SWITCHED TO TAB: " a " " b " " c)))
	(iup:attribute-set! tabs "TABTITLE0" "Summary")
	(iup:attribute-set! tabs "TABTITLE1" "Runs")
	;; (iup:attribute-set! tabs "TABTITLE2" "Runs2")
	(iup:attribute-set! tabs "TABTITLE2" "Run Summary")
	(iup:attribute-set! tabs "TABTITLE3" "Run Control")
	(iup:attribute-set! tabs "TABTITLE4" "Run Times")
	(iup:attribute-set! tabs "TABTITLE5" "Sys Status")
	
	;; (iup:attribute-set! tabs "TABTITLE3" "New View")
	;; (iup:attribute-set! tabs "TABTITLE4" "Run Control")

	;; set the tab names for user added tabs
	(for-each
	 (lambda (tab-info)
	   (iup:attribute-set! tabs (conc "TABTITLE" (car tab-info)) (cdr tab-info)))

Modified dbi.scm from [3f996117f2] to [b3324417ec].

15
16
17
18
19
20
21

22
23
15
16
17
18
19
20
21
22
23
24







+


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

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

(declare (unit dbi))
(declare (uses autoload))

(include "dbi/dbi.scm")

Modified rmtmod.scm from [db7ecb31bf] to [7c7b81e269].

297
298
299
300
301
302
303
304


305
306
307
308
309
310
311
297
298
299
300
301
302
303

304
305
306
307
308
309
310
311
312







-
+
+







     

     )))

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

;; FOR DEBUGGING SET TO #t
(define *localmode* #t)
;; (define *localmode* #t)
(define *localmode* #f)
(define *dbstruct* (make-dbr:dbstruct))

;; Defaults to current area
;;
(define (rmt:send-receive cmd rid params #!key (attemptnum 1)(area-dat #f))
  (if (not *rmt:remote*)(set! *rmt:remote* (make-rmt:remote)))
  (let* ((apath      *toppath*)

Modified stml2.scm from [6f0ee137b2] to [c7394e5219].

16
17
18
19
20
21
22


23
24
25
16
17
18
19
20
21
22
23
24
25
26
27







+
+



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

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

(declare (unit stml2))
(declare (uses cookie))
(declare (uses dbi))
(declare (uses autoload))

(include "stml2/stml2.scm")

Modified stml2/formdat.scm from [f4b16c20f8] to [0f3102ec8c].

8
9
10
11
12
13
14
15

16
17
18
19


20
21
8
9
10
11
12
13
14

15

16


17
18
19
20







-
+
-

-
-
+
+


;;  PURPOSE.

;; (declare (unit formdat))

(module formdat
    *

(import chicken scheme data-structures extras srfi-13 ports )
(import chicken scheme data-structures extras srfi-13 ports html-filter)
(use html-filter)

(use regex)
(require-extension srfi-69)
(import regex)
(import srfi-69)

)

Modified stml2/html-filter.scm from [55ec64cff2] to [a2ae004691].

9
10
11
12
13
14
15
16

17
18

19
20
21
9
10
11
12
13
14
15

16
17

18
19
20
21







-
+

-
+




;; (declare (unit html-filter))

(module html-filter
    *

(import chicken scheme data-structures extras srfi-13 ports )
(use misc-stml)
(import misc-stml)

(require-extension regex)
(import regex)

;; 
)

Modified stml2/misc-stml.scm from [30ba5d90bf] to [8660d67355].

14
15
16
17
18
19
20
21
22


23
24
14
15
16
17
18
19
20


21
22

23







-
-
+
+
-

;; (declare (unit misc-stml))

(module misc-stml
  *

(import chicken scheme data-structures extras srfi-13 ports posix)
  
(use regex (prefix dbi dbi:))
(use (prefix crypt c:))
(import regex (prefix dbi dbi:))
(import (prefix crypt c:))
(use (prefix dbi dbi:))
)

Modified stml2/rollup-pages.scm from [b24bc2e231] to [37b97898ac].

1

2
3
4
5
6
7
8

1
2
3
4
5
6
7
8
-
+







(use regex posix srfi-69 srfi-1)
(import regex posix srfi-69 srfi-1)

(define extract-rx (regexp "pages\\/(.*)_(view|ctrl).scm"))

(define (print-page-wrapper lookup page)
  (print "(define (pages:" page " session db shared)")
  (if (hash-table-ref/default lookup (conc page "_ctrl") #f)
      (print "(include \"pages/" page "_ctrl.scm\")"))

Modified stml2/session.scm from [300e7014a0] to [32b68ce58f].

9
10
11
12
13
14
15
16

17
18

19
20
9
10
11
12
13
14
15

16


17
18
19







-
+
-
-
+



;; (declare (unit session))
(module session
    *
  
(import chicken scheme data-structures extras srfi-13 ports posix files srfi-1)

(use (prefix dbi dbi:) srfi-69)
(import (prefix dbi dbi:) srfi-69 regex)
(require-extension regex)
(use cookie stmlcommon) ;; (declare (uses cookie))
(import cookie stmlcommon) ;; (declare (uses cookie))

)

Modified stml2/setup.scm from [27fec5f813] to [6248624979].

1
2
3
4
5
6
7
8
9
10
11
12
13
14

15
16
17

18
19
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13

14
15
16

17

18
19
20













-
+


-
+
-



;; Copyright 2007-2011, Matthew Welland.
;; 
;;  This program is made available under the GNU GPL version 2.0 or
;;  greater. See the accompanying file COPYING for details.
;; 
;;  This program is distributed WITHOUT ANY WARRANTY; without even the
;;  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
;;  PURPOSE.

(module setup
    *
(import chicken scheme data-structures extras srfi-13 ports posix)

(uses session misc-stml)
(import session misc-stml)
;; (declare (unit setup))se
;; (declare (uses session))
(require-extension srfi-69)
(import srfi-69 regex)
(require-extension regex)


)

Modified stml2/spiffyserver.scm from [0953505b2d] to [36a130548d].

1
2
3

4
5
6
7
8
9
10
1
2

3
4
5
6
7
8
9
10


-
+







;; This doesn't work yet
;;
(use spiffy cgi-handler)
(import spiffy cgi-handler)

(spiffy-debug-mode #t)

(spiffy-file-ext-handlers 
 `(("drcdb" . ,(cgi-handler* "/path/to/drcdb"))))

(spiffy-root-path "/path/to/web")

Modified stml2/sqlite3.scm from [935dbe7787] to [b0bb736749].

1
2
3
4
5
6
7
8
9
10
11
12
13
14

15
16
17
18
19
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13

14
15
16
17
18
19
20
21













-
+







;; Copyright 2007-2011, Matthew Welland.
;; 
;;  This program is made available under the GNU GPL version 2.0 or
;;  greater. See the accompanying file COPYING for details.
;; 
;;  This program is distributed WITHOUT ANY WARRANTY; without even the
;;  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
;;  PURPOSE.
;;

;; I used this to get a simple interactive sqlite editor on the nokia n800
;; since I couldn't get sqlite3 to install (for reasons I can't remember).

(use sqlite3)
(import sqlite3)

(define args (argv))
(define num-args (length args))

(define dbname #f)
(define cmd    #f)

Modified stml2/stmlcommon.scm from [d0639f2742] to [ba756fc30d].

11
12
13
14
15
16
17
18

19
20
11
12
13
14
15
16
17

18
19
20







-
+


;; (declare (run-time-macros))

(module stmlcommon
    *

(import  chicken scheme data-structures extras srfi-13 ports posix)

(use (prefix dbi dbi:) regex (prefix crypt c:) srfi-69)
(import (prefix dbi dbi:) regex (prefix crypt c:) srfi-69)

)

Modified stml2/stmlrun.scm from [a5be661fee] to [4939b15c7b].

9
10
11
12
13
14
15
16

17
18
19
9
10
11
12
13
14
15

16
17
18
19







-
+



;;  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
;;  PURPOSE.

;; (require-extension syntax-case)
;; (declare (run-time-macros))

;; (include "stmlcommon.scm")
(require-library stml)
(import stml)


(stml:main #f)

Modified stml2/test.scm from [62a996e095] to [6d65a60d4d].

1

2
3
4
5
6
7
8
9
10

1
2

3
4
5
6
7
8
9
-
+

-







(use test md5)
(import test md5)

(require-extension sqlite3)
(import (prefix sqlite3 sqlite3:))

(require-library dbi)

;; (declare (uses stml))

(include "requirements.scm")

Modified testsmod.scm from [13d6172d0b] to [1d551a945a].

24
25
26
27
28
29
30

31
32
33
34
35
36
37
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38







+







(declare (uses commonmod))
(declare (uses configfmod))
(declare (uses itemsmod))
(declare (uses rmtmod))
(declare (uses stml2))
(declare (uses dbmod))
(declare (uses tasksmod))
(declare (uses dbi))

(module testsmod
	*
	
(import scheme

	chicken.base