mirror of
https://github.com/ThrowTheSwitch/CMock
synced 2025-02-02 10:08:41 -05:00
73 lines
1.7 KiB
YAML
73 lines
1.7 KiB
YAML
# =========================================================================
|
|
# CMock - Automatic Mock Generation for C
|
|
# ThrowTheSwitch.org
|
|
# Copyright (c) 2007-25 Mike Karlesky, Mark VanderVoord, & Greg Williams
|
|
# SPDX-License-Identifier: MIT
|
|
# =========================================================================
|
|
|
|
---
|
|
:cmock:
|
|
:plugins: []
|
|
:treat_as:
|
|
custom_type: INT
|
|
|
|
:systest:
|
|
:types: |
|
|
typedef struct _BIG_FAT_STRUCT_T
|
|
{
|
|
char bytes[512];
|
|
} BIG_FAT_STRUCT_T;
|
|
|
|
:mockable: |
|
|
void foo(BIG_FAT_STRUCT_T a);
|
|
|
|
:source:
|
|
:header: |
|
|
void function_a(void);
|
|
void function_b(void);
|
|
|
|
:code: |
|
|
void function_a(void)
|
|
{
|
|
BIG_FAT_STRUCT_T stuff = { { 8, 0 } };
|
|
foo(stuff);
|
|
}
|
|
|
|
void function_b(void)
|
|
{
|
|
BIG_FAT_STRUCT_T stuff1 = { { 9, 1, 0 } };
|
|
BIG_FAT_STRUCT_T stuff2 = { { 9, 2, 0 } };
|
|
foo(stuff1);
|
|
foo(stuff2);
|
|
}
|
|
|
|
:tests:
|
|
:common: |
|
|
void setUp(void) {}
|
|
void tearDown(void) {}
|
|
|
|
:units:
|
|
- :pass: TRUE
|
|
:should: 'successfully should be able to run function a because it only takes half the memory'
|
|
:code: |
|
|
test()
|
|
{
|
|
BIG_FAT_STRUCT_T expected = { { 8, 0 } };
|
|
foo_Expect(expected);
|
|
function_a();
|
|
}
|
|
|
|
- :pass: FALSE
|
|
:should: 'should error out because we do not have eough memory to handle two of these structures'
|
|
:code: |
|
|
test()
|
|
{
|
|
BIG_FAT_STRUCT_T expected1 = { { 9, 1, 0 } };
|
|
BIG_FAT_STRUCT_T expected2 = { { 9, 2, 0 } };
|
|
foo_Expect(expected1);
|
|
foo_Expect(expected2);
|
|
function_b();
|
|
}
|
|
|
|
...
|