Check-in [7c572fd6a8]
Overview
SHA1:7c572fd6a8ec5a397122b96084d1576af6e6a56f
Date: 2010-09-26 04:49:40
User: rkeene
Comment:Updated to support running Win32 tests under WINE
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2010-09-26
04:49
[ebe516878a] Increased timeout for tests (user: rkeene, tags: trunk)
04:49
[7c572fd6a8] Updated to support running Win32 tests under WINE (user: rkeene, tags: trunk)
04:49
[77e40265de] Updated issue with opening directory

Updated to not panic if native encodings cannot be found (user: rkeene, tags: trunk)

Changes

Modified build/test/publish-tests from [fdfea000f2] to [4c8dc5fa58].

279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
			puts $fd "        <td><a href=\"$kitinfo(file)\">$kitdesc</a></td>"
		} else {
			puts $fd "        <td>$kitdesc</td>"
		}
		puts $fd "        <td>[pretty_print_size [file size [file join $WEBDIR $kitinfo(fullfile)]]]</td>"
		puts $fd "        <td bgcolor=\"$bgcolor\">$statustext</td>"
		puts $fd "        <td><small><a href=\"$kitinfo(buildfile)\">([pretty_print_size [file size [file join $WEBDIR $kitinfo(buildfile)]]])</a></small></td>"
		puts $fd "        <td>[join $failedtestshtml {, }]</td>"
		puts $fd "      </tr>"
	}

}
puts $fd "    </table>"
puts $fd "    <table cellpadding=\"2\" border=\"1\">"
puts $fd "      <tr>"







|







279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
			puts $fd "        <td><a href=\"$kitinfo(file)\">$kitdesc</a></td>"
		} else {
			puts $fd "        <td>$kitdesc</td>"
		}
		puts $fd "        <td>[pretty_print_size [file size [file join $WEBDIR $kitinfo(fullfile)]]]</td>"
		puts $fd "        <td bgcolor=\"$bgcolor\">$statustext</td>"
		puts $fd "        <td><small><a href=\"$kitinfo(buildfile)\">([pretty_print_size [file size [file join $WEBDIR $kitinfo(buildfile)]]])</a></small></td>"
		puts $fd "        <td>[join $failedtestshtml {,<br>}]</td>"
		puts $fd "      </tr>"
	}

}
puts $fd "    </table>"
puts $fd "    <table cellpadding=\"2\" border=\"1\">"
puts $fd "      <tr>"

Modified build/test/test from [a5bd4b45c4] to [c09d55bb0e].

57
58
59
60
61
62
63


64
65
66
67
68
69
70
..
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
...
294
295
296
297
298
299
300











301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317





318
319
320
321
322
323
324
	kitcreator="./kitcreator"
	args=""
	runnable="1"
	iszip="0"
	statictk="0"
	notk="0"
	nomk4="0"



	# 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-*)
			kit="$(echo "${kit}" | sed "s@^normal@$os-$cpu@")"
................................................................................
			kitcreator="./build/make-minkit-static"
			iszip="1"
			notk="1"
			kit="${os}-${cpu}-min-static"
			;;
		win32|win32-*)
			kitcreator="./build/make-kit-win32"
			runnable="0"

			;;
		linux-arm-min)
			kitcreator="./build/make-kit-arm"
			runnable="0"

			notk="1"
			iszip="1"
			;;
	esac

	if [ "${runnable}" != "1" ]; then
		kit="${kit}-xcompile"
	fi

	# Handle additional configuration
	tempkit="-${kit}-"
	for try in 1 2 3 4 5 6 7 8 9; do
		case "-${tempkit}-" in
................................................................................
		## Clean tests log
		rm -f "${testresultslog}"
		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}"

				echo "${testscp_tag}: FAIL" >>  "${testresultslog}"

				continue
			fi






			echo "${testscp_tag}: PASS" >>  "${testresultslog}"

			rm -f "${scplogfile}"
		done
	done
done







>
>







 







|
>




>





|







 







>
>
>
>
>
>
>
>
>
>
>





|











>
>
>
>
>







57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
..
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
...
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
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
	kitcreator="./kitcreator"
	args=""
	runnable="1"
	iszip="0"
	statictk="0"
	notk="0"
	nomk4="0"
	xcompile="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-*)
			kit="$(echo "${kit}" | sed "s@^normal@$os-$cpu@")"
................................................................................
			kitcreator="./build/make-minkit-static"
			iszip="1"
			notk="1"
			kit="${os}-${cpu}-min-static"
			;;
		win32|win32-*)
			kitcreator="./build/make-kit-win32"
			xcompile="1"
			kitruncmd="wine"
			;;
		linux-arm-min)
			kitcreator="./build/make-kit-arm"
			runnable="0"
			xcompile="1"
			notk="1"
			iszip="1"
			;;
	esac

	if [ "${xcompile}" != "0" ]; then
		kit="${kit}-xcompile"
	fi

	# Handle additional configuration
	tempkit="-${kit}-"
	for try in 1 2 3 4 5 6 7 8 9; do
		case "-${tempkit}-" in
................................................................................
		## Clean tests log
		rm -f "${testresultslog}"
		for testscp in "${TESTDIR}"/tests/*.tcl; do
			testscp_tag="$(basename "${testscp}" .tcl)"
			testscppre="$(dirname "${testscp}")/${testscp_tag}.sh"
			scplogfile="${outputname}-${testscp_tag}.log"

			# If a command is required to start the kit, prepare to kill it
			# in case of timeout.
			kitrunkillpid=""
			if [ -n "${kitruncmd}" ]; then
				(
					sleep 30
					killall "$(basename "${outputname}")" >/dev/null 2>/dev/null
				) >/dev/null 2>/dev/null &
				kitrunkillpid="$!"
			fi

			(
				if [ -f "${testscppre}" ]; then
					. "${testscppre}"
				fi

				${kitruncmd} "${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}"

				echo "${testscp_tag}: FAIL" >>  "${testresultslog}"

				continue
			fi

			# Kill the watchdog for this iteration
			if [ -n "${kitrunkillpid}" ]; then
				kill -9 "${kitrunkillpid}" >/dev/null 2>/dev/null
			fi

			echo "${testscp_tag}: PASS" >>  "${testresultslog}"

			rm -f "${scplogfile}"
		done
	done
done

Modified build/test/tests/02-nameofexe.tcl from [e8193d8a25] to [08a58cef96].

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








>
>
>
>
>
>
>
>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#! /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"} {
	exit 0
}

puts "Info NameOfExe: [info nameofexecutable]"
puts "Expected:       $outputname"

exit 1

Modified build/test/tests/05-locale.tcl from [19da5ec8b9] to [995899b7e1].

1
2
3
4
5
6





7
8
9
10
11
12
13
14
15
#! /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
}

puts "Locale:   [encoding system]"
puts "Expected: utf-8"

exit 1






>
>
>
>
>









1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /usr/bin/env tclsh

# Tcl 8.4 doesn't support fetching the system encoding from the environment
if {$tcl_version == "8.4"} {
	exit 0
}

# This test does not yet support when using Win32
if {$::tcl_platform(platform) == "windows"} {
	exit 0
}

if {[encoding system] == "utf-8"} {
	exit 0
}

puts "Locale:   [encoding system]"
puts "Expected: utf-8"

exit 1