#!/bin/bash

# This file is part of util-linux.
#
# This file 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 2 of the License, or
# (at your option) any later version.
#
# This file 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.

TS_TOPDIR="${0%/*}/../.."
TS_DESC="line"

. $TS_TOPDIR/functions.sh
ts_init "$*"

ts_check_test_command "$TS_CMD_LINE"

# usually behave like "head -n 1"
printf "a\nb\n" |
	$TS_CMD_LINE > $TS_OUTPUT 2>&1
echo "ret: $?" >> $TS_OUTPUT

# never consume more than one line
printf "1\n2\n" |
	($TS_CMD_LINE && $TS_CMD_LINE) >> $TS_OUTPUT 2>&1
echo "ret: $?" >> $TS_OUTPUT

# always print one newline, return 1 on EOF
$TS_CMD_LINE </dev/null >> $TS_OUTPUT 2>&1
echo "ret: $?" >> $TS_OUTPUT

ts_finalize
