Skip to content

Commit f92576d

Browse files
authored
Merge pull request #1254 from nicholasbishop/bishop-drop-memloop
test-runner: Drop the memory map OOM loop
2 parents 2f806e3 + 8435a33 commit f92576d

File tree

1 file changed

+24
-28
lines changed

1 file changed

+24
-28
lines changed

uefi-test-runner/src/boot/memory.rs

+24-28
Original file line numberDiff line numberDiff line change
@@ -63,41 +63,37 @@ fn alloc_alignment() {
6363
fn memory_map(bt: &BootServices) {
6464
info!("Testing memory map functions");
6565

66-
// Ensure that the memory map is freed after each iteration (on drop).
67-
// Otherwise, we will have an OOM.
68-
for _ in 0..200000 {
69-
let mut memory_map = bt
70-
.memory_map(MemoryType::LOADER_DATA)
71-
.expect("Failed to retrieve UEFI memory map");
66+
let mut memory_map = bt
67+
.memory_map(MemoryType::LOADER_DATA)
68+
.expect("Failed to retrieve UEFI memory map");
7269

73-
memory_map.sort();
70+
memory_map.sort();
7471

75-
// Collect the descriptors into a vector
76-
let descriptors = memory_map.entries().copied().collect::<Vec<_>>();
72+
// Collect the descriptors into a vector
73+
let descriptors = memory_map.entries().copied().collect::<Vec<_>>();
7774

78-
// Ensured we have at least one entry.
79-
// Real memory maps usually have dozens of entries.
80-
assert!(!descriptors.is_empty(), "Memory map is empty");
75+
// Ensured we have at least one entry.
76+
// Real memory maps usually have dozens of entries.
77+
assert!(!descriptors.is_empty(), "Memory map is empty");
8178

82-
let mut curr_value = descriptors[0];
79+
let mut curr_value = descriptors[0];
8380

84-
for value in descriptors.iter().skip(1) {
85-
if value.phys_start <= curr_value.phys_start {
86-
panic!("memory map sorting failed");
87-
}
88-
curr_value = *value;
81+
for value in descriptors.iter().skip(1) {
82+
if value.phys_start <= curr_value.phys_start {
83+
panic!("memory map sorting failed");
8984
}
85+
curr_value = *value;
86+
}
9087

91-
// This is pretty much a basic sanity test to ensure returned memory
92-
// isn't filled with random values.
93-
let first_desc = descriptors[0];
88+
// This is pretty much a basic sanity test to ensure returned memory
89+
// isn't filled with random values.
90+
let first_desc = descriptors[0];
9491

95-
#[cfg(target_arch = "x86_64")]
96-
{
97-
let phys_start = first_desc.phys_start;
98-
assert_eq!(phys_start, 0, "Memory does not start at address 0");
99-
}
100-
let page_count = first_desc.page_count;
101-
assert!(page_count != 0, "Memory map entry has size zero");
92+
#[cfg(target_arch = "x86_64")]
93+
{
94+
let phys_start = first_desc.phys_start;
95+
assert_eq!(phys_start, 0, "Memory does not start at address 0");
10296
}
97+
let page_count = first_desc.page_count;
98+
assert!(page_count != 0, "Memory map entry has size zero");
10399
}

0 commit comments

Comments
 (0)