Sha256: 91a78d7f1216c1c18388116c169d2da0994351e61155fa6bb622bf16b635838e

Contents?: true

Size: 1.79 KB

Versions: 8

Compression:

Stored size: 1.79 KB

Contents

---
#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());
        }

...

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ceedling-0.31.1 vendor/cmock/test/system/test_interactions/unity_64bit_support.yml
ceedling-0.31.0 vendor/cmock/test/system/test_interactions/unity_64bit_support.yml
ceedling-0.30.0 vendor/cmock/test/system/test_interactions/unity_64bit_support.yml
ceedling-0.28.3 vendor/cmock/test/system/test_interactions/unity_64bit_support.yml
ceedling-0.28.2 vendor/cmock/test/system/test_interactions/unity_64bit_support.yml
ceedling-0.28.1 vendor/cmock/test/system/test_interactions/unity_64bit_support.yml
ceedling-0.27.0 vendor/cmock/test/system/test_interactions/unity_64bit_support.yml
ceedling-0.25.0 vendor/cmock/test/system/test_interactions/unity_64bit_support.yml