]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
pipesz: add tests
authorNathan Sharp <nwsharp@live.com>
Tue, 12 Apr 2022 04:59:28 +0000 (22:59 -0600)
committerKarel Zak <kzak@redhat.com>
Wed, 18 May 2022 08:35:31 +0000 (10:35 +0200)
Signed-off-by: Nathan Sharp <nwsharp@live.com>
tests/commands.sh
tests/expected/misc/pipesz-exec [new file with mode: 0644]
tests/expected/misc/pipesz-get-fd [new file with mode: 0644]
tests/expected/misc/pipesz-get-fd-bad.err [new file with mode: 0644]
tests/expected/misc/pipesz-get-file [new file with mode: 0644]
tests/expected/misc/pipesz-get-file-bad.err [new file with mode: 0644]
tests/expected/misc/pipesz-set-fd-bad.err [new file with mode: 0644]
tests/expected/misc/pipesz-set-file-bad.err [new file with mode: 0644]
tests/ts/misc/pipesz [new file with mode: 0755]

index 18467cb4ed833777ed91e1ffe08090a85f6fa318..aff324c1f365ed992728a412b29574d27980b0c8 100644 (file)
@@ -92,6 +92,7 @@ TS_CMD_MOUNT=${TS_CMD_MOUNT:-"${ts_commandsdir}mount"}
 TS_CMD_MOUNTPOINT=${TS_CMD_MOUNTPOINT:-"${ts_commandsdir}mountpoint"}
 TS_CMD_NAMEI=${TS_CMD_NAMEI-"${ts_commandsdir}namei"}
 TS_CMD_PARTX=${TS_CMD_PARTX-"${ts_commandsdir}partx"}
+TS_CMD_PIPESZ=${TS_CMD_PIPESZ-"${ts_commandsdir}pipesz"}
 TS_CMD_RENAME=${TS_CMD_RENAME-"${ts_commandsdir}rename"}
 TS_CMD_RUNUSER=${TS_CMD_RUNUSER-"${ts_commandsdir}runuser"}
 TS_CMD_REV=${TS_CMD_REV:-"${ts_commandsdir}rev"}
diff --git a/tests/expected/misc/pipesz-exec b/tests/expected/misc/pipesz-exec
new file mode 100644 (file)
index 0000000..1c6f03b
--- /dev/null
@@ -0,0 +1 @@
+this_should_be_output_by_cat
diff --git a/tests/expected/misc/pipesz-get-fd b/tests/expected/misc/pipesz-get-fd
new file mode 100644 (file)
index 0000000..ef103dc
--- /dev/null
@@ -0,0 +1 @@
+fd 0   65536   0
diff --git a/tests/expected/misc/pipesz-get-fd-bad.err b/tests/expected/misc/pipesz-get-fd-bad.err
new file mode 100644 (file)
index 0000000..0394206
--- /dev/null
@@ -0,0 +1 @@
+pipesz: cannot get pipe buffer size of fd 42: Bad file descriptor
diff --git a/tests/expected/misc/pipesz-get-file b/tests/expected/misc/pipesz-get-file
new file mode 100644 (file)
index 0000000..c1e1a9d
--- /dev/null
@@ -0,0 +1 @@
+/dev/stdin     65536   0
diff --git a/tests/expected/misc/pipesz-get-file-bad.err b/tests/expected/misc/pipesz-get-file-bad.err
new file mode 100644 (file)
index 0000000..793301d
--- /dev/null
@@ -0,0 +1 @@
+pipesz: cannot get pipe buffer size of /dev/null: Bad file descriptor
diff --git a/tests/expected/misc/pipesz-set-fd-bad.err b/tests/expected/misc/pipesz-set-fd-bad.err
new file mode 100644 (file)
index 0000000..199d18c
--- /dev/null
@@ -0,0 +1 @@
+pipesz: cannot set pipe buffer size of fd 42: Bad file descriptor
diff --git a/tests/expected/misc/pipesz-set-file-bad.err b/tests/expected/misc/pipesz-set-file-bad.err
new file mode 100644 (file)
index 0000000..f97b1f8
--- /dev/null
@@ -0,0 +1 @@
+pipesz: cannot set pipe buffer size of /dev/null: Bad file descriptor
diff --git a/tests/ts/misc/pipesz b/tests/ts/misc/pipesz
new file mode 100755 (executable)
index 0000000..be5eb45
--- /dev/null
@@ -0,0 +1,73 @@
+#!/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="pipesz"
+
+. $TS_TOPDIR/functions.sh
+ts_init "$*"
+
+ts_check_test_command "$TS_CMD_PIPESZ"
+
+ts_init_subtest "set-fd-bad"
+$TS_CMD_PIPESZ --check --set 4096 --fd 42 >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -eq 0 ]] && ts_logerr "expected failure"
+ts_finalize_subtest
+
+ts_init_subtest "set-fd"
+echo -n | $TS_CMD_PIPESZ --check --set 4096 --stdin >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -ne 0 ]] && ts_logerr "expected success"
+ts_finalize_subtest
+
+ts_init_subtest "set-file-bad"
+$TS_CMD_PIPESZ --check --set 4096 --file "/dev/null" >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -eq 0 ]] && ts_logerr "expected failure"
+ts_finalize_subtest
+
+ts_init_subtest "set-file"
+echo -n | $TS_CMD_PIPESZ --check --set 4096 --file "/dev/stdin" >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -ne 0 ]] && ts_logerr "expected success"
+ts_finalize_subtest
+
+ts_init_subtest "get-fd-bad"
+$TS_CMD_PIPESZ --check --get --fd 42 >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -eq 0 ]] && ts_logerr "expected failure"
+ts_finalize_subtest
+
+ts_init_subtest "get-fd"
+echo -n | $TS_CMD_PIPESZ --check --get --stdin >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -ne 0 ]] && ts_logerr "expected success"
+ts_finalize_subtest
+
+ts_init_subtest "get-file-bad"
+$TS_CMD_PIPESZ --check --get --file "/dev/null" >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -eq 0 ]] && ts_logerr "expected failure"
+ts_finalize_subtest
+
+ts_init_subtest "get-file"
+echo -n | $TS_CMD_PIPESZ --check --get --file "/dev/stdin" >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -ne 0 ]] && ts_logerr "expected success"
+ts_finalize_subtest
+
+ts_init_subtest "pipe-max-size"
+echo -n | $TS_CMD_PIPESZ --check --stdin >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -ne 0 ]] && ts_logerr "expected success"
+ts_finalize_subtest
+
+ts_init_subtest "exec"
+echo this_should_be_output_by_cat | $TS_CMD_PIPESZ --check --stdin cat >> $TS_OUTPUT 2>> $TS_ERRLOG
+[[ $? -ne 0 ]] && ts_logerr "expected success"
+ts_finalize_subtest
+
+ts_finalize