summaryrefslogtreecommitdiff
path: root/FreeRTOS-Plus/Test/CMock/test/system/test_interactions/unity_64bit_support.yml
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS-Plus/Test/CMock/test/system/test_interactions/unity_64bit_support.yml')
-rw-r--r--FreeRTOS-Plus/Test/CMock/test/system/test_interactions/unity_64bit_support.yml77
1 files changed, 77 insertions, 0 deletions
diff --git a/FreeRTOS-Plus/Test/CMock/test/system/test_interactions/unity_64bit_support.yml b/FreeRTOS-Plus/Test/CMock/test/system/test_interactions/unity_64bit_support.yml
new file mode 100644
index 000000000..861b15148
--- /dev/null
+++ b/FreeRTOS-Plus/Test/CMock/test/system/test_interactions/unity_64bit_support.yml
@@ -0,0 +1,77 @@
+---
+#The purpose of this test is to play with things 64-bit integers, which aren't supported by all compilers
+:cmock:
+ :plugins:
+ - :array
+ - :ignore
+
+:systest:
+ :types: |
+ #include "unity_internals.h"
+ typedef UNITY_UINT64 TEST64;
+
+ :mockable: |
+ TEST64 foo(TEST64 a);
+ TEST64* bar(TEST64* b);
+
+ :source:
+ :header: |
+ TEST64 function_a(void);
+
+ :code: |
+ TEST64 function_a(void) {
+ TEST64 a = 0x1234567890123456;
+ TEST64 b;
+ TEST64* c;
+
+ b = foo(a);
+ c = bar(&b);
+ return *c;
+ }
+
+ :tests:
+ :common: |
+ void setUp(void) {}
+ void tearDown(void) {}
+
+ :units:
+ - :pass: TRUE
+ :should: 'handle a straightforward 64-bit series of calls'
+ :code: |
+ test()
+ {
+ TEST64 a = 0x0987654321543210;
+ TEST64 b = 0x5a5a5a5a5a5a5a5a;
+ foo_ExpectAndReturn(0x1234567890123456, 0x0987654321543210);
+ bar_ExpectAndReturn(&a, &b);
+
+ TEST_ASSERT_EQUAL_HEX64(b, function_a());
+ }
+
+ - :pass: FALSE
+ :should: 'handle a straightforward 64-bit series of calls with a failure'
+ :code: |
+ test()
+ {
+ TEST64 a = 0x0987654321543210;
+ TEST64 b = 0x5a5a5a5a5a5a5a5a;
+ foo_ExpectAndReturn(0x1234567890123456, 0x0987654321543211);
+ bar_ExpectAndReturn(&a, &b);
+
+ TEST_ASSERT_EQUAL_HEX64(b, function_a());
+ }
+
+ - :pass: FALSE
+ :should: 'handle a straightforward 64-bit series of calls returning a failure'
+ :code: |
+ test()
+ {
+ TEST64 a = 0x0987654321543210;
+ TEST64 b = 0x5a5a5a5a5a5a5a5a;
+ foo_ExpectAndReturn(0x1234567890123456, 0x0987654321543210);
+ bar_ExpectAndReturn(&a, &b);
+
+ TEST_ASSERT_EQUAL_HEX64(b+1, function_a());
+ }
+
+...