summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-03-22 13:42:19 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-03-22 13:42:19 (GMT)
commit92ea491e1df5a8c3467062724cc6e6accda787a8 (patch)
tree4887a355e1dd9e87fb9ae174eb1ae897c884101f
parent29080aaa9aa4b3a25eed62b35a8703324e4b652c (diff)
parent28573421f8d41f2919af73492bcf0b09ba499470 (diff)
downloadtcl-92ea491e1df5a8c3467062724cc6e6accda787a8.zip
tcl-92ea491e1df5a8c3467062724cc6e6accda787a8.tar.gz
tcl-92ea491e1df5a8c3467062724cc6e6accda787a8.tar.bz2
Merge 8.7
-rw-r--r--library/clock.tcl2
-rw-r--r--tests/clock.test24
2 files changed, 21 insertions, 5 deletions
diff --git a/library/clock.tcl b/library/clock.tcl
index b468fea..d80fb2f 100644
--- a/library/clock.tcl
+++ b/library/clock.tcl
@@ -2683,7 +2683,7 @@ proc ::tcl::clock::ScanWide { str } {
"\"$str\" is not an integer"
}
if { [incr result 0] != $str } {
- return -code error -errorcode [list CLOCK integervalueTooLarge] \
+ return -code error -errorcode [list CLOCK dateTooLarge] \
"integer value too large to represent"
}
return $result
diff --git a/tests/clock.test b/tests/clock.test
index 189b83a..7cb86a3 100644
--- a/tests/clock.test
+++ b/tests/clock.test
@@ -18532,12 +18532,28 @@ test clock-6.8 {input of seconds} {
} 9223372036854775807
test clock-6.9 {input of seconds - overflow} {
- list [catch {clock scan -9223372036854775809 -format %s -gmt true} result] $result
-} {1 {integer value too large to represent}}
+ list [catch {clock scan -9223372036854775809 -format %s -gmt true} result] $result $::errorCode
+} {1 {integer value too large to represent} {CLOCK dateTooLarge}}
test clock-6.10 {input of seconds - overflow} {
- list [catch {clock scan 9223372036854775808 -format %s -gmt true} result] $result
-} {1 {integer value too large to represent}}
+ list [catch {clock scan 9223372036854775808 -format %s -gmt true} result] $result $::errorCode
+} {1 {integer value too large to represent} {CLOCK dateTooLarge}}
+
+test clock-6.10a {input of seconds - overflow, bug [1f40aa83c5]} {
+ list [catch {clock scan 27670116110564327423 -format %s -gmt true} result] $result $::errorCode
+} {1 {integer value too large to represent} {CLOCK dateTooLarge}}
+
+test clock-6.10b {input of seconds - overflow ??, bug [1f40aa83c5]} knownBug {
+ clock scan 27670116110564327423 -gmt true
+} 89170590268800
+
+test clock-6.10c {input of seconds - overflow, bug [1f40aa83c5]} {
+ list [catch {clock scan 27670116110564327424 -format %s -gmt true} result] $result $::errorCode
+} {1 {integer value too large to represent} {CLOCK dateTooLarge}}
+
+test clock-6.10d {input of seconds - overflow ??, bug [1f40aa83c5]} knownBug {
+ clock scan 27670116110564327424 -gmt true
+} -90247104115200
test clock-6.11 {input of seconds - two values} {
clock scan {1 2} -format {%s %s} -gmt true