Megatest

Check-in [1f5fe87e8e]
Login
Overview
Comment:Added mkdeploy as a eat yer own dogfood megatest automation of making the deploy target
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | development
Files: files | file ages | folders
SHA1: 1f5fe87e8ecfaf3c4be0b97c7642949f1d9c1551
User & Date: mrwellan on 2013-03-27 17:30:08
Other Links: branch diff | manifest | tags
Context
2013-03-27
23:55
Added deploy of the eggs check-in: 942beb12d3 user: matt tags: development
17:30
Added mkdeploy as a eat yer own dogfood megatest automation of making the deploy target check-in: 1f5fe87e8e user: mrwellan tags: development
07:38
More deploy tweaks check-in: e9bf4bb69e user: matt tags: development
Changes

Modified Makefile from [738e8a8f4d] to [060ce7f733].

33
34
35
36
37
38
39

40
41
42
43
44
45
46
newdashboard : newdashboard.scm $(OFILES)
	csc $(OFILES) newdashboard.scm -o newdashboard

deploytarg/libiupcd.so : $(CKPATH)/lib/libiupcd.so
	for i in iup im cd av call sqlite; do \
	  cp $(CKPATH)/lib/lib$$i* deploytarg/ ; \
	done


# puts deployed megatest in directory "megatest"
deploytarg/megatest : $(OFILES) megatest.o
	csc -deploy $(CSCOPTS) $(OFILES) megatest.scm
	rsync -av megatest/ deploytarg/

deploytarg/dashboard :  $(OFILES) $(GOFILES)







>







33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
newdashboard : newdashboard.scm $(OFILES)
	csc $(OFILES) newdashboard.scm -o newdashboard

