riscv-openocd-wch/jimtcl/tests/expr-base.test

51 lines
853 B
Plaintext

source [file dirname [info script]]/testing.tcl
# Test number detection
set good_testcases {
0 0
1 1
8 8
00 0
07 7
0x5 5
0x0 0
0x00 0
-0x5 -5
0b111 7
-0b111 -7
-0B101 -5
0o7 7
0d0 0
0d7 7
0d99 99
0d099 99
-0d099 -99
}
set i 0
foreach {str exp} $good_testcases {
test expr-base-1.[incr i] "expr conversion" [list expr [list $str]] $exp
}
# JimTCL specifically does not adhere to the octal default for numbers starting with zero
test expr-base-2.1 {expr conversion jim specific} -constraints jim -body {
expr [list "08"]
} -result {8}
set bad_testcases {
{0x + 1}
x
0xx5
0x-5
{0x 5}
{0o8 + 1}
0d-5
0dff
}
set i 0
foreach str $bad_testcases {
test expr-base-3.[incr i] "expr conversion failure" -returnCodes error -body [list expr $str] -match glob -result "*"
}
testreport