summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJérémy Compostella <jeremy.compostella@gmail.com>2012-03-01 20:37:41 +0100
committerPádraig Brady <P@draigBrady.com>2012-03-10 19:36:13 +0000
commit7480e2db2935663b9c0c4d66418ce2801005792d (patch)
tree985c1f7989746dbc0ad21ef8b1cee876747f6f39 /tests
parent94c21417fe88d5e8944da5c686b381b2e9e9a028 (diff)
downloadcoreutils-7480e2db2935663b9c0c4d66418ce2801005792d.tar.xz
split: support an arbitrary number of split files by default
* src/split.c (next_file_name): If `suffix_auto' is true and the first suffix character is 'z', generate a new file file name adding `z' to the prefix and increasing the suffix length by one. (set_suffix_length): Disable auto suffix width in various cases. * tests/split/suffix-auto-length: Test it. * doc/coreutils.texi (split invocation): Mention it. * NEWS (Improvements): Likewise.
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am1
-rwxr-xr-xtests/split/suffix-auto-length42
2 files changed, 43 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 5e184ac32..d7a183737 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -253,6 +253,7 @@ TESTS = \
misc/sort-version \
misc/sort-NaN-infloop \
split/filter \
+ split/suffix-auto-length \
split/suffix-length \
split/additional-suffix \
split/b-chunk \
diff --git a/tests/split/suffix-auto-length b/tests/split/suffix-auto-length
new file mode 100755
index 000000000..dacc95158
--- /dev/null
+++ b/tests/split/suffix-auto-length
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Test the suffix auto widening functionality
+
+# Copyright (C) 2012 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
+print_ver_ split
+
+
+# ensure this feature is off when start number specified
+truncate -s12 file.in
+split file.in -b1 --numeric=89 && fail=1
+test "$(ls -1 x* | wc -l)" = 11 || fail=1
+rm -f x*
+
+# ensure this feature works when no start num specified
+truncate -s91 file.in
+for prefix in 'x' 'xx' ''; do
+ for add_suffix in '.txt' ''; do
+ split file.in "$prefix" -b1 --numeric --additional-suffix="$add_suffix" \
+ || fail=1
+ test "$(ls -1 $prefix*[0-9]*$add_suffix | wc -l)" = 91 || fail=1
+ test -e "${prefix}89$add_suffix" || fail=1
+ test -e "${prefix}9000$add_suffix" || fail=1
+ rm -f $prefix*[0-9]*$add_suffix
+ done
+done
+
+Exit $fail