| From bf7631e7c0a7d1cac2f071ce998d5c669aa5abd7 Mon Sep 17 00:00:00 2001 |
| From: Frantisek Sumsal <frantisek@sumsal.cz> |
| Date: Tue, 29 Jan 2019 19:33:15 +0100 |
| Subject: [PATCH] test: replace echo with socat |
| |
| The original version of the test used netcat along with a standard |
| AF_UNIX socket, which caused issues across different netcat |
| implementations. The AF_UNIX socket was then replaced by a FIFO with a |
| simple echo, which, however, suffers from the same issue (some echo |
| implementations don't check if the write() was successful). |
| |
| Let's revert back to the AF_UNIX socket, but replace netcat with socat, |
| which, hopefully, resolves the main issue. |
| |
| Relevant commit: 9b45c2bf02a43e3e1b42de1ab0c3fe29c64dc5f5 |
| |
| (cherry picked from commit b35d6d828b3216d022e565820d9971cb0f7746c1) |
| |
| test/TEST-10-ISSUE-2467/test.sh | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| diff --git a/test/TEST-10-ISSUE-2467/test.sh b/test/TEST-10-ISSUE-2467/test.sh |
| index e61f5acd3c..0e61236686 100755 |
| |
| |
| @@ -17,7 +17,7 @@ test_setup() { |
| eval $(udevadm info --export --query=env --name=${LOOPDEV}p2) |
| |
| setup_basic_environment |
| - dracut_install true rm |
| + dracut_install true rm socat |
| |
| # setup the testsuite service |
| cat >$initdir/etc/systemd/system/testsuite.service <<'EOF' |
| @@ -29,13 +29,13 @@ After=multi-user.target |
| Type=oneshot |
| StandardOutput=tty |
| StandardError=tty |
| -ExecStart=/bin/sh -e -x -c 'rm -f /tmp/nonexistent; systemctl start test.socket; echo > /run/test.ctl; >/testok' |
| +ExecStart=/bin/sh -e -x -c 'rm -f /tmp/nonexistent; systemctl start test.socket; printf x > test.file; socat -t20 OPEN:test.file UNIX-CONNECT:/run/test.ctl; >/testok' |
| TimeoutStartSec=10s |
| EOF |
| |
| cat >$initdir/etc/systemd/system/test.socket <<'EOF' |
| [Socket] |
| -ListenFIFO=/run/test.ctl |
| +ListenStream=/run/test.ctl |
| EOF |
| |
| cat > $initdir/etc/systemd/system/test.service <<'EOF' |