XCORE SDK
XCORE Software Development Kit
tst_asserts.h
1 // Copyright 2020-2021 XMOS LIMITED.
2 // This Software is subject to the terms of the XMOS Public Licence: Version 1.
3 
4 #pragma once
5 
6 #include <stdint.h>
7 
8 #define XTEST_ASSERT_S16_EQUAL(EXPECTED, ACTUAL, FMT, ...) \
9  do { \
10  if(((int16_t)(EXPECTED)) != ((int16_t)(ACTUAL))) { \
11  printf("\n" FMT, __VA_ARGS__ ); \
12  } \
13  TEST_ASSERT_EQUAL_INT16_MESSAGE((EXPECTED), (ACTUAL),""); \
14  } while(0)
15 
16 
17 
18 #define XTEST_ASSERT_S32_EQUAL(EXPECTED, ACTUAL, FMT, ...) \
19  do { \
20  if(((int32_t)(EXPECTED)) != ((int32_t)(ACTUAL))) { \
21  printf(FMT, __VA_ARGS__ ); \
22  } \
23  TEST_ASSERT_EQUAL_INT32_MESSAGE((EXPECTED), (ACTUAL), ""); \
24  } while(0)
25 
26 
27 
28 #define XTEST_ASSERT_S64_EQUAL(EXPECTED, ACTUAL, FMT, ...) \
29  do { \
30  if(((int64_t)(EXPECTED)) != ((int64_t)(ACTUAL))) { \
31  printf(FMT, __VA_ARGS__ ); \
32  } \
33  TEST_ASSERT_EQUAL_INT64_MESSAGE((EXPECTED), (ACTUAL), ""); \
34  } while(0)
35 
36 
37 
38 #define XTEST_ASSERT_VECT_S16_EQUAL(EXPECTED, ACTUAL, LEN, FMT, ...) \
39  do { \
40  for(int i = 0; i < (LEN); i++) { \
41  if(((int16_t)(EXPECTED)[i]) != ((int16_t)(ACTUAL)[i])) { \
42  printf("\n*** %s[%d] != %s[%d] ***\n", #EXPECTED, i, #ACTUAL, i); \
43  printf(FMT, __VA_ARGS__ ); \
44  } \
45  TEST_ASSERT_EQUAL_INT16_MESSAGE((EXPECTED)[i], (ACTUAL)[i],""); \
46  } \
47  } while(0)
48 
49 
50 #define XTEST_ASSERT_VECT_S32_EQUAL(EXPECTED, ACTUAL, LEN, FMT, ...) \
51  do { \
52  for(int i = 0; i < (LEN); i++) { \
53  if(((int32_t)(EXPECTED)[i]) != ((int32_t)(ACTUAL)[i])) { \
54  printf("\n*** %s[%d] != %s[%d] ***\n", #EXPECTED, i, #ACTUAL, i); \
55  printf(FMT, __VA_ARGS__ ); \
56  } \
57  TEST_ASSERT_EQUAL_INT32_MESSAGE((EXPECTED)[i], (ACTUAL)[i],""); \
58  } \
59  } while(0)
60