]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: fix exec-standardoutput-truncate test
authorLucas Werkmeister <mail@lucaswerkmeister.de>
Fri, 15 Jan 2021 19:01:44 +0000 (20:01 +0100)
committerLucas Werkmeister <mail@lucaswerkmeister.de>
Fri, 15 Jan 2021 19:22:29 +0000 (20:22 +0100)
The cmp in ExecStartPost= was actually failing – ExecStartPost= has the
same StandardOutput as the rest of the service, so the output file is
truncated before cmp can compare it with the expected output – but the
test still passed because test_exec_standardoutput_truncate() calls
test(), which only checks the main result, rather than test_service(),
which checks the result of the whole service. Fix the test by merging
the ExecStartPost= into the ExecStart= – the cmp has to be part of the
same command line as the cat so that the file is not truncated between
the two processes.

test/test-execute/exec-standardoutput-truncate.service

index 7a12a069232081aef632de5283052d50a1cbd756..4b4bb87b758bb97a4ba2ba68fe58ee8c05dfe313 100644 (file)
@@ -8,6 +8,5 @@ StandardInput=data
 StandardInputText=hi
 StandardOutput=truncate:/tmp/test-exec-standardoutput-output
 StandardError=null
-ExecStart=cat
-ExecStartPost=cmp /tmp/test-exec-standardoutput-output /tmp/test-exec-standardoutput-expected
+ExecStart=sh -c 'cat && cmp /tmp/test-exec-standardoutput-output /tmp/test-exec-standardoutput-expected'
 Type=oneshot