Overview
Comment: | Added internal testing script |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | b180e9a80f779df1d0dcc371253de3e17b2ec6e1 |
User & Date: | rkeene on 2010-09-26 04:46:10 |
Other Links: | manifest | tags |
Context
2010-09-26
| ||
04:46 |
Added script to publish test results
Added new "parray" test check-in: 2a8304f779 user: rkeene tags: trunk | |
04:46 | Added internal testing script check-in: b180e9a80f user: rkeene tags: trunk | |
04:46 |
Updated ARM and Static internal build scripts to use Minimal build script
Added internal test script check-in: b9a63425fb user: rkeene tags: trunk | |
Changes
Modified build/test/test from [cc021be514] to [00a188ebb7].
1
2
3
4
5
6
7
8
9
10
11
..
16
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
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
|
#! /bin/bash VERSIONS="8.4.19 8.5.9 cvs_HEAD" for x in 1 2 3 __fail__; do if [ "${x}" = "${fail}" ]; then echo 'Unable to find KitCreator, aborting.' >&2 exit 1 fi ................................................................................ cd .. done ROOTDIR="$(pwd)" TESTDIR="${ROOTDIR}/build/test" export ROOTDIR TESTDIR rm -f "${TESTDIR}"/tclkit-* failed="" for kit in normal threaded min static win32 arm; do kitcreator="./kitcreator" args="" runnable="1" case "${kit}" in normal) true ;; threaded) args="--enable-threads" ;; min) kitcreator="./build/make-minkit" ;; static) kitcreator="./build/make-minkit-static" ;; win32) kitcreator="./build/make-kit-win32" runnable="0" ;; arm) kitcreator="./build/make-kit-arm" runnable="0" ;; esac for version in ${VERSIONS}; do createdkit="tclkit-${version}" outputname="${TESTDIR}/tclkit-${version}-${kit}" "${kitcreator}" "${version}" ${args} if [ ! -f "${createdkit}" ]; then echo "Failed to create kit ${version}/${kit}" >&2 failed="${failed} ${version}/${kit}-build" continue fi mv "${createdkit}" "${outputname}" if [ "${runnable}" != "1" ]; then continue fi scriptid=0 for testscp in 'exit 0' 'if {[::tcl::pkgconfig get 64bit] == 0} { exit 0 } else { exit 1}'; do scriptid=$[${scriptid} + 1] if ! echo "${testscp}" | "${outputname}" >/dev/null 2>/dev/null; then echo "Script failed: ${testscp} on ${version}/${kit}" >&2 failed="${failed} ${version}/${kit}-test-${scriptid}" continue fi done done done if [ -n "${failed}" ]; then echo "Failed: ${failed}" fi |
>
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
<
>
>
>
>
>
|
<
<
<
>
>
|
>
>
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
|
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
<
>
>
>
>
>
<
<
<
<
>
>
>
>
>
>
>
>
>
|
|
|
1
2
3
4
5
6
7
8
9
10
11
12
..
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
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
113
114
115
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
|
#! /bin/bash VERSIONS="8.4.19 8.5.9 cvs_HEAD" # Find the base directory for x in 1 2 3 __fail__; do if [ "${x}" = "${fail}" ]; then echo 'Unable to find KitCreator, aborting.' >&2 exit 1 fi ................................................................................ cd .. done ROOTDIR="$(pwd)" TESTDIR="${ROOTDIR}/build/test" export ROOTDIR TESTDIR # Handle command-line arguments if [ "$1" = "clean" ]; then rm -rf "${TESTDIR}/kits" fi # Create place to put kits mkdir "${TESTDIR}/kits" >/dev/null 2>/dev/null if [ ! -d "${TESTDIR}/kits" ]; then echo 'Unable to create kits/ directory, aborting.' >&2 exit 1 fi # Cleanup for file in "${TESTDIR}"/kits/*.log; do if echo "${file}" | grep -- '-build.log$' >/dev/null; then continue fi rm -f "${file}" done failed="" for kit in normal normal-zip normal-threaded normal-threaded-zip normal-notk normal-threaded-notk normal-threaded-zip-notk min min-static win32 win32-zip win32-threaded win32-threaded-zip win32-notk win32-threaded-notk arm-min; do kitcreator="./kitcreator" args="" runnable="1" iszip="0" statictk="0" notk="0" # Handle base configuration case "${kit}" in normal|normal-*) true ;; min) kitcreator="./build/make-minkit" iszip="1" notk="1" ;; min-static) kitcreator="./build/make-minkit-static" iszip="1" notk="1" ;; win32|win32-*) kitcreator="./build/make-kit-win32" runnable="0" ;; arm-min) kitcreator="./build/make-kit-arm" runnable="0" notk="1" iszip="1" ;; esac # Handle additional configuration tempkit="-${kit}-" for try in 1 2 3 4 5 6 7 8 9; do case "-${tempkit}-" in *-threaded-*) tempkit="$(echo "${tempkit}" | sed 's@-threaded-@-@')" args="${args} --enable-threads" ;; *-zip-*) tempkit="$(echo "${tempkit}" | sed 's@-zip-@-@')" args="${args} --enable-kit-storage=zip" iszip="1" ;; *-statictk-*) tempkit="$(echo "${tempkit}" | sed 's@-statictk-@-@')" if [ "${notk}" = "0" ]; then statictk="1" else echo "${kit}: Unable to create StaticTk and NoTk, ignoring StaticTk" >&2 fi ;; *-notk-*) tempkit="$(echo "${tempkit}" | sed 's@-notk-@-@')" if [ "${statictk}" = "0" ]; then notk="1" else echo "${kit}: Unable to create StaticTk and NoTk, ignoring NoTk" >&2 fi ;; esac done for version in ${VERSIONS}; do # Create Tclkit createdkit="tclkit-${version}" outputname="${TESTDIR}/kits/tclkit-${version}-${kit}" buildlog="${outputname}-build.log" if [ ! -f "${outputname}" ]; then unset KITCREATOR_PKGS STATICTK echo "Creating Tclkit ${version}/${kit}..." if [ "${notk}" = "1" ]; then KITCREATOR_PKGS='itcl mk4tcl' export KITCREATOR_PKGS fi if [ "${statictk}" = "1" ]; then STATICTK="1" export STATICTK fi buildfailed="0" "${kitcreator}" "${version}" ${args} > "${buildlog}" 2>&1 || buildfailed="1" grep -n '^' */build.log >> "${buildlog}" 2>&1 if [ ! -f "${createdkit}" ]; then echo "Failed to create kit ${version}/${kit}" >&2 failed="${failed} ${version}/${kit}-build" continue fi # Verify sanity of created kit issane=1 ## Verify the Win32 kits are case "-${version}-${kit}-" in *-win32-notk-*|*-win32-*-notk-*) if ! file "${createdkit}" | grep 'MS Windows (console)' >/dev/null; then echo "Kit failed sanity check for being a console application" >&2 issane=0 fi ;; *-win32-*) if ! file "${createdkit}" | grep 'MS Windows (GUI)' >/dev/null; then echo "Kit failed sanity check for being a GUI application" >&2 issane=0 fi ;; esac ## Verify the build completed without warnings if [ "${buildfailed}" = "1" ]; then echo "Kit failed sanity check for Building" >&2 issane=0 fi # Make note of sanity failure if [ "${issane}" != "1" ]; then echo "Kit failed sanity ${version}/${kit}" >&2 failed="${failed} ${version}/${kit}-sanity" rm -f "${createdkit}" continue fi # Rename created kit to final destination mv "${createdkit}" "${outputname}" fi # Test zip status if unzip -l "${outputname}" 2>&1 | grep 'boot\.tcl' >/dev/null; then canunzip="1" else canunzip="0" fi if [ "${iszip}" != "${canunzip}" ]; then echo "Failed to unzip zipkit or was able to unzip non-zipkit ${version}/${kit}" >&2 failed="${failed} ${version}/${kit}-zip" continue fi # Do not continue past here for un-runnable kits if [ "${runnable}" != "1" ]; then continue fi # Perform battery of tests for testscp in "${TESTDIR}"/tests/*.tcl; do testscp_tag="$(basename "${testscp}" .tcl)" testscppre="$(dirname "${testscp}")/${testscp_tag}.sh" scplogfile="${outputname}-${testscp_tag}.log" ( if [ -f "${testscppre}" ]; then . "${testscppre}" fi "${outputname}" "${testscp}" "${outputname}" "${kit}" "${version}" ) > "${scplogfile}" 2>&1 if [ "$?" != "0" ]; then echo "Script failed: ${testscp_tag} on ${version}/${kit}" >&2 failed="${failed} ${version}/${kit}-test-${testscp_tag}" continue fi done done done if [ -n "${failed}" ]; then echo "Failed: ${failed}" fi |
Added build/test/tests/00-works.tcl version [96fa9438a9].
> > > |
1 2 3 |
#! /usr/bin/env tclsh exit 0 |
Added build/test/tests/01-pkgconfig.tcl version [80d95d3049].
> > > > > > > > > > > > |
1 2 3 4 5 6 7 8 9 10 11 12 |
#! /usr/bin/env tclsh # Tcl 8.4 doesn't support this test if {$tcl_version == "8.4"} { exit 0 } if {[tcl::pkgconfig get 64bit] == 0} { exit 0 } exit 1 |
Added build/test/tests/02-nameofexe.tcl version [e8193d8a25].
> > > > > > > > > |
1 2 3 4 5 6 7 8 9 |
#! /usr/bin/env tclsh set outputname [lindex $argv 0] if {[info nameofexecutable] == $outputname} { exit 0 } exit 1 |
Added build/test/tests/03-argv0.tcl version [c51072ab98].
> > > > > > > |
1 2 3 4 5 6 7 |
#! /usr/bin/env tclsh if {[file tail $argv0] == "03-argv0.tcl"} { exit 0 } exit 1 |
Added build/test/tests/04-version.tcl version [d679aaf9ec].
> > > > > > > > > > > > > > > |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#! /usr/bin/env tclsh set chkversion [lindex $argv 2] # We are unable to make a reasonable determination of the version from a CVS # tag. Assume it's okay. if {[string match "cvs_*" $chkversion]} { exit 0 } if {[info patchlevel] == $chkversion} { exit 0 } exit 1 |
Added build/test/tests/05-locale.sh version [62817958fb].
> > > > > |
1 2 3 4 5 |
#! /bin/bash unset $(locale | cut -f 1 -d =) LANG="UTF-8" export LANG |
Added build/test/tests/05-locale.tcl version [302e0dfbb0].
> > > > > > > > > > > > |
1 2 3 4 5 6 7 8 9 10 11 12 |
#! /usr/bin/env tclsh # Tcl 8.4 doesn't support fetching the system encoding from the environment if {$tcl_version == "8.4"} { exit 0 } if {[encoding system] == "utf-8"} { exit 0 } exit 1 |