summaryrefslogtreecommitdiffstats
path: root/vendor/psm/tests
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/psm/tests')
-rw-r--r--vendor/psm/tests/stack_direction.rs6
-rw-r--r--vendor/psm/tests/stack_direction_2.rs29
2 files changed, 35 insertions, 0 deletions
diff --git a/vendor/psm/tests/stack_direction.rs b/vendor/psm/tests/stack_direction.rs
new file mode 100644
index 000000000..609decbfe
--- /dev/null
+++ b/vendor/psm/tests/stack_direction.rs
@@ -0,0 +1,6 @@
+extern crate psm;
+
+#[test]
+fn always_equal() {
+ assert_eq!(psm::StackDirection::new(), psm::StackDirection::new());
+}
diff --git a/vendor/psm/tests/stack_direction_2.rs b/vendor/psm/tests/stack_direction_2.rs
new file mode 100644
index 000000000..dd0679074
--- /dev/null
+++ b/vendor/psm/tests/stack_direction_2.rs
@@ -0,0 +1,29 @@
+extern crate psm;
+
+#[inline(never)]
+fn test_direction(previous_sp: *mut u8) {
+ let current_sp = psm::stack_pointer();
+ match psm::StackDirection::new() {
+ psm::StackDirection::Ascending => {
+ assert!(
+ current_sp > previous_sp,
+ "the stack pointer is not ascending! current = {:p}, previous = {:p}",
+ current_sp,
+ previous_sp
+ );
+ }
+ psm::StackDirection::Descending => {
+ assert!(
+ current_sp < previous_sp,
+ "the stack pointer is not descending! current = {:p}, previous = {:p}",
+ current_sp,
+ previous_sp
+ );
+ }
+ }
+}
+
+#[test]
+fn direction_right() {
+ test_direction(psm::stack_pointer());
+}