add ASSERT_BIN8 and its test code
add some common api for task in osal.h for mocking
This commit is contained in:
parent
658b2b970c
commit
eca87e5ee5
|
@ -42,6 +42,7 @@
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "unity.h"
|
#include "unity.h"
|
||||||
#include "CException.h"
|
#include "CException.h"
|
||||||
|
#include "binary.h"
|
||||||
#include "common/assertion.h"
|
#include "common/assertion.h"
|
||||||
#include "errors.h"
|
#include "errors.h"
|
||||||
|
|
||||||
|
@ -270,18 +271,24 @@ void test_assert_hex_within_greater(void)
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
void test_assert_bin_equal(void)
|
void test_assert_bin_equal(void)
|
||||||
{
|
{
|
||||||
// ASSERT_HEX (0xffee, 0xffee, __LINE__);
|
Try
|
||||||
// ASSERT_HEX_EQUAL (0xffee, 0xffee, __LINE__);
|
{
|
||||||
//
|
ASSERT_BIN8 (BIN8(11110000), BIN8(11110000), __LINE__);
|
||||||
// uint32_t x = 0xf0f0;
|
ASSERT_BIN8_EQUAL (BIN8(00001111), BIN8(00001111), __LINE__);
|
||||||
// uint32_t y = 0xf0f0;
|
|
||||||
// ASSERT_HEX (x++, y++, __LINE__); // test side effect
|
|
||||||
// TEST_ASSERT_EQUAL(0xf0f1, x);
|
|
||||||
// TEST_ASSERT_EQUAL(0xf0f1, y);
|
|
||||||
//
|
|
||||||
// ASSERT_HEX(0x1234, 0x4321, __LINE__);
|
|
||||||
|
|
||||||
TEST_IGNORE();
|
// test side effect
|
||||||
|
uint32_t x = BIN8(11001100);
|
||||||
|
uint32_t y = BIN8(11001100);
|
||||||
|
ASSERT_BIN8 (x++, y++, __LINE__);
|
||||||
|
TEST_ASSERT_EQUAL(BIN8(11001101), x);
|
||||||
|
TEST_ASSERT_EQUAL(BIN8(11001101), y);
|
||||||
|
|
||||||
|
ASSERT_BIN8(BIN8(11001111), BIN8(11111100), 0);
|
||||||
|
}
|
||||||
|
Catch(e)
|
||||||
|
{
|
||||||
|
TEST_ASSERT_EQUAL(0, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -146,6 +146,24 @@ extern "C"
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// TODO Bin Assert
|
// TODO Bin Assert
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
#define BIN8_PRINTF_PATTERN "%d%d%d%d%d%d%d%d"
|
||||||
|
#define BIN8_PRINTF_CONVERT(byte) \
|
||||||
|
((byte) & 0x80 ? 1 : 0), \
|
||||||
|
((byte) & 0x40 ? 1 : 0), \
|
||||||
|
((byte) & 0x20 ? 1 : 0), \
|
||||||
|
((byte) & 0x10 ? 1 : 0), \
|
||||||
|
((byte) & 0x08 ? 1 : 0), \
|
||||||
|
((byte) & 0x04 ? 1 : 0), \
|
||||||
|
((byte) & 0x02 ? 1 : 0), \
|
||||||
|
((byte) & 0x01 ? 1 : 0)
|
||||||
|
|
||||||
|
#define ASSERT_BIN8(...) ASSERT_BIN8_EQUAL(__VA_ARGS__)
|
||||||
|
#define ASSERT_BIN8_EQUAL(expected, actual, error)\
|
||||||
|
ASSERT_DEFINE(\
|
||||||
|
uint8_t exp = (expected); uint8_t act = (actual),\
|
||||||
|
exp==act,\
|
||||||
|
error,\
|
||||||
|
"expected " BIN8_PRINTF_PATTERN ", actual " BIN8_PRINTF_PATTERN, BIN8_PRINTF_CONVERT(exp), BIN8_PRINTF_CONVERT(act) )
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// TODO Bit Assert
|
// TODO Bit Assert
|
||||||
|
|
|
@ -76,6 +76,14 @@
|
||||||
|
|
||||||
typedef uint32_t osal_timeout_t;
|
typedef uint32_t osal_timeout_t;
|
||||||
|
|
||||||
|
//------------- Task -------------//
|
||||||
|
#define OSAL_TASK_LOOP
|
||||||
|
#define OSAL_TASK_LOOP_BEGIN
|
||||||
|
#define OSAL_TASK_LOOP_END
|
||||||
|
|
||||||
|
typedef uint32_t osal_task_t;
|
||||||
|
tusb_error_t osal_task_create(osal_task_t *task);
|
||||||
|
|
||||||
//------------- Semaphore -------------//
|
//------------- Semaphore -------------//
|
||||||
typedef uint32_t osal_semaphore_t;
|
typedef uint32_t osal_semaphore_t;
|
||||||
typedef void* osal_semaphore_handle_t;
|
typedef void* osal_semaphore_handle_t;
|
||||||
|
|
|
@ -57,6 +57,8 @@
|
||||||
|
|
||||||
#include "common/common.h"
|
#include "common/common.h"
|
||||||
|
|
||||||
|
//typedef void (*pfTask)( void * );
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
OSAL_TIMEOUT_NOTIMEOUT = 0, // for use within ISR, return immediately
|
OSAL_TIMEOUT_NOTIMEOUT = 0, // for use within ISR, return immediately
|
||||||
|
|
Loading…
Reference in New Issue