summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorapnadkarni <apnmbx-wits@yahoo.com>2023-04-13 18:05:00 (GMT)
committerapnadkarni <apnmbx-wits@yahoo.com>2023-04-13 18:05:00 (GMT)
commitd8c2bafa2cc1a720d837ffb6a43c2f4d9666ef68 (patch)
tree4f9321352415571c322565caaf68b6e007d78645 /tests
parentbce26daa76c703d201d5ff0450be57529b236aa3 (diff)
downloadtcl-d8c2bafa2cc1a720d837ffb6a43c2f4d9666ef68.zip
tcl-d8c2bafa2cc1a720d837ffb6a43c2f4d9666ef68.tar.gz
tcl-d8c2bafa2cc1a720d837ffb6a43c2f4d9666ef68.tar.bz2
Few more bigdata tests
Diffstat (limited to 'tests')
-rw-r--r--tests/bigdata.test110
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 *