On Mon, Apr 06, 2026 at 03:57:33AM +0800, CaoRuichuang wrote:
> The namespace tests create temporary Unix socket paths with mktemp -u and
> then hand them to socat. That only prints an unused pathname and leaves
> a race before the socket is created.
>
> Create a private temporary directory with mktemp -d and place the Unix
> socket inside it instead. This keeps the path unique without relying on
> mktemp -u for filesystem socket names.
>
> Signed-off-by: CaoRuichuang <[email protected]>
I think the subject could be improved a bit.
More along the lines of the problem being solved,
less on how it is achieved.
...
> @@ -845,7 +850,7 @@ test_ns_diff_global_vm_connect_to_global_host_ok() {
> if ! vm_start "${pidfile}" "${ns0}"; then
> log_host "failed to start vm (cid=${cid}, ns=${ns0})"
> terminate_pids "${pids[@]}"
> - rm -f "${unixfile}"
> + rm -rf "${unixdir}"
rm -rf makes me feel queasy.
Can rmdir, and rm, ideally without the -f, be used instead?
rm "$unixfile"
rmdir "$unixdir"
> return "${KSFT_FAIL}"
> fi
>
...