From eca87e5ee54f688372d2d34ee51dc3f72947d604 Mon Sep 17 00:00:00 2001 From: hathach Date: Thu, 31 Jan 2013 11:05:33 +0700 Subject: add ASSERT_BIN8 and its test code add some common api for task in osal.h for mocking --- tinyusb/common/assertion.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'tinyusb/common') diff --git a/tinyusb/common/assertion.h b/tinyusb/common/assertion.h index 211a96073..5d26311fd 100644 --- a/tinyusb/common/assertion.h +++ b/tinyusb/common/assertion.h @@ -146,6 +146,24 @@ extern "C" //--------------------------------------------------------------------+ // 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 -- cgit v1.3.1