I *think* this was originally added to make it easier to see what was happening
in tests. Later we added the functionality to print the journal on failure, so
this redirection has stopped being useful.
In https://github.com/systemd/systemd/pull/13719#issuecomment-
539292650
@filbranden shows that grep tries to write to stdout and fails. In general,
we should not assume that writing to the console it always possible. We have
special code to handle this in pid1 after all:
99 19:22:10.731965 fstat(1, <unfinished ...>
99 19:22:10.731993 <... fstat resumed>{st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}) = 0
99 19:22:10.732070 write(1, "ExecStartPost={ path=/bin/echo ; argv[]=/bin/echo ${4_four_ex} ; ignore_errors=no ; start_time=[Mon 2019-10-07 19:22:10 PDT] ; stop_time=[Mon 209-10-07 19:22:10 PDT] ; pid=97 ; code=exited ; status=0 }\n", 203) = -1 EIO (Input/output error)
99 19:22:10.732174 write(2, "grep: ", 6) = -1 EIO (Input/output error)
99 19:22:10.732226 write(2, "write error", 11) = -1 EIO (Input/output error)
99 19:22:10.732263 write(2, ": Input/output error", 20) = -1 EIO (Input/output error)
99 19:22:10.732298 write(2, "\n", 1 <unfinished ...>
99 19:22:10.732325 <... write resumed>) = -1 EIO (Input/output error)
99 19:22:10.732349 exit_group(2) = ?
99 19:22:10.732424 +++ exited with 2 +++
Removing the redirection should make the tests less flakey.
Replaces #13719.
While at it, also drop NotifyAccess=all. I think it was added purposefully in
TEST-20-MAINPIDGAMES, and then cargo culted to newer tests.
[Service]
ExecStart=/test-jobs.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
EOF
# copy the units used by this test
[Service]
Type=oneshot
-StandardOutput=tty
-StandardError=tty
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'
EOF
[Service]
ExecStart=/test-nspawn.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
EOF
cat >$initdir/test-nspawn.sh <<'EOF'
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
NotifyAccess=all
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
-NotifyAccess=all
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
-NotifyAccess=all
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
-NotifyAccess=all
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
-NotifyAccess=all
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
-NotifyAccess=all
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
MemoryAccounting=yes
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
-NotifyAccess=all
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
-NotifyAccess=all
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/bin/bash -x /testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
-NotifyAccess=all
EOF
cp testsuite.sh $initdir/
[Service]
ExecStart=/testsuite.sh
Type=oneshot
-StandardOutput=tty
-StandardError=tty
-NotifyAccess=all
EOF
cp testsuite.sh $initdir/