Skip to content

Commit 8da6f35

Browse files
committed
test(pmem): add secret free
This is to make sure we test secret freedom with pmem. Signed-off-by: Nikita Kalyazin <kalyazin@amazon.com>
1 parent 7f72f89 commit 8da6f35

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

tests/integration_tests/functional/test_pmem.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,15 @@ def check_pmem_exist(vm, index, root, read_only, size, extension):
4646
assert False
4747

4848

49-
def test_pmem_add(uvm_plain_any, microvm_factory):
49+
def test_pmem_add(uvm_plain_any, microvm_factory, secret_free):
5050
"""
5151
Test addition of pmem devices to the VM and
5252
writes persistance
5353
"""
5454

5555
vm = uvm_plain_any
5656
vm.spawn()
57-
vm.basic_config(add_root_device=True)
57+
vm.basic_config(add_root_device=True, secret_free=secret_free)
5858
vm.add_net_iface()
5959

6060
# Pmem should work with non 2MB aligned files as well
@@ -75,6 +75,9 @@ def test_pmem_add(uvm_plain_any, microvm_factory):
7575
check_pmem_exist(vm, 0, False, False, align(pmem_size_mb_1 << 20), "ext4")
7676
check_pmem_exist(vm, 1, False, True, align(pmem_size_mb_2 << 20), "ext4")
7777

78+
if secret_free:
79+
return
80+
7881
# Write something to the pmem0 to see that it is indeed saved to
7982
# underlying file when VM shots down
8083
test_string = "testing pmem persistance"
@@ -97,7 +100,7 @@ def test_pmem_add(uvm_plain_any, microvm_factory):
97100
assert stdout.strip() == test_string
98101

99102

100-
def test_pmem_add_as_root_rw(uvm_plain_any, rootfs_rw, microvm_factory):
103+
def test_pmem_add_as_root_rw(uvm_plain_any, rootfs_rw, microvm_factory, secret_free):
101104
"""
102105
Test addition of a single root pmem device in read-write mode
103106
"""
@@ -106,7 +109,7 @@ def test_pmem_add_as_root_rw(uvm_plain_any, rootfs_rw, microvm_factory):
106109
vm.memory_monitor = None
107110
vm.monitors = []
108111
vm.spawn()
109-
vm.basic_config(add_root_device=False)
112+
vm.basic_config(add_root_device=False, secret_free=secret_free)
110113
vm.add_net_iface()
111114

112115
rootfs_size = os.path.getsize(rootfs_rw)
@@ -115,12 +118,15 @@ def test_pmem_add_as_root_rw(uvm_plain_any, rootfs_rw, microvm_factory):
115118

116119
check_pmem_exist(vm, 0, True, False, align(rootfs_size), "ext4")
117120

121+
if secret_free:
122+
return
123+
118124
snapshot = vm.snapshot_full()
119125
restored_vm = microvm_factory.build_from_snapshot(snapshot)
120126
check_pmem_exist(restored_vm, 0, True, False, align(rootfs_size), "ext4")
121127

122128

123-
def test_pmem_add_as_root_ro(uvm_plain_any, rootfs, microvm_factory):
129+
def test_pmem_add_as_root_ro(uvm_plain_any, rootfs, microvm_factory, secret_free):
124130
"""
125131
Test addition of a single root pmem device in read-only mode
126132
"""
@@ -129,7 +135,7 @@ def test_pmem_add_as_root_ro(uvm_plain_any, rootfs, microvm_factory):
129135
vm.memory_monitor = None
130136
vm.monitors = []
131137
vm.spawn()
132-
vm.basic_config(add_root_device=False)
138+
vm.basic_config(add_root_device=False, secret_free=secret_free)
133139
vm.add_net_iface()
134140

135141
rootfs_size = os.path.getsize(rootfs)
@@ -138,6 +144,9 @@ def test_pmem_add_as_root_ro(uvm_plain_any, rootfs, microvm_factory):
138144

139145
check_pmem_exist(vm, 0, True, True, align(rootfs_size), "squashfs")
140146

147+
if secret_free:
148+
return
149+
141150
snapshot = vm.snapshot_full()
142151
restored_vm = microvm_factory.build_from_snapshot(snapshot)
143152
check_pmem_exist(restored_vm, 0, True, True, align(rootfs_size), "squashfs")

tests/integration_tests/performance/test_pmem.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,17 @@ def test_pmem_performance(
8484
fio_engine,
8585
metrics,
8686
results_dir,
87+
secret_free,
8788
):
8889
"""
8990
Measure performance of pmem device
9091
"""
9192
vm = uvm_plain_acpi
9293
vm.memory_monitor = None
9394
vm.spawn()
94-
vm.basic_config(vcpu_count=vcpus, mem_size_mib=GUEST_MEM_MIB)
95+
vm.basic_config(
96+
vcpu_count=vcpus, mem_size_mib=GUEST_MEM_MIB, secret_free=secret_free
97+
)
9598
vm.add_net_iface()
9699
# Add a secondary block device for benchmark tests.
97100
fs = drive_tools.FilesystemFile(
@@ -164,6 +167,7 @@ def test_pmem_first_read(
164167
fio_block_size,
165168
metrics,
166169
results_dir,
170+
secret_free,
167171
):
168172
"""
169173
Measure performance of a first full read from the pmem device.
@@ -177,7 +181,7 @@ def test_pmem_first_read(
177181
guest_kernel_acpi, rootfs, pci=True, monitor_memory=False
178182
)
179183
vm.spawn()
180-
vm.basic_config(mem_size_mib=GUEST_MEM_MIB)
184+
vm.basic_config(mem_size_mib=GUEST_MEM_MIB, secret_free=secret_free)
181185
vm.add_net_iface()
182186

183187
fs = drive_tools.FilesystemFile(

0 commit comments

Comments
 (0)