summaryrefslogtreecommitdiffstats
path: root/library/std/src/sys/uefi/tests.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 18:31:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 18:31:44 +0000
commitc23a457e72abe608715ac76f076f47dc42af07a5 (patch)
tree2772049aaf84b5c9d0ed12ec8d86812f7a7904b6 /library/std/src/sys/uefi/tests.rs
parentReleasing progress-linux version 1.73.0+dfsg1-1~progress7.99u1. (diff)
downloadrustc-c23a457e72abe608715ac76f076f47dc42af07a5.tar.xz
rustc-c23a457e72abe608715ac76f076f47dc42af07a5.zip
Merging upstream version 1.74.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'library/std/src/sys/uefi/tests.rs')
-rw-r--r--library/std/src/sys/uefi/tests.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/library/std/src/sys/uefi/tests.rs b/library/std/src/sys/uefi/tests.rs
new file mode 100644
index 000000000..8806eda3a
--- /dev/null
+++ b/library/std/src/sys/uefi/tests.rs
@@ -0,0 +1,21 @@
+use super::alloc::*;
+
+#[test]
+fn align() {
+ // UEFI ABI specifies that allocation alignment minimum is always 8. So this can be
+ // statically verified.
+ assert_eq!(POOL_ALIGNMENT, 8);
+
+ // Loop over allocation-request sizes from 0-256 and alignments from 1-128, and verify
+ // that in case of overalignment there is at least space for one additional pointer to
+ // store in the allocation.
+ for i in 0..256 {
+ for j in &[1, 2, 4, 8, 16, 32, 64, 128] {
+ if *j <= 8 {
+ assert_eq!(align_size(i, *j), i);
+ } else {
+ assert!(align_size(i, *j) > i + std::mem::size_of::<*mut ()>());
+ }
+ }
+ }
+}