diff options
Diffstat (limited to 'tests/platform.test')
-rw-r--r-- | tests/platform.test | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/tests/platform.test b/tests/platform.test index 9c7dec5..19001ee 100644 --- a/tests/platform.test +++ b/tests/platform.test @@ -23,19 +23,19 @@ test platform-1.1 {TclpSetVariables: tcl_platform} { set result [i eval {lsort [array names tcl_platform]}] interp delete i set result -} {byteOrder machine os osVersion platform user} +} {byteOrder machine os osVersion platform user wordSize} + +# Test assumes twos-complement arithmetic, which is true of virtually +# everything these days. Note that this does *not* use wide(), and +# this is intentional since that could make Tcl's numbers wider than +# the machine-integer on some platforms... +test platform-2.1 {tcl_platform(wordSize) indicates size of native word} { + set result [expr {1 << (8 * $tcl_platform(wordSize) - 1)}] + # Result must be the largest bit in a machine word, which this checks + # without assuming how wide the word really is + list [expr {$result < 0}] [expr {$result ^ ($result - 1)}] +} {1 -1} # cleanup ::tcltest::cleanupTests return - - - - - - - - - - - |