tests/rm/one-file-system.sh \
tests/rm/read-only.sh \
tests/rm/empty-immutable-skip.sh \
+ tests/split/l-chunk-root.sh \
tests/tail/append-only.sh \
tests/tail/end-of-device.sh \
tests/touch/now-owned-by-other.sh
--- /dev/null
+#!/bin/sh
+# test splitting into newline delineated chunks from infinite imput
+
+# Copyright (C) 2023 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 <https://www.gnu.org/licenses/>.
+
+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
+print_ver_ split
+require_root_
+
+cwd=$(pwd)
+cleanup_() { cd /; umount "$cwd/mnt"; }
+
+# Create a file system to provide an isolated $TMPDIR
+dd if=/dev/zero of=blob bs=8192 count=200 &&
+mkdir mnt &&
+mkfs -t ext2 -F blob &&
+mount -oloop blob mnt ||
+ skip_ "insufficient mount/ext2 support"
+export TMPDIR="$cwd/mnt"
+
+# 'split' should fail eventially when
+# creating an infinitely long output file.
+
+returns_ 1 split -n l/2 /dev/zero || fail=1
+rm x??
+
+# Repeat the above, but with 1/2, not l/2:
+returns_ 1 split -n 1/2 /dev/zero || fail=1
+rm x??
+
+Exit $fail
test "$(stat -c %s x* | uniq -c | sed 's/^ *//; s/ /x/')" = "10x0" || fail=1
rm x??
-# 'split' should reject any attempt to create an infinitely
-# long output file.
-# This test is very expensive as it runs out of /tmp space.
-if test "${RUN_VERY_EXPENSIVE_TESTS+set}" = set; then
- returns_ 1 split -n l/2 /dev/zero || fail=1
- rm x??
-
- # Repeat the above, but with 1/2, not l/2:
- returns_ 1 split -n 1/2 /dev/zero || fail=1
- rm x??
-fi
-
# Ensure --elide-empty-files is honored
split -e -n l/10 /dev/null || fail=1
returns_ 1 stat x?? 2>/dev/null || fail=1