Overview
| Comment: | Added KitDLL to test suite |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
35e596ec3e70fffab6b5f28ba9449cf0 |
| User & Date: | rkeene on 2010-10-03 21:03:17 |
| Other Links: | manifest | tags |
Context
|
2010-10-04
| ||
| 04:23 |
Fixed some KitDLL tests to correctly build
Added more KitDLL test cases Fixed issue with test publisher not dealing with the new files in the kits directory check-in: 9374941c5a user: rkeene tags: trunk | |
|
2010-10-03
| ||
| 21:03 | Added KitDLL to test suite check-in: 35e596ec3e user: rkeene tags: trunk | |
| 21:03 | Updated KitDLL to support loading Mk4tcl check-in: e65eeb202c user: rkeene tags: trunk | |
Changes
Modified build/test/publish-tests from [4c8dc5fa58] to [6824fb8fe5].
| ︙ | ︙ | |||
57 58 59 60 61 62 63 |
}
return "Tcl $version for [string totitle $os] on $cpu"
}
proc pretty_print_buildinfo {buildinfo} {
set desc [list]
| | > > > | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
}
return "Tcl $version for [string totitle $os] on $cpu"
}
proc pretty_print_buildinfo {buildinfo} {
set desc [list]
foreach tag [list kitdll min static notk nomk4 statictk unthreaded threaded zip] {
if {[lsearch -exact $buildinfo $tag] != -1} {
switch -- $tag {
"kitdll" {
lappend desc "Built as a Library"
}
"min" {
lappend desc "Minimally Built"
}
"static" {
lappend desc "Statically Linked"
}
"notk" {
|
| ︙ | ︙ |
Modified build/test/test from [41f958cc6e] to [39ea564cba].
| ︙ | ︙ | |||
49 50 51 52 53 54 55 | Xvfb :31 -screen 0 800x600x24 -nolisten tcp >/dev/null 2>/dev/null & echo "$!" )" DISPLAY=:31 export DISPLAY failed="" | | > | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
Xvfb :31 -screen 0 800x600x24 -nolisten tcp >/dev/null 2>/dev/null &
echo "$!"
)"
DISPLAY=:31
export DISPLAY
failed=""
for kit in normal normal-zip normal-threaded normal-threaded-zip normal-statictk normal-notk normal-threaded-notk normal-threaded-zip-notk normal-nomk4 min min-static normal-kitdll normal-threaded-kitdll normal-notk-kitdll normal-nomk4-notk-kitdll min-kitdll win32-i586 win32-i586-zip win32-i586-threaded win32-i586-threaded-zip win32-i586-notk win32-i586-threaded-notk win32-i586-nomk4 win32-i586-kitdll win32-i586-threaded-kitdll win32-i586-notk-kitdll win32-i586-nomk4-notk-kitdll linux-arm-min linux-arm-min-kitdll; do
kitcreator="./kitcreator"
args=""
runnable="1"
iszip="0"
statictk="0"
notk="0"
nomk4="0"
xcompile="0"
kitdll="0"
kitruncmd=""
# Handle base configuration
os="$(uname -s | dd conv=lcase 2>/dev/null)"
cpu="$(uname -m | dd conv=lcase 2>/dev/null)"
case "${kit}" in
normal|normal-*)
|
| ︙ | ︙ | |||
131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
fi
;;
*-nomk4-*)
tempkit="$(echo "${tempkit}" | sed 's@-nomk4-@-@')"
nomk4="1"
iszip="1"
;;
esac
done
for version in ${VERSIONS}; do
# Work around changes in default behaviour
if [ "${version}" = "cvs_HEAD" ]; then
kit="$(echo "${kit}" | sed 's@-threaded@-unthreaded@')"
args="$(echo "${args}" | sed 's@ --enable-threads@ --disable-threads@')"
fi
# Create Tclkit
| > > > > > > > > | | | > > > > > > > > > > > > > | 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 |
fi
;;
*-nomk4-*)
tempkit="$(echo "${tempkit}" | sed 's@-nomk4-@-@')"
nomk4="1"
iszip="1"
;;
*-kitdll-*)
kitdll="1"
;;
esac
done
for version in ${VERSIONS}; do
# Work around changes in default behaviour
if [ "${version}" = "cvs_HEAD" ]; then
kit="$(echo "${kit}" | sed 's@-threaded@-unthreaded@')"
args="$(echo "${args}" | sed 's@ --enable-threads@ --disable-threads@')"
fi
# Create Tclkit
if [ "${kitdll}" = "1" ]; then
createdkit="libtclkit*.dll libtclkit*.*"
outputname="${TESTDIR}/kits/libtclkit-${version}-${kit}"
failoutputname="${TESTDIR}/kits/failed/libtclkit-${version}-${kit}"
else
createdkit="tclkit-${version}"
outputname="${TESTDIR}/kits/tclkit-${version}-${kit}"
failoutputname="${TESTDIR}/kits/failed/tclkit-${version}-${kit}"
fi
buildlog="${outputname}-build.log"
failbuildlog="${failoutputname}-build.log"
testresultslog="${outputname}-tests.log"
if [ ! -f "${outputname}" ]; then
unset KITCREATOR_PKGS STATICTK
if [ -f "${failoutputname}" ]; then
echo "Skipping rebuilding failed kit ${version}/${kit} ..."
failed="${failed} ${version}/${kit}-build"
continue
fi
rm -f tclsh
./kitcreator clean >/dev/null 2>/dev/null
echo "Creating Tclkit ${version}/${kit}..."
echo " *** Build started $(whoami)@$(hostname) on $(date)" > "${buildlog}"
echo '' >> "${buildlog}"
echo " *** Build Script" >> "${buildlog}"
if [ "${notk}" = "1" ]; then
KITCREATOR_PKGS='itcl mk4tcl'
fi
if [ "${nomk4}" = "1" ]; then
if [ -z "${KITCREATOR_PKGS}" ]; then
KITCREATOR_PKGS='itcl tk'
else
KITCREATOR_PKGS="$(echo "${KITCREATOR_PKGS}" | sed 's@mk4tcl@@')"
fi
fi
if [ "${kitdll}" = "1" ]; then
if [ -z "${KITCREATOR_PKGS}" ]; then
KITCREATOR_PKGS='tk itcl mk4tcl kitdll'
else
KITCREATOR_PKGS="${KITCREATOR_PKGS} kitdll"
fi
fi
export KITCREATOR_PKGS
if [ -n "${KITCREATOR_PKGS}" ]; then
echo " KITCREATOR_PKGS=\"${KITCREATOR_PKGS}\"" >> "${buildlog}"
echo " export KITCREATOR_PKGS" >> "${buildlog}"
fi
|
| ︙ | ︙ | |||
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 |
echo " *** Build Results" >> "${buildlog}"
echo '' >> "${buildlog}"
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"
touch "${failoutputname}"
mv "${buildlog}" "${failbuildlog}"
continue
fi
# Verify sanity of created kit
issane=1
| > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 |
echo " *** Build Results" >> "${buildlog}"
echo '' >> "${buildlog}"
buildfailed="0"
"${kitcreator}" "${version}" ${args} >> "${buildlog}" 2>&1 || buildfailed="1"
grep -n '^' */build.log >> "${buildlog}" 2>&1
if [ "${kitdll}" = "1" ]; then
# Create test drivers for KitDLL
(
echo ""
echo ""
echo ""
echo " *** Building KitDLL test driver (tclsh)"
echo ""
cd kitdll/build/kitdll-*/ || exit 1
make tclsh
cp tclsh ../../../
) >> "${buildlog}" 2>&1
fi
# Perform wildcard expansion
createdkit="$(ls -f1 ${createdkit} 2>/dev/null | head -n 1)"
if [ ! -f "${createdkit}" ]; then
echo "Failed to create kit ${version}/${kit}" >&2
failed="${failed} ${version}/${kit}-build"
touch "${failoutputname}"
mv "${buildlog}" "${failbuildlog}"
rm -f tclsh
continue
fi
# Verify sanity of created kit
issane=1
## Verify that Win32 builds are of correct type
## Verify that DLL builds are of correct type
case "-${version}-${kit}-" in
*-win32-kitdll-*|*-win32-*-kitdll-*)
if ! file "${createdkit}" | grep 'MS Windows (DLL)' >/dev/null; then
issane=0
fi
;;
*-kitdll-*)
if ! file "${createdkit}" | grep 'shared object' >/dev/null; then
issane=0
fi
;;
*-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-*)
|
| ︙ | ︙ | |||
263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 |
echo "Kit failed sanity ${version}/${kit}" >&2
failed="${failed} ${version}/${kit}-sanity"
mv "${createdkit}" "${failoutputname}"
mv "${buildlog}" "${failbuildlog}"
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"
| > > > > > > > > > > | 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 |
echo "Kit failed sanity ${version}/${kit}" >&2
failed="${failed} ${version}/${kit}-sanity"
mv "${createdkit}" "${failoutputname}"
mv "${buildlog}" "${failbuildlog}"
rm -f tclsh
continue
fi
# Rename created kit to final destination
mv "${createdkit}" "${outputname}"
if [ -f "tclsh" ]; then
mv "tclsh" "${outputname}-tclsh"
fi
# For KitDLL, make a note of the original name
if [ "${kitdll}" = "1" ]; then
echo "${createdkit}" > "${outputname}-origname"
fi
fi
# Test zip status
if unzip -l "${outputname}" 2>&1 | grep 'boot\.tcl' >/dev/null; then
canunzip="1"
else
canunzip="0"
|
| ︙ | ︙ | |||
289 290 291 292 293 294 295 296 297 298 299 300 301 302 |
continue
fi
# Do not continue past here for un-runnable kits
if [ "${runnable}" != "1" ]; then
continue
fi
# Perform battery of tests
## Clean tests log
rm -f "${testresultslog}"
for testscp in "${TESTDIR}"/tests/*.tcl; do
testscp_tag="$(basename "${testscp}" .tcl)"
testscppre="$(dirname "${testscp}")/${testscp_tag}.sh"
| > > > > > > > | 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 |
continue
fi
# Do not continue past here for un-runnable kits
if [ "${runnable}" != "1" ]; then
continue
fi
# If the name of the original build matters, symlink it up
if [ -f "${outputname}-origname" ]; then
createdkit="$(cat "${outputname}-origname")"
ln -s "${outputname}" "${createdkit}"
fi
# Perform battery of tests
## Clean tests log
rm -f "${testresultslog}"
for testscp in "${TESTDIR}"/tests/*.tcl; do
testscp_tag="$(basename "${testscp}" .tcl)"
testscppre="$(dirname "${testscp}")/${testscp_tag}.sh"
|
| ︙ | ︙ | |||
318 319 320 321 322 323 324 |
fi
(
if [ -f "${testscppre}" ]; then
. "${testscppre}"
fi
| > > > | > | 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 |
fi
(
if [ -f "${testscppre}" ]; then
. "${testscppre}"
fi
if [ "${kitdll}" = "1" ]; then
${kitruncmd} "${outputname}-tclsh" "${testscp}" "${outputname}" "${kit}" "${version}"
else
${kitruncmd} "${outputname}" "${testscp}" "${outputname}" "${kit}" "${version}"
fi
) > "${scplogfile}" 2>&1
if [ "$?" != "0" ]; then
echo "Script failed: ${testscp_tag} on ${version}/${kit}" >&2
failed="${failed} ${version}/${kit}-test-${testscp_tag}"
|
| ︙ | ︙ | |||
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 |
kill -9 "${kitrunkillpid}" >/dev/null 2>/dev/null
fi
echo "${testscp_tag}: PASS" >> "${testresultslog}"
rm -f "${scplogfile}"
done
done
done
if [ -n "${failed}" ]; then
echo "Failed: ${failed}"
fi
# Terminate Xvfb
kill -9 "${XVFB_PID}"
| > > > > > > > > | 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 |
kill -9 "${kitrunkillpid}" >/dev/null 2>/dev/null
fi
echo "${testscp_tag}: PASS" >> "${testresultslog}"
rm -f "${scplogfile}"
done
if [ -f "${outputname}-origname" ]; then
rm -f "${createdkit}"
fi
done
done
if [ -n "${failed}" ]; then
echo "Failed: ${failed}"
fi
# Terminate Xvfb
kill -9 "${XVFB_PID}"
# Cleanup
./kitcreator clean
rm -f tclsh
|
Modified build/test/tests/02-nameofexe.tcl from [08a58cef96] to [cc4d6e243b].
1 2 3 4 5 6 7 8 9 10 |
#! /usr/bin/env tclsh
set outputname [lindex $argv 0]
if {[info nameofexecutable] == $outputname} {
exit 0
}
# Under Wine, the drive letter is added
if {[info nameofexecutable] == "Z:$outputname"} {
| > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#! /usr/bin/env tclsh
set outputname [lindex $argv 0]
set buildflags [split [lindex $argv 1] -]
# If we built a KitDLL, the executable name will be "./tclsh"
if {[lsearch -exact $buildflags "kitdll"] != -1} {
set outputname "${outputname}-tclsh"
}
if {[info nameofexecutable] == $outputname} {
exit 0
}
# Under Wine, the drive letter is added
if {[info nameofexecutable] == "Z:$outputname"} {
|
| ︙ | ︙ |