[lxc-devel] [lxd/master] tests: Fix race condition in import tests
stgraber on Github
lxc-bot at linuxcontainers.org
Tue Feb 27 20:21:31 UTC 2018
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 354 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20180227/3c718f4d/attachment.bin>
-------------- next part --------------
From 70611215213499377a4144651567735d57509359 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Tue, 27 Feb 2018 15:21:04 -0500
Subject: [PATCH] tests: Fix race condition in import tests
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
test/suites/backup.sh | 28 +++++++++++++++++++---------
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/test/suites/backup.sh b/test/suites/backup.sh
index 0b14a0b83..0abb6b187 100644
--- a/test/suites/backup.sh
+++ b/test/suites/backup.sh
@@ -5,6 +5,16 @@ test_container_import() {
(
set -e
+ kill_lxc() {
+ pid=${1:-}
+ [ -n "${pid}" ] || return
+ ppid=$(ps -o ppid="" -p "${pid}")
+ kill -9 "${pid}" || true
+
+ [ -n "${ppid}" ] || return
+ kill -9 "${ppid}" || true
+ }
+
# shellcheck disable=SC2030
LXD_DIR=${LXD_IMPORT_DIR}
lxd_backend=$(storage_backend "$LXD_DIR")
@@ -16,7 +26,7 @@ test_container_import() {
pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
! lxd import ctImport
lxd import ctImport --force
- kill -9 "${pid}"
+ kill_lxc "${pid}"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE name='ctImport'"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM storage_volumes WHERE name='ctImport'"
lxd import ctImport --force
@@ -29,7 +39,7 @@ test_container_import() {
pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
! lxd import ctImport
lxd import ctImport --force
- kill -9 "${pid}"
+ kill_lxc "${pid}"
lxc info ctImport | grep snap0
lxc start ctImport
lxc delete --force ctImport
@@ -38,7 +48,7 @@ test_container_import() {
lxc snapshot ctImport
lxc start ctImport
pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
- kill -9 "${pid}"
+ kill_lxc "${pid}"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE name='ctImport'"
! lxd import ctImport
lxd import ctImport --force
@@ -50,7 +60,7 @@ test_container_import() {
lxc snapshot ctImport
lxc start ctImport
pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
- kill -9 "${pid}"
+ kill_lxc "${pid}"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE name='ctImport/snap0'"
! lxd import ctImport
lxd import ctImport --force
@@ -62,7 +72,7 @@ test_container_import() {
lxc snapshot ctImport
lxc start ctImport
pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
- kill -9 "${pid}"
+ kill_lxc "${pid}"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE name='ctImport'"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE name='ctImport/snap0'"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM storage_volumes WHERE name='ctImport'"
@@ -76,7 +86,7 @@ test_container_import() {
lxc snapshot ctImport
lxc start ctImport
pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
- kill -9 "${pid}"
+ kill_lxc "${pid}"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE name='ctImport'"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE name='ctImport/snap0'"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM storage_volumes WHERE name='ctImport'"
@@ -97,7 +107,7 @@ test_container_import() {
rm -rf "${LXD_DIR}/storage-pools/lxdtest-$(basename "${LXD_DIR}")/snapshots/ctImport/snap0"
fi
pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
- kill -9 "${pid}"
+ kill_lxc "${pid}"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE name='ctImport'"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE name='ctImport/snap0'"
lxd sql "PRAGMA foreign_keys=ON; DELETE FROM storage_volumes WHERE name='ctImport'"
@@ -135,7 +145,7 @@ test_container_import() {
;;
esac
pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
- kill -9 "${pid}"
+ kill_lxc "${pid}"
! lxd import ctImport
lxd import ctImport --force
lxc info ctImport | grep snap0
@@ -167,7 +177,7 @@ test_container_import() {
;;
esac
pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
- kill -9 "${pid}"
+ kill_lxc "${pid}"
! lxd import ctImport
lxd import ctImport --force
lxc info ctImport | grep snap0
More information about the lxc-devel
mailing list