mirror of
https://passt.top/passt
synced 2025-02-22 10:52:21 +00:00
test: Remove race between commands run in the same context
context_run() has a race condition if two commands are run in close proximity (generally involving at least one in the background). Because we always use the same name for the temporary fifo files, if another command is issued while the fifos for the first still exist, mkfifo will fail, typically causing the entire test script to jam. Create unique names for the temporary fifos to avoid this problem. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
ca2749e1bd
commit
55bbe3dbcb
@ -89,8 +89,8 @@ context_run() {
|
||||
__name="$1"
|
||||
__log="${LOGDIR}/context_${__name}.log"
|
||||
__enter="${STATESETUP}/context_${__name}.enter"
|
||||
__stdout="${STATESETUP}/context_${__name}.stdout"
|
||||
__stderr="${STATESETUP}/context_${__name}.stderr"
|
||||
__stdout="$(mktemp -u "${STATESETUP}/context_${__name}.stdout.XXXXXXXX")"
|
||||
__stderr="$(mktemp -u "${STATESETUP}/context_${__name}.stderr.XXXXXXXX")"
|
||||
shift
|
||||
echo "$*" >> "${__log}"
|
||||
mkfifo "${__stdout}" "${__stderr}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user