Skip to content

Commit 39ed26d

Browse files
committed
refactor: separate bind mount setup/clean
Move bind mount setup/clean up into separate functions. Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
1 parent 3f822cb commit 39ed26d

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

tests/integration_tests/performance/test_jailer.py

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,26 @@
1414
from framework.properties import global_props
1515

1616

17+
def setup_bind_mounts(tmp_path, n):
18+
"""
19+
Create bind mount points. The exact location of them
20+
does not matter, they just need to exist.
21+
"""
22+
mounts_paths = tmp_path / "mounts"
23+
os.makedirs(mounts_paths)
24+
for m in range(n):
25+
mount_path = f"{mounts_paths}/mount{m}"
26+
os.makedirs(mount_path)
27+
utils.check_output(f"mount --bind {mount_path} {mount_path}")
28+
29+
30+
def clean_up_mounts(tmp_path):
31+
"""Cleanup mounts and jailer dirs"""
32+
mounts_paths = tmp_path / "mounts"
33+
for d in os.listdir(mounts_paths):
34+
utils.check_output(f"umount {mounts_paths}/{d}")
35+
36+
1737
@pytest.mark.nonci
1838
@pytest.mark.parametrize("jailers", [1, 100, 300, 500])
1939
@pytest.mark.parametrize("mounts", [0, 100, 300, 500])
@@ -26,14 +46,7 @@ def test_jailer_startup(
2646

2747
jailer_binary = microvm_factory.jailer_binary_path
2848

29-
# Create bind mount points. The exact location of them
30-
# does not matter, they just need to exist.
31-
mounts_paths = tmp_path / "mounts"
32-
os.makedirs(mounts_paths)
33-
for m in range(mounts):
34-
mount_path = f"{mounts_paths}/mount{m}"
35-
os.makedirs(mount_path)
36-
utils.check_output(f"mount --bind {mount_path} {mount_path}")
49+
setup_bind_mounts(tmp_path, mounts)
3750

3851
metrics.set_dimensions(
3952
{
@@ -79,9 +92,7 @@ def test_jailer_startup(
7992
unit="Microseconds",
8093
)
8194

82-
# Cleanup mounts and jailer dirs
83-
for d in os.listdir(mounts_paths):
84-
utils.check_output(f"umount {mounts_paths}/{d}")
95+
clean_up_mounts(tmp_path)
8596
shutil.rmtree(DEFAULT_CHROOT_PATH)
8697

8798

@@ -112,13 +123,7 @@ def test_jailer_startup_parallel(
112123

113124
jailer_binary = microvm_factory.jailer_binary_path
114125

115-
# Create bind mount points. The exact location of them
116-
# does not matter, they just need to exist.
117-
mounts_paths = tmp_path / "mounts"
118-
for m in range(mounts):
119-
mount_path = f"{mounts_paths}/mount{m}"
120-
os.makedirs(mount_path)
121-
utils.check_output(f"mount --bind {mount_path} {mount_path}")
126+
setup_bind_mounts(tmp_path, mounts)
122127

123128
metrics.set_dimensions(
124129
{
@@ -156,7 +161,5 @@ def test_jailer_startup_parallel(
156161
unit="Microseconds",
157162
)
158163

159-
# Cleanup mounts and jailer dirs
160-
for d in os.listdir(mounts_paths):
161-
utils.check_output(f"umount {mounts_paths}/{d}")
164+
clean_up_mounts(tmp_path)
162165
shutil.rmtree(DEFAULT_CHROOT_PATH)

0 commit comments

Comments
 (0)