deploytarg/libiupcd.so : $(CKPATH)/lib/libiupcd.so
	for i in iup im cd av call sqlite; do \
	  cp $(CKPATH)/lib/lib$$i* deploytarg/ ; \
	done
	cp $(CKPATH)/include/*.h deploytarg

# puts deployed megatest in directory "megatest"
deploytarg/megatest : $(OFILES) megatest.o
	csc -deploy $(CSCOPTS) $(OFILES) megatest.scm
	rsync -av megatest/ deploytarg/

deploytarg/dashboard :  $(OFILES) $(GOFILES)
67
68
69
70
71
72
73



74
75
76
77
78
79
80

$(PREFIX)/bin/mtest : mtest
	@echo Installing to PREFIX=$(PREFIX)
	$(INSTALL) mtest $(PREFIX)/bin/mtest
	utils/mk_wrapper $(PREFIX) mtest > $(PREFIX)/bin/megatest
	chmod a+x $(PREFIX)/bin/megatest




$(HELPERS) : utils/mt_* 
	$(INSTALL) $< $@
	chmod a+x $@

$(DEPLOYHELPERS) : utils/mt_*
	$(INSTALL) $< $@
	chmod a+X $@







>
>
>







68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84

$(PREFIX)/bin/mtest : mtest
	@echo Installing to PREFIX=$(PREFIX)
	$(INSTALL) mtest $(PREFIX)/bin/mtest
	utils/mk_wrapper $(PREFIX) mtest > $(PREFIX)/bin/megatest
	chmod a+x $(PREFIX)/bin/megatest

$(PREFIX)/bin/newdashboard : newdashboard
	$(INSTALL) newdashboard $(PREFIX)/bin/newdashboard

$(HELPERS) : utils/mt_* 
	$(INSTALL) $< $@
	chmod a+x $@

$(DEPLOYHELPERS) : utils/mt_*
	$(INSTALL) $< $@
	chmod a+X $@
103
104
105
106
107
108
109





110
111
112
113
114
115
116
117
118
119
120
121
	chmod a+x $(PREFIX)/bin/dashboard

install : bin $(PREFIX)/bin/mtest $(PREFIX)/bin/megatest $(PREFIX)/bin/dboard $(PREFIX)/bin/dashboard $(HELPERS) $(PREFIX)/bin/nbfake $(PREFIX)/bin/nbfind $(PREFIX)/bin/newdashboard

deploytarg/apropos.so : Makefile
	for i in apropos base64 canvas-draw csv-xml directory-utils dot-locking extras fmt format hostinfo http-client intarweb json md5 message-digest posix posix-extras readline regex regex-case s11n spiffy spiffy-request-vars sqlite3 srfi-1 srfi-18 srfi-69 tcp test uri-common zmq check-errors synch matchable sql-null tcp-server rpc blob-utils string-utils variable-item defstruct uri-generic sendfile opensll openssl lookup-table list-utils stack; do \
	chicken-install -prefix deploytarg -deploy $$i;done






deploy : deploytarg/megatest deploytarg/dashboard $(DEPLOYHELPERS) deploytarg/nbfake deploytarg/nbfind deploytarg/libiupcd.so deploytarg/apropos.so


bin : 
	mkdir -p $(PREFIX)/bin

test: tests/tests.scm
	cd tests;csi -I .. -b -n tests.scm

clean : 
	rm -f $(OFILES) $(GOFILES) megatest dboard dboard.o megatest.o







>
>
>
>
>












107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
	chmod a+x $(PREFIX)/bin/dashboard

install : bin $(PREFIX)/bin/mtest $(PREFIX)/bin/megatest $(PREFIX)/bin/dboard $(PREFIX)/bin/dashboard $(HELPERS) $(PREFIX)/bin/nbfake $(PREFIX)/bin/nbfind $(PREFIX)/bin/newdashboard

deploytarg/apropos.so : Makefile
	for i in apropos base64 canvas-draw csv-xml directory-utils dot-locking extras fmt format hostinfo http-client intarweb json md5 message-digest posix posix-extras readline regex regex-case s11n spiffy spiffy-request-vars sqlite3 srfi-1 srfi-18 srfi-69 tcp test uri-common zmq check-errors synch matchable sql-null tcp-server rpc blob-utils string-utils variable-item defstruct uri-generic sendfile opensll openssl lookup-table list-utils stack; do \
	chicken-install -prefix deploytarg -deploy $$i;done

deploytarg/libsqlite3.so : 
	CSC_OPTIONS="-Ideploytarg -Ldeploytarg" $CHICKEN_INSTALL -prefix deploytarg -deploy sqlite3



deploy : deploytarg/megatest deploytarg/dashboard $(DEPLOYHELPERS) deploytarg/nbfake deploytarg/nbfind deploytarg/libiupcd.so deploytarg/apropos.so


bin : 
	mkdir -p $(PREFIX)/bin

test: tests/tests.scm
	cd tests;csi -I .. -b -n tests.scm

clean : 
	rm -f $(OFILES) $(GOFILES) megatest dboard dboard.o megatest.o

Modified docs/megatest-training.odp from [02cc1211a6] to [d231c12bb1].

cannot compute difference between binary files

Added mkdeploy/megatest.config version [707a093280].























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
[fields]
PLATFORM TEXT
OS       TEXT

[setup]
# Adjust max_concurrent_jobs to limit parallel jobs
max_concurrent_jobs 50

# This is your link path, best to set it and then not change it
linktree #{getenv PWD}/linktree

# Job tools control how your jobs are launched
[jobtools]
useshell yes
launcher nbfind

# As you run more tests you may need to add additional disks 
# the names are arbitrary but must be unique
# 
[disks]
disk0 #{getenv PWD}/runs

# put env-override last so definitions in site.config by default
# are added as env-override variables
#
[env-override]
[include site.config]

Added mkdeploy/runconfigs.config version [739b3a2709].



















>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
[default]
TARGDIR_tmp /tmp
TARGDIR_opt /opt
TARGDIR_runs #{getenv MT_RUN_AREA_HOME}/runs
BUILDDIR    #{getenv MT_RUN_AREA_HOME}/..

# Your variables here are grouped by targets [SYSTEM/RELEASE]
[SYSTEM_val/RELEASE_val]
ANOTHERVAR only defined if target is SYSTEM_val/RELEASE_val

Added mkdeploy/tests/checkspace/checkspace.logpro version [ee0eb59e56].







>
>
>
1
2
3
(expect:error in    "LogFileBody" = 0 "Any error"         #/err/i)
(expect:required in "LogFileBody" = 1 "Sucess signature" #/adequate space/)

Added mkdeploy/tests/checkspace/checkspace.sh version [dc233ea2bc].

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/bash -e
freespace=`df -k /$DIRECTORY | grep $DIRECTORY | awk '{print $4}'`
if [[ $freespace -lt $REQUIRED ]];then
  echo "ERROR: insufficient space on /$DIRECTORY"
  exit 1
else
  echo "There is adequate space on /$DIRECTORY"
fi

Added mkdeploy/tests/checkspace/testconfig version [64ad5ec3fd].























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
# Add steps here. Format is "stepname script"
[ezsteps]
checkspace checkspace.sh

# Iteration for your tests are controlled by the items section
# However it is impractical to code the actual directory here 
# so use names here and dereference to variables in runconfigs
[itemstable]
DIRECTORY    tmp    opt     runs
REQUIRED  100000 100000  1000000

Added mkdeploy/tests/eggs/install.logpro version [ee0eb59e56].







>
>
>
1
2
3
(expect:error in    "LogFileBody" = 0 "Any error"         #/err/i)
(expect:required in "LogFileBody" = 1 "Sucess signature" #/adequate space/)

Added mkdeploy/tests/eggs/install.sh version [dc233ea2bc].

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/bash -e
freespace=`df -k /$DIRECTORY | grep $DIRECTORY | awk '{print $4}'`
if [[ $freespace -lt $REQUIRED ]];then
  echo "ERROR: insufficient space on /$DIRECTORY"
  exit 1
else
  echo "There is adequate space on /$DIRECTORY"
fi

Added mkdeploy/tests/eggs/testconfig version [f444692bff].























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
# Add steps here. Format is "stepname script"
[ezsteps]
install install.sh

# Iteration for your tests are controlled by the items section
# However it is impractical to code the actual directory here 
# so use names here and dereference to variables in runconfigs
[itemstable]
DIRECTORY    tmp    opt     runs
REQUIRED  100000 100000  1000000

Added mkdeploy/tests/executables/install.logpro version [ee0eb59e56].







>
>
>
1
2
3
(expect:error in    "LogFileBody" = 0 "Any error"         #/err/i)
(expect:required in "LogFileBody" = 1 "Sucess signature" #/adequate space/)

Added mkdeploy/tests/executables/install.sh version [da94267cde].











>
>
>
>
>
1
2
3
4
5
#!/bin/bash -e

cd $BUILDDIR
csc -deploy $EXECUTABLE

Added mkdeploy/tests/executables/testconfig version [49600bd32c].





















>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
# Add steps here. Format is "stepname script"
[ezsteps]
install install.sh

# Iteration for your tests are controlled by the items section
# However it is impractical to code the actual directory here 
# so use names here and dereference to variables in runconfigs
[itemstable]
EXECUTABLE megatest dashboard

Added mkdeploy/tests/helpers/install.logpro version [ee0eb59e56].







>
>
>
1
2
3
(expect:error in    "LogFileBody" = 0 "Any error"         #/err/i)
(expect:required in "LogFileBody" = 1 "Sucess signature" #/adequate space/)

Added mkdeploy/tests/helpers/install.sh version [dc233ea2bc].

















>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
#!/bin/bash -e
freespace=`df -k /$DIRECTORY | grep $DIRECTORY | awk '{print $4}'`
if [[ $freespace -lt $REQUIRED ]];then
  echo "ERROR: insufficient space on /$DIRECTORY"
  exit 1
else
  echo "There is adequate space on /$DIRECTORY"
fi

Added mkdeploy/tests/helpers/testconfig version [f444692bff].























>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
# Add steps here. Format is "stepname script"
[ezsteps]
install install.sh

# Iteration for your tests are controlled by the items section
# However it is impractical to code the actual directory here 
# so use names here and dereference to variables in runconfigs
[itemstable]
DIRECTORY    tmp    opt     runs
REQUIRED  100000 100000  1000000