4
LXD_FDLEAK_DIR=$(mktemp -d -p "${TEST_DIR}" XXX)
5
chmod +x "${LXD_FDLEAK_DIR}"
6
spawn_lxd "${LXD_FDLEAK_DIR}"
7
pid=$(cat "${LXD_FDLEAK_DIR}/lxd.pid")
9
beforefds=$(/bin/ls "/proc/${pid}/fd" | wc -l)
12
# shellcheck disable=SC2034
13
LXD_DIR=${LXD_FDLEAK_DIR}
15
ensure_import_testimage
18
lxc init "testimage leaktest${i}"
19
lxc info "leaktest${i}"
20
lxc start "leaktest${i}"
21
lxc exec "leaktest${i}" -- ps -ef
22
lxc stop "leaktest${i}" --force
23
lxc delete "leaktest${i}"
30
afterfds=$(/bin/ls "/proc/${pid}/fd" | wc -l)
31
leakedfds=$((afterfds - beforefds))
34
# shellcheck disable=SC2015
35
[ ${leakedfds} -gt 5 ] && bad=1 || true
36
if [ ${bad} -eq 1 ]; then
37
echo "${leakedfds} FDS leaked"
38
ls "/proc/${pid}/fd" -al
39
netstat -anp 2>&1 | grep "${pid}/"
43
kill_lxd "${LXD_FDLEAK_DIR}"