summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/dstring.test32
-rw-r--r--tests/io.test63
-rw-r--r--tests/zlib.test32
3 files changed, 64 insertions, 63 deletions
diff --git a/tests/dstring.test b/tests/dstring.test
index 314cee8..23863d0 100644
--- a/tests/dstring.test
+++ b/tests/dstring.test
@@ -211,6 +211,38 @@ test dstring-2.15 {appending list elements} -constraints testdstring -setup {
} -cleanup {
testdstring free
} -result {x #}
+test dstring-2.16 {appending list elements - bug [46dda6fc29] segfault} -constraints testdstring -setup {
+ testdstring free
+} -body {
+ testdstring element "\\\n"; # Will setfault
+ testdstring get
+} -cleanup {
+ testdstring free
+} -result \\\\\\n
+test dstring-2.17 {appending list elements - bug [46dda6fc29] segfault} -constraints testdstring -setup {
+ testdstring free
+} -body {
+ testdstring element "\\\{"; # Will setfault
+ testdstring get
+} -cleanup {
+ testdstring free
+} -result [list [list \{]]
+test dstring-2.18 {appending list elements - bug [46dda6fc29] segfault} -constraints testdstring -setup {
+ testdstring free
+} -body {
+ testdstring element "\\\}"; # Will setfault
+ testdstring get
+} -cleanup {
+ testdstring free
+} -result [list [list \}]]
+test dstring-2.19 {appending list elements - bug [46dda6fc29] segfault} -constraints testdstring -setup {
+ testdstring free
+} -body {
+ testdstring element "\\\\"; # Will setfault
+ testdstring get
+} -cleanup {
+ testdstring free
+} -result [list [list \\]]
test dstring-3.1 {nested sublists} -constraints testdstring -setup {
testdstring free
diff --git a/tests/io.test b/tests/io.test
index bac1aeb..c33646a 100644
--- a/tests/io.test
+++ b/tests/io.test
@@ -7609,27 +7609,6 @@ test io-52.19 {coverage of eofChar handling} {
close $out
file size $path(test2)
} 8
-test io-52.20 {TclCopyChannel & encodings} -setup {
- set out [open $path(utf8-fcopy.txt) w]
- fconfigure $out -encoding utf-8 -translation lf
- puts $out "Á"
- close $out
-} -constraints {fcopy} -body {
- # binary to encoding => the input has to be
- # in utf-8 to make sense to the encoder
-
- set in [open $path(utf8-fcopy.txt) r]
- set out [open $path(kyrillic.txt) w]
-
- # Using "-encoding ascii" means reading the "Á" gives an error
- fconfigure $in -encoding ascii -encodingprofile strict
- fconfigure $out -encoding koi8-r -translation lf
-
- fcopy $in $out
-} -cleanup {
- close $in
- close $out
-} -returnCodes 1 -match glob -result {error reading "file*": illegal byte sequence}
test io-52.21 {TclCopyChannel & encodings} -setup {
set out [open $path(utf8-fcopy.txt) w]
fconfigure $out -encoding utf-8 -translation lf
@@ -9143,48 +9122,6 @@ test io-75.5 {invalid utf-8 encoding read is ignored (-encodingprofile tcl8)} -s
removeFile io-75.5
} -result 4181
-test io-75.6 {invalid utf-8 encoding read is not ignored (-encodingprofile strict)} -setup {
- set fn [makeFile {} io-75.6]
- set f [open $fn w+]
- fconfigure $f -encoding binary
- # \x81 is invalid in utf-8
- puts -nonewline $f A\x81
- flush $f
- seek $f 0
- fconfigure $f -encoding utf-8 -buffering none -eofchar "" -translation lf -encodingprofile strict
-} -body {
- set d [read $f]
- binary scan $d H* hd
- lappend hd [catch {read $f} msg]
- close $f
- lappend hd $msg
-} -cleanup {
- removeFile io-75.6
-} -match glob -result {41 1 {error reading "*": illegal byte sequence}}
-
-test io-75.7 {invalid utf-8 encoding eof handling (-encodingprofile strict)} -setup {
- set fn [makeFile {} io-75.7]
- set f [open $fn w+]
- fconfigure $f -encoding binary
- # \xA1 is invalid in utf-8. -eofchar is not detected, because it comes later.
- puts -nonewline $f A\xA1\x1A
- flush $f
- seek $f 0
- fconfigure $f -encoding utf-8 -buffering none -eofchar \x1A -translation lf -encodingprofile strict
-} -body {
- set d [read $f]
- binary scan $d H* hd
- lappend hd [eof $f]
- lappend hd [catch {read $f} msg]
- lappend hd $msg
- fconfigure $f -encoding iso8859-1
- lappend hd [read $f];# We changed encoding, so now we can read the \xA1
- close $f
- set hd
-} -cleanup {
- removeFile io-75.7
-} -match glob -result {41 0 1 {error reading "*": illegal byte sequence} ¡}
-
test io-75.8 {invalid utf-8 encoding eof handling (-encodingprofile strict)} -setup {
set fn [makeFile {} io-75.8]
set f [open $fn w+]
diff --git a/tests/zlib.test b/tests/zlib.test
index 272a663..0566b8b 100644
--- a/tests/zlib.test
+++ b/tests/zlib.test
@@ -486,6 +486,38 @@ test zlib-8.18 {Bug dd260aaf: fconfigure} -setup {
catch {close $inSide}
catch {close $outSide}
} -result {{one two} {one two}}
+test zlib-8.19 {zlib transformation, bug f9eafc3886} -constraints zlib -setup {
+ set file [makeFile {} test.gz]
+} -body {
+ set f [zlib push gzip [open $file w] -header [list comment [string repeat A 500]]]
+} -cleanup {
+ catch {close $f}
+ removeFile $file
+} -returnCodes 1 -result {Comment too large for zip}
+test zlib-8.20 {zlib transformation, bug f9eafc3886} -constraints zlib -setup {
+ set file [makeFile {} test.gz]
+} -body {
+ set f [zlib push gzip [open $file w] -header [list filename [string repeat A 5000]]]
+} -cleanup {
+ catch {close $f}
+ removeFile $file
+} -returnCodes 1 -result {Filename too large for zip}
+test zlib-8.21 {zlib transformation, bug f9eafc3886} -constraints zlib -setup {
+ set file [makeFile {} test.gz]
+} -body {
+ set f [zlib push gzip [open $file w] -header [list comment \u100]]
+} -cleanup {
+ catch {close $f}
+ removeFile $file
+} -returnCodes 1 -result {Comment contains characters > 0xFF}
+test zlib-8.22 {zlib transformation, bug f9eafc3886} -constraints zlib -setup {
+ set file [makeFile {} test.gz]
+} -body {
+ set f [zlib push gzip [open $file w] -header [list filename \u100]]
+} -cleanup {
+ catch {close $f}
+ removeFile $file
+} -returnCodes 1 -result {Filename contains characters > 0xFF}
test zlib-9.1 "check fcopy with push" -constraints zlib -setup {
set sfile [makeFile {} testsrc.gz]