1#!/bin/sh
2# test splitting into newline delineated chunks from infinite imput
3
4# Copyright (C) 2023 Free Software Foundation, Inc.
5
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with this program.  If not, see <https://www.gnu.org/licenses/>.
18
19. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
20print_ver_ split
21require_root_
22
23cwd=$(pwd)
24cleanup_() { cd /; umount "$cwd/mnt"; }
25
26# Create a file system to provide an isolated $TMPDIR
27dd if=/dev/zero of=blob bs=8192 count=200 &&
28mkdir mnt                                 &&
29mkfs -t ext2 -F blob                      &&
30mount -oloop blob mnt                     ||
31  skip_ "insufficient mount/ext2 support"
32export TMPDIR="$cwd/mnt"
33
34# 'split' should fail eventually when
35# creating an infinitely long output file.
36
37returns_ 1 split -n l/2 /dev/zero || fail=1
38rm x??
39
40# Repeat the above,  but with 1/2, not l/2:
41returns_ 1 split -n 1/2 /dev/zero || fail=1
42rm x??
43
44Exit $fail
45