diff options
author | apnadkarni <apnmbx-wits@yahoo.com> | 2023-04-13 18:05:00 (GMT) |
---|---|---|
committer | apnadkarni <apnmbx-wits@yahoo.com> | 2023-04-13 18:05:00 (GMT) |
commit | d8c2bafa2cc1a720d837ffb6a43c2f4d9666ef68 (patch) | |
tree | 4f9321352415571c322565caaf68b6e007d78645 /tests | |
parent | bce26daa76c703d201d5ff0450be57529b236aa3 (diff) | |
download | tcl-d8c2bafa2cc1a720d837ffb6a43c2f4d9666ef68.zip tcl-d8c2bafa2cc1a720d837ffb6a43c2f4d9666ef68.tar.gz tcl-d8c2bafa2cc1a720d837ffb6a43c2f4d9666ef68.tar.bz2 |
Few more bigdata tests
Diffstat (limited to 'tests')
-rw-r--r-- | tests/bigdata.test | 110 |
1 files changed, 99 insertions, 11 deletions
diff --git a/tests/bigdata.test b/tests/bigdata.test index 5c5b75e..1c107d7 100644 --- a/tests/bigdata.test +++ b/tests/bigdata.test @@ -299,7 +299,7 @@ bigtestRO string-map-bigdata-1 {string map} {5 0 0 5} -body { set s [bigString 0x100000000] } -cleanup { bigClean -} -constraints takesTooLong +} -constraints bug-takesTooLong # # string match @@ -602,7 +602,7 @@ bigtestRO regexp-bigdata-2 "regexp with capture" 1 -body { set s [bigString 0x10000000a 0x100000009] } -cleanup { bigClean digits match -} -constraints takesTooLong +} -constraints bug-takesTooLong # # regsub @@ -612,14 +612,14 @@ bigtestRO regsub-bigdata-1 "regsub" X -body { set s [bigString 0x100000001 0x100000000] } -cleanup { bigClean -} -constraints takesTooLong +} -constraints bug-takesTooLong bigtestRO regsub-bigdata-2 "regsub" 1 -body { string equal [regsub -all \\d $s x] [string cat [string repeat x 0x100000000] X] } -setup { set s [bigString 0x100000001 0x100000000] } -cleanup { bigClean -} -constraints takesTooLong +} -constraints bug-takesTooLong # # subst @@ -720,6 +720,38 @@ bigtestRO binary-encode/decode-uuencode-bigdata-1 "binary encode/decode uuencode bigClean } -constraints bug-2e3fed53ba +################################################################ +# List commands + +# +# foreach +bigtestRO foreach-bigdata-1 "foreach" 1 -body { + # Unset explicitly before setting to save memory as bigtestRO runs the + # script below twice. + unset -nocomplain l2 + foreach x $l { + lappend l2 $x + } + testlutil equal $l $l2 +} -setup { + set l [bigList 0x100000000] +} -cleanup { + bigClean +} -constraints lengthtruncation + +# +# lappend +bigtest lappend-bigdata-1 "lappend" {0 1 2 3 4 a b c d} -body { + # Do not have enough memory for a full compare. + # Just check end + lappend l a b c d + lrange $l end-8 end +} -setup { + set l [bigList 0xFFFFFFFF] +} -cleanup { + bigClean +} + # # lassign bigtestRO lassign-bigdata-1 "lassign" {0 1 2 3 4 5 6 7 8 9 1} -body { @@ -735,6 +767,33 @@ bigtestRO lassign-bigdata-1 "lassign" {0 1 2 3 4 5 6 7 8 9 1} -body { } -constraints bug-d90fee06d0 # +# ledit +bigtest ledit-bigdata-1 "ledit - small result" {{0 X Y Z 8} {0 X Y Z 8}} -body { + list [ledit l 1 0x100000001 X Y Z] $l +} -setup { + set l [bigList 0x100000003] +} -cleanup { + bigClean +} + +bigtest ledit-bigdata-2 "ledit - large result" {4294967304 4294967304 a b c d e f g 8} -body { + list [llength [ledit l 0x100000000 0x100000000 a b c d e f g]] [llength $l] [lrange $l 0x100000000 end] +} -setup { + set l [bigList 0x100000002] +} -cleanup { + bigClean +} -constraints bug-outofmemorypanic + +bigtest ledit-bigdata-3 "ledit - small -> large result" {2147483651 2147483651} -body { + set l2 {a b c x y z} + list [llength [ledit l2 2 3 {*}$l]] [llength $l2] +} -setup { + set l [bigList 2147483647] +} -cleanup { + bigClean +} -constraints bug-7cddd2845c + +# # lindex bigtestRO lindex-bigdata-1 "lindex" {6 7 5 {} 5 4 {} 9 {}} -body { list \ @@ -773,6 +832,18 @@ bigtest linsert-bigdata-1 "linsert" {4294967330 1} -body { } # +# list and {*} +bigtestRO list-bigdata-1 {list {*} } {4294967296 0 4294967295} -body { + unset -nocomplain l2 + set l2 [list {*}$l] + list [llength $l2] [lindex $l2 0] [lindex $l2 end] +} -setup { + set l [bigList 0x100000000] +} -cleanup { + bigClean +} -constraints bug-7cddd2845c + +# # llength bigtestRO llength-bigdata-1 {llength} 4294967296 -body { llength $l @@ -792,6 +863,8 @@ bigtestRO lmap-bigdata-1 "lmap" 1 -body { bigClean } -constraints bug-6926a21840 +# +# lrange bigtestRO lrange-bigdata-1 "lrange" {6 7 5 {} 5 4 {} 9 {}} -body { list \ [lrange $l 0x100000000 0x100000000] \ @@ -859,7 +932,7 @@ bigtest lreplace-bigdata-2 "lreplace - large result" {4294967301 {a b c d e 0 1 #set l [bigList 4294967296] } -cleanup { bigClean -} -constraints notenoughmemorypanic +} -constraints bug-outofmemorypanic # # lsearch @@ -875,6 +948,16 @@ bigtestRO lsearch-bigdata-1 "lsearch" {4294967300 4294967310 -1} -body { } -constraints bug-a4617c8e90 # +# lset +bigtest lset-bigdata-1 "lset" {4294967297 4294967297 {1 2 3 4 5 X}} -body { + list [llength [lset l 0x100000000 X]] [llength $l] [lrange $l end-5 end] +} -setup { + set l [bigList 0x100000001] +} -cleanup { + bigClean +} -constraints bug-outofmemorypanic + +# # lsort bigtestRO lsort-bigdata-1 "lsort" [list 4294967296 [lrepeat 10 0] [lrepeat 10 9]] -body { # Unset explicitly before setting to save memory as bigtestRO runs the @@ -899,19 +982,24 @@ bigtestRO join-bigdata-1 "join" 1 -body { bigClean } +bigtest split-bigdata-1 "split" {4294967296 {0 1 2 3 4} {1 2 3 4 5}} -body { + # Fill list compare needs too much memory + set l [split $s ""] + list [llength $l] [lrange 0 4] [lrange end-4 end] +} -setup { + set s [bigString 0x100000000] +} -cleanup { + bigClean +} -constraints bug-takesTooLong + # # TODO -# {*} # concat # encoding convertfrom # encoding convertto -# foreach -# list -# lappend -# ledit # lseq -# lset # split +# dict * |