aboutsummaryrefslogtreecommitdiff
path: root/tests/passfd.at
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2019-06-11 17:30:25 +0300
committerSergey Poznyakoff <gray@gnu.org>2019-06-11 17:30:25 +0300
commit07e7ee3d732b60e0b7f5b242bbfb0cdec8e99e7f (patch)
treed8106ba7d4e4e92f4bb4f49427eb6e2db10897a3 /tests/passfd.at
parentbf6506cdc46446eada5090a428c2407ebd17468a (diff)
downloadpies-07e7ee3d732b60e0b7f5b242bbfb0cdec8e99e7f.tar.gz
pies-07e7ee3d732b60e0b7f5b242bbfb0cdec8e99e7f.tar.bz2
Test pass-fd components
* tests/recvfd.c: New source. * tests/.gitignore: Update. * tests/passfd.at: New test. * tests/Makefile.am: Add new test. * tests/testsuite.at: Add new test. * tests/nt.c: Check all revents bits.
Diffstat (limited to 'tests/passfd.at')
-rw-r--r--tests/passfd.at57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/passfd.at b/tests/passfd.at
new file mode 100644
index 0000000..4a685a3
--- /dev/null
+++ b/tests/passfd.at
@@ -0,0 +1,57 @@
+# This file is part of GNU pies testsuite. -*- Autotest -*-
+# Copyright (C) 2016-2019 Sergey Poznyakoff
+#
+# GNU pies 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, or (at your option)
+# any later version.
+#
+# GNU pies 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 GNU pies. If not, see <http://www.gnu.org/licenses/>.
+AT_SETUP([pass-fd component])
+AT_CHECK([
+PIES_XFAIL_CHECK
+PIES_CONTROL_INIT
+
+AT_DATA([input],
+[now is
+the time
+stop
+])
+
+: ${PIES_TEST_INET_SOCKET:=unix://$PWD/in.sock}
+PIES_FD_SOCKET=$PWD/pfd.sock
+
+cat > pies.conf <<_EOT
+component pfd {
+ command "recvfd '$PIES_FD_SOCKET' $auxdir/in.test $PWD/inlog";
+ mode pass-fd;
+ pass-fd-timeout 3;
+ pass-fd-socket "$PIES_FD_SOCKET";
+ socket "$PIES_TEST_INET_SOCKET";
+ stderr file "$PWD/log.err";
+}
+component controller {
+ command "nt $PIES_TEST_INET_SOCKET -i input";
+}
+_EOT
+
+set -e
+to 10 \
+ pies --foreground --stderr \
+ --config-file control.conf --config-file pies.conf --debug 1 2>errlog
+
+cat inlog
+cat log.err >&2
+],
+[0],
+[now is
+the time
+stop
+])
+AT_CLEANUP \ No newline at end of file

Return to:

Send suggestions and report system problems to the System administrator.