summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/local.mk2
-rwxr-xr-xtests/misc/cut-huge-range.sh (renamed from tests/misc/cut-huge-to-eol-range.sh)4
-rwxr-xr-xtests/misc/cut.pl2
3 files changed, 7 insertions, 1 deletions
diff --git a/tests/local.mk b/tests/local.mk
index f47da8d3a..fb5cc63b6 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -245,7 +245,7 @@ all_tests = \
tests/misc/pwd-option.sh \
tests/misc/chcon-fail.sh \
tests/misc/cut.pl \
- tests/misc/cut-huge-to-eol-range.sh \
+ tests/misc/cut-huge-range.sh \
tests/misc/wc.pl \
tests/misc/wc-files0-from.pl \
tests/misc/wc-files0.sh \
diff --git a/tests/misc/cut-huge-to-eol-range.sh b/tests/misc/cut-huge-range.sh
index e6abe6ec5..8783e96ad 100755
--- a/tests/misc/cut-huge-to-eol-range.sh
+++ b/tests/misc/cut-huge-range.sh
@@ -25,6 +25,10 @@ getlimits_
# a 256MiB bit vector. With a 20MB limit on VM, the following would fail.
(ulimit -v 20000; : | cut -b$INT_MAX- > err 2>&1) || fail=1
+# Up to and including coreutils-8.21, cut would allocate possibly needed
+# memory upfront. Subsequently memory is allocated as required.
+(ulimit -v 20000; : | cut -b1-$INT_MAX > err 2>&1) || fail=1
+
compare /dev/null err || fail=1
Exit $fail
diff --git a/tests/misc/cut.pl b/tests/misc/cut.pl
index 41e9e2093..1306722cd 100755
--- a/tests/misc/cut.pl
+++ b/tests/misc/cut.pl
@@ -210,6 +210,8 @@ my @Tests =
{IN=>"123456\n"}, {OUT=>"23456\n"}],
['EOL-subsumed-3', '--complement -b3,4-4,5,2-',
{IN=>"123456\n"}, {OUT=>"1\n"}],
+ ['EOL-subsumed-4', '--output-d=: -b1-2,2-3,3-',
+ {IN=>"1234\n"}, {OUT=>"1234\n"}],
);
if ($mb_locale ne 'C')