Refactor test cleanup to use --remove-orphans flag in docker compose commands and streamline bw-data management

This commit is contained in:
Théophile Diot 2025-01-09 08:03:02 +01:00
parent 7d6a19321b
commit 77c6df70f6
No known key found for this signature in database
GPG key ID: FA995104A0BA376A
2 changed files with 30 additions and 10 deletions

View file

@ -27,9 +27,6 @@ class AutoconfTest(Test):
try:
if not Test.init():
return False
proc = run("sudo chown -R root:root /tmp/bw-data", shell=True)
if proc.returncode != 0:
raise (Exception("chown failed (autoconf stack)"))
if isdir("/tmp/autoconf"):
rmtree("/tmp/autoconf")
mkdir("/tmp/autoconf")
@ -107,7 +104,7 @@ class AutoconfTest(Test):
try:
if not Test.end():
return False
proc = run("docker compose down -v", cwd="/tmp/autoconf", shell=True)
proc = run("docker compose down -v --remove-orphans", cwd="/tmp/autoconf", shell=True)
if proc.returncode != 0:
ret = False
rmtree("/tmp/autoconf")
@ -150,6 +147,13 @@ class AutoconfTest(Test):
proc = run("sudo ./setup-autoconf.sh", cwd=test, shell=True)
if proc.returncode != 0:
raise (Exception("setup-autoconf failed"))
if isdir("/tmp/bw-data"):
proc = run("sudo rm -rf /tmp/bw-data", shell=True)
if proc.returncode != 0:
raise (Exception("rm bw-data failed"))
proc = run("sudo mkdir /tmp/bw-data", shell=True)
if proc.returncode != 0:
raise (Exception("mkdir bw-data failed"))
if isdir(example_data) and not self._no_copy_container:
proc = run(
f"sudo bash -c 'cp -rp {example_data}/* /tmp/bw-data'",
@ -157,6 +161,12 @@ class AutoconfTest(Test):
)
if proc.returncode != 0:
raise (Exception("cp bw-data failed"))
proc = run("sudo chown -R root:101 /tmp/bw-data", shell=True)
if proc.returncode != 0:
raise (Exception("chown failed (docker stack)"))
proc = run("sudo chmod -R 770 /tmp/bw-data", shell=True)
if proc.returncode != 0:
raise (Exception("chmod failed (docker stack)"))
if isdir(example_www):
proc = run(
f"sudo bash -c 'cp -rp {example_www}/* /tmp/www'",
@ -187,7 +197,7 @@ class AutoconfTest(Test):
def _cleanup_test(self):
try:
test = f"/tmp/tests/{self._name}"
proc = run("docker compose -f autoconf.yml down -v", shell=True, cwd=test)
proc = run("docker compose -f autoconf.yml down -v --remove-orphans", shell=True, cwd=test)
if proc.returncode != 0:
raise (Exception("docker compose down failed"))
proc = run(

View file

@ -25,9 +25,6 @@ class DockerTest(Test):
try:
if not Test.init():
return False
# proc = run("sudo chown -R 101:101 /tmp/bw-data", shell=True)
# if proc.returncode != 0 :
# raise(Exception("chown failed (autoconf stack)"))
except:
log(
"DOCKER",
@ -73,13 +70,26 @@ class DockerTest(Test):
proc = run("sudo ./setup-docker.sh", cwd=test, shell=True)
if proc.returncode != 0:
raise (Exception("setup-docker failed"))
if isdir("/tmp/bw-data"):
proc = run("sudo rm -rf /tmp/bw-data", shell=True)
if proc.returncode != 0:
raise (Exception("rm bw-data failed"))
proc = run("sudo mkdir /tmp/bw-data", shell=True)
if proc.returncode != 0:
raise (Exception("mkdir bw-data failed"))
if isdir(example_data) and not self._no_copy_container:
proc = run(
"sudo bash -c 'cp -rp " + example_data + "/* /tmp/bw-data'",
f"sudo bash -c 'cp -rp {example_data}/* /tmp/bw-data'",
shell=True,
)
if proc.returncode != 0:
raise (Exception("cp bw-data failed"))
proc = run("sudo chown -R root:101 /tmp/bw-data", shell=True)
if proc.returncode != 0:
raise (Exception("chown failed (docker stack)"))
proc = run("sudo chmod -R 770 /tmp/bw-data", shell=True)
if proc.returncode != 0:
raise (Exception("chmod failed (docker stack)"))
proc = run("docker compose pull --ignore-pull-failures", shell=True, cwd=test)
if proc.returncode != 0:
raise (Exception("docker compose pull failed"))
@ -99,7 +109,7 @@ class DockerTest(Test):
def _cleanup_test(self):
try:
test = "/tmp/tests/" + self._name
proc = run("docker compose down -v", shell=True, cwd=test)
proc = run("docker compose down -v --remove-orphans", shell=True, cwd=test)
if proc.returncode != 0:
raise (Exception("docker compose down failed"))
super()._cleanup_test()