AUnit  1.7.1
Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.
Macros
MetaAssertMacros.h File Reference

Various assertTestXxx(), checkTestXxx(), assertTestXxxF() and checkTestXxxF() macros are defined in this header. More...

#include "Flash.h"
Include dependency graph for MetaAssertMacros.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define checkTestDone(...)
 Return true if test 'name' is done. More...
 
#define get_checkTestDone(_1, _2, NAME, ...)   NAME
 
#define checkTestDone1(name)   (test_##name##_instance.isDone())
 
#define checkTestDone2(testSuite, name)   (testSuite##_##name##_instance.isDone())
 
#define checkTestNotDone(...)
 Return true if test 'name' is not done. More...
 
#define get_checkTestNotDone(_1, _2, NAME, ...)   NAME
 
#define checkTestNotDone1(name)   (test_##name##_instance.isNotDone())
 
#define checkTestNotDone2(testSuite, name)   (testSuite##_##name##_instance.isNotDone())
 
#define checkTestPass(...)
 Return true if test 'name' has passed. More...
 
#define get_checkTestPass(_1, _2, NAME, ...)   NAME
 
#define checkTestPass1(name)   (test_##name##_instance.isPassed())
 
#define checkTestPass2(testSuite, name)   (testSuite##_##name##_instance.isPassed())
 
#define checkTestNotPass(...)
 Return true if test 'name' has not passed. More...
 
#define get_checkTestNotPass(_1, _2, NAME, ...)   NAME
 
#define checkTestNotPass1(name)   (test_##name##_instance.isNotPassed())
 
#define checkTestNotPass2(testSuite, name)   (testSuite##_##name##_instance.isNotPassed())
 
#define checkTestFail(...)
 Return true if test 'name' has failed. More...
 
#define get_checkTestFail(_1, _2, NAME, ...)   NAME
 
#define checkTestFail1(name)   (test_##name##_instance.isFailed())
 
#define checkTestFail2(testSuite, name)   (testSuite##_##name##_instance.isFailed())
 
#define checkTestNotFail(...)
 Return true if test 'name' has not failed. More...
 
#define get_checkTestNotFail(_1, _2, NAME, ...)   NAME
 
#define checkTestNotFail1(name)   (test_##name##_instance.isNotFailed())
 
#define checkTestNotFail2(testSuite, name)   (testSuite##_##name##_instance.isNotFailed())
 
#define checkTestSkip(...)
 Return true if test 'name' has been skipped. More...
 
#define get_checkTestSkip(_1, _2, NAME, ...)   NAME
 
#define checkTestSkip1(name)   (test_##name##_instance.isSkipped())
 
#define checkTestSkip2(testSuite, name)   (testSuite##_##name##_instance.isSkipped())
 
#define checkTestNotSkip(...)
 Return true if test 'name' has not been skipped. More...
 
#define get_checkTestNotSkip(_1, _2, NAME, ...)   NAME
 
#define checkTestNotSkip1(name)   (test_##name##_instance.isNotSkipped())
 
#define checkTestNotSkip2(testSuite, name)   (testSuite##_##name##_instance.isNotSkipped())
 
#define checkTestExpire(...)
 Return true if test 'name' has timed out. More...
 
#define get_checkTestExpire(_1, _2, NAME, ...)   NAME
 
#define checkTestExpire1(name)   (test_##name##_instance.isExpired())
 
#define checkTestExpire2(testSuite, name)   (testSuite##_##name##_instance.isExpired())
 
#define checkTestNotExpire(...)
 Return true if test 'name' has not timed out. More...
 
#define get_checkTestNotExpire(_1, _2, NAME, ...)   NAME
 
#define checkTestNotExpire1(name)   (test_##name##_instance.isNotExpired())
 
#define checkTestNotExpire2(testSuite, name)   (testSuite##_##name##_instance.isNotExpired())
 
#define assertTestDone(...)
 Assert that test 'name' is done. More...
 
#define get_assertTestDone(_1, _2, NAME, ...)   NAME
 
#define assertTestDone1(name)    assertTestStatusInternal1(name, isDone, kMessageDone)
 
#define assertTestDone2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isDone, kMessageDone)
 
#define assertTestNotDone(...)
 Assert that test 'name' is not done. More...
 
#define get_assertTestNotDone(_1, _2, NAME, ...)   NAME
 
#define assertTestNotDone1(name)    assertTestStatusInternal1(name, isNotDone, kMessageNotDone)
 
#define assertTestNotDone2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isNotDone, kMessageNotDone)
 
#define assertTestPass(...)
 Assert that test 'name' has passed. More...
 
#define get_assertTestPass(_1, _2, NAME, ...)   NAME
 
#define assertTestPass1(name)    assertTestStatusInternal1(name, isPassed, kMessagePassed)
 
#define assertTestPass2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isPassed, kMessagePassed)
 
#define assertTestNotPass(...)
 Assert that test 'name' has not passed. More...
 
#define get_assertTestNotPass(_1, _2, NAME, ...)   NAME
 
#define assertTestNotPass1(name)    assertTestStatusInternal1(name, isNotPassed, kMessageNotPassed)
 
#define assertTestNotPass2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isNotPassed, kMessageNotPassed)
 
#define assertTestFail(...)
 Assert that test 'name' has failed. More...
 
#define get_assertTestFail(_1, _2, NAME, ...)   NAME
 
#define assertTestFail1(name)    assertTestStatusInternal1(name, isFailed, kMessageFailed)
 
#define assertTestFail2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isFailed, kMessageFailed)
 
#define assertTestNotFail(...)
 Assert that test 'name' has not failed. More...
 
#define get_assertTestNotFail(_1, _2, NAME, ...)   NAME
 
#define assertTestNotFail1(name)    assertTestStatusInternal1(name, isNotFailed, kMessageNotFailed)
 
#define assertTestNotFail2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isNotFailed, kMessageNotFailed)
 
#define assertTestSkip(...)
 Assert that test 'name' has been skipped. More...
 
#define get_assertTestSkip(_1, _2, NAME, ...)   NAME
 
#define assertTestSkip1(name)    assertTestStatusInternal1(name, isSkipped, kMessageSkipped)
 
#define assertTestSkip2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isSkipped, kMessageSkipped)
 
#define assertTestNotSkip(...)
 Assert that test 'name' has not been skipped. More...
 
#define get_assertTestNotSkip(_1, _2, NAME, ...)   NAME
 
#define assertTestNotSkip1(name)    assertTestStatusInternal1(name, isNotSkipped, kMessageNotSkipped)
 
#define assertTestNotSkip2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isNotSkipped, kMessageNotSkipped)
 
#define assertTestExpire(...)
 Assert that test 'name' has timed out. More...
 
#define get_assertTestExpire(_1, _2, NAME, ...)   NAME
 
#define assertTestExpire1(name)    assertTestStatusInternal1(name, isExpired, kMessageExpired)
 
#define assertTestExpire2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isExpired, kMessageExpired)
 
#define assertTestNotExpire(...)
 Assert that test 'name' has not timed out. More...
 
#define get_assertTestNotExpire(_1, _2, NAME, ...)   NAME
 
#define assertTestNotExpire1(name)    assertTestStatusInternal1(name, isNotExpired, kMessageNotExpired)
 
#define assertTestNotExpire2(testSuite, name)    assertTestStatusInternal2(testSuite, name, isNotExpired, kMessageNotExpired)
 
#define assertTestStatusInternal1(name, method, message)
 Internal helper macro, shouldn't be called directly by users. More...
 
#define assertTestStatusInternal2(testSuite, name, method, message)
 
#define checkTestDoneF(testClass, name)    (testClass##_##name##_instance.isDone())
 Return true if test 'name' is done.
 
#define checkTestNotDoneF(testClass, name)    (testClass##_##name##_instance.isNotDone())
 Return true if test 'name' is not done.
 
#define checkTestPassF(testClass, name)    (testClass##_##name##_instance.isPassed())
 Return true if test 'name' has passed.
 
#define checkTestNotPassF(testClass, name)    (testClass##_##name##_instance.isNotPassed())
 Return true if test 'name' has not passed.
 
#define checkTestFailF(testClass, name)    (testClass##_##name##_instance.isFailed())
 Return true if test 'name' has failed.
 
#define checkTestNotFailF(testClass, name)    (testClass##_##name##_instance.isNotFailed())
 Return true if test 'name' has not failed.
 
#define checkTestSkipF(testClass, name)    (testClass##_##name##_instance.isSkipped())
 Return true if test 'name' has been skipped.
 
#define checkTestNotSkipF(testClass, name)    (testClass##_##name##_instance.isNotSkipped())
 Return true if test 'name' has not been skipped.
 
#define checkTestExpireF(testClass, name)    (testClass##_##name##_instance.isExpired())
 Return true if test 'name' has timed out.
 
#define checkTestNotExpireF(testClass, name)    (testClass##_##name##_instance.isNotExpired())
 Return true if test 'name' has not timed out.
 
#define assertTestDoneF(testClass, name)    assertTestStatusInternalF(testClass, name, isDone, kMessageDone)
 Assert that test 'name' is done.
 
#define assertTestNotDoneF(testClass, name)    assertTestStatusInternalF(testClass, name, isNotDone, kMessageNotDone)
 Assert that test 'name' is not done.
 
#define assertTestPassF(testClass, name)    assertTestStatusInternalF(testClass, name, isPassed, kMessagePassed)
 Assert that test 'name' has passed.
 
#define assertTestNotPassF(testClass, name)    assertTestStatusInternalF(testClass, name, isNotPassed, kMessageNotPassed)
 Assert that test 'name' has not passed.
 
#define assertTestFailF(testClass, name)    assertTestStatusInternalF(testClass, name, isFailed, kMessageFailed)
 Assert that test 'name' has failed.
 
#define assertTestNotFailF(testClass, name)    assertTestStatusInternalF(testClass, name, isNotFailed, kMessageNotFailed)
 Assert that test 'name' has not failed.
 
#define assertTestSkipF(testClass, name)    assertTestStatusInternalF(testClass, name, isSkipped, kMessageSkipped)
 Assert that test 'name' has been skipped.
 
#define assertTestNotSkipF(testClass, name)
 Assert that test 'name' has not been skipped. More...
 
#define assertTestExpireF(testClass, name)    assertTestStatusInternalF(testClass, name, isExpired, kMessageExpired)
 Assert that test 'name' has timed out.
 
#define assertTestNotExpireF(testClass, name)
 Assert that test 'name' has not timed out. More...
 
#define assertTestStatusInternalF(testClass, name, method, message)
 Internal helper macro, shouldn't be called directly by users. More...
 
#define failTestNow()
 Fail the current test, return immediately, and print a status message. More...
 
#define passTestNow()
 Pass the current test, print a status message, and return immediately. More...
 
#define skipTestNow()
 Skip the current test, print a status message, and return immediately. More...
 
#define expireTestNow()
 Expire the current test, print a status message, and return immediately. More...
 

Detailed Description

Various assertTestXxx(), checkTestXxx(), assertTestXxxF() and checkTestXxxF() macros are defined in this header.

Definition in file MetaAssertMacros.h.

Macro Definition Documentation

◆ assertTestDone

#define assertTestDone (   ...)
Value:
get_assertTestDone(__VA_ARGS__, assertTestDone2, assertTestDone1)\
(__VA_ARGS__)

Assert that test 'name' is done.

Definition at line 127 of file MetaAssertMacros.h.

◆ assertTestExpire

#define assertTestExpire (   ...)
Value:
get_assertTestExpire(__VA_ARGS__, assertTestExpire2, assertTestExpire1)\
(__VA_ARGS__)

Assert that test 'name' has timed out.

Definition at line 207 of file MetaAssertMacros.h.

◆ assertTestFail

#define assertTestFail (   ...)
Value:
get_assertTestFail(__VA_ARGS__, assertTestFail2, assertTestFail1)\
(__VA_ARGS__)

Assert that test 'name' has failed.

Definition at line 167 of file MetaAssertMacros.h.

◆ assertTestNotDone

#define assertTestNotDone (   ...)
Value:
get_assertTestNotDone(__VA_ARGS__, assertTestNotDone2, assertTestNotDone1)\
(__VA_ARGS__)

Assert that test 'name' is not done.

Definition at line 137 of file MetaAssertMacros.h.

◆ assertTestNotExpire

#define assertTestNotExpire (   ...)
Value:
get_assertTestNotExpire(__VA_ARGS__, assertTestNotExpire2, assertTestNotExpire1)\
(__VA_ARGS__)

Assert that test 'name' has not timed out.

Definition at line 217 of file MetaAssertMacros.h.

◆ assertTestNotExpireF

#define assertTestNotExpireF (   testClass,
  name 
)
Value:
assertTestStatusInternalF(testClass, name, isNotExpired, \
kMessageNotExpired)
#define assertTestStatusInternalF(testClass, name, method, message)
Internal helper macro, shouldn't be called directly by users.

Assert that test 'name' has not timed out.

Definition at line 325 of file MetaAssertMacros.h.

◆ assertTestNotFail

#define assertTestNotFail (   ...)
Value:
get_assertTestNotFail(__VA_ARGS__, assertTestNotFail2, assertTestNotFail1)\
(__VA_ARGS__)

Assert that test 'name' has not failed.

Definition at line 177 of file MetaAssertMacros.h.

◆ assertTestNotPass

#define assertTestNotPass (   ...)
Value:
get_assertTestNotPass(__VA_ARGS__, assertTestNotPass2, assertTestNotPass1)\
(__VA_ARGS__)

Assert that test 'name' has not passed.

Definition at line 157 of file MetaAssertMacros.h.

◆ assertTestNotSkip

#define assertTestNotSkip (   ...)
Value:
get_assertTestNotSkip(__VA_ARGS__, assertTestNotSkip2, assertTestNotSkip1)\
(__VA_ARGS__)

Assert that test 'name' has not been skipped.

Definition at line 197 of file MetaAssertMacros.h.

◆ assertTestNotSkipF

#define assertTestNotSkipF (   testClass,
  name 
)
Value:
assertTestStatusInternalF(testClass, name, isNotSkipped, \
kMessageNotSkipped)

Assert that test 'name' has not been skipped.

Definition at line 316 of file MetaAssertMacros.h.

◆ assertTestPass

#define assertTestPass (   ...)
Value:
get_assertTestPass(__VA_ARGS__, assertTestPass2, assertTestPass1)\
(__VA_ARGS__)

Assert that test 'name' has passed.

Definition at line 147 of file MetaAssertMacros.h.

◆ assertTestSkip

#define assertTestSkip (   ...)
Value:
get_assertTestSkip(__VA_ARGS__, assertTestSkip2, assertTestSkip1)\
(__VA_ARGS__)

Assert that test 'name' has been skipped.

Definition at line 187 of file MetaAssertMacros.h.

◆ assertTestStatusInternal1

#define assertTestStatusInternal1 (   name,
  method,
  message 
)
Value:
do {\
if (!assertionTestStatus(\
__FILE__,__LINE__,#name,AUNIT_FPSTR(message),\
test_##name##_instance.method()))\
return;\
} while (false)
#define AUNIT_FPSTR(pstr)
The FPSTR() macro is defined on ESP8266 and ESP32, but not on other platforms (e.g.
Definition: Flash.h:77

Internal helper macro, shouldn't be called directly by users.

Definition at line 227 of file MetaAssertMacros.h.

◆ assertTestStatusInternal2

#define assertTestStatusInternal2 (   testSuite,
  name,
  method,
  message 
)
Value:
do {\
if (!assertionTestStatus(\
__FILE__,__LINE__,#testSuite "_" #name,AUNIT_FPSTR(message),\
testSuite##_##name##_instance.method()))\
return;\
} while (false)

Definition at line 234 of file MetaAssertMacros.h.

◆ assertTestStatusInternalF

#define assertTestStatusInternalF (   testClass,
  name,
  method,
  message 
)
Value:
do {\
if (!assertionTestStatus(__FILE__, __LINE__, #name, AUNIT_FPSTR(message),\
testClass##_##name##_instance.method()))\
return;\
} while (false)

Internal helper macro, shouldn't be called directly by users.

Definition at line 330 of file MetaAssertMacros.h.

◆ checkTestDone

#define checkTestDone (   ...)
Value:
get_checkTestDone(__VA_ARGS__, checkTestDone2, checkTestDone1)\
(__VA_ARGS__)

Return true if test 'name' is done.

Definition at line 44 of file MetaAssertMacros.h.

◆ checkTestExpire

#define checkTestExpire (   ...)
Value:
get_checkTestExpire(__VA_ARGS__, checkTestExpire2, checkTestExpire1)\
(__VA_ARGS__)

Return true if test 'name' has timed out.

Definition at line 108 of file MetaAssertMacros.h.

◆ checkTestFail

#define checkTestFail (   ...)
Value:
get_checkTestFail(__VA_ARGS__, checkTestFail2, checkTestFail1)\
(__VA_ARGS__)

Return true if test 'name' has failed.

Definition at line 76 of file MetaAssertMacros.h.

◆ checkTestNotDone

#define checkTestNotDone (   ...)
Value:
get_checkTestNotDone(__VA_ARGS__, checkTestNotDone2, checkTestNotDone1)\
(__VA_ARGS__)

Return true if test 'name' is not done.

Definition at line 52 of file MetaAssertMacros.h.

◆ checkTestNotExpire

#define checkTestNotExpire (   ...)
Value:
get_checkTestNotExpire(__VA_ARGS__, checkTestNotExpire2, checkTestNotExpire1)\
(__VA_ARGS__)

Return true if test 'name' has not timed out.

Definition at line 116 of file MetaAssertMacros.h.

◆ checkTestNotFail

#define checkTestNotFail (   ...)
Value:
get_checkTestNotFail(__VA_ARGS__, checkTestNotFail2, checkTestNotFail1)\
(__VA_ARGS__)

Return true if test 'name' has not failed.

Definition at line 84 of file MetaAssertMacros.h.

◆ checkTestNotPass

#define checkTestNotPass (   ...)
Value:
get_checkTestNotPass(__VA_ARGS__, checkTestNotPass2, checkTestNotPass1)\
(__VA_ARGS__)

Return true if test 'name' has not passed.

Definition at line 68 of file MetaAssertMacros.h.

◆ checkTestNotSkip

#define checkTestNotSkip (   ...)
Value:
get_checkTestNotSkip(__VA_ARGS__, checkTestNotSkip2, checkTestNotSkip1)\
(__VA_ARGS__)

Return true if test 'name' has not been skipped.

Definition at line 100 of file MetaAssertMacros.h.

◆ checkTestPass

#define checkTestPass (   ...)
Value:
get_checkTestPass(__VA_ARGS__, checkTestPass2, checkTestPass1)\
(__VA_ARGS__)

Return true if test 'name' has passed.

Definition at line 60 of file MetaAssertMacros.h.

◆ checkTestSkip

#define checkTestSkip (   ...)
Value:
get_checkTestSkip(__VA_ARGS__, checkTestSkip2, checkTestSkip1)\
(__VA_ARGS__)

Return true if test 'name' has been skipped.

Definition at line 92 of file MetaAssertMacros.h.

◆ expireTestNow

#define expireTestNow ( )
Value:
do {\
setStatusNow(__FILE__, __LINE__, kStatusExpired,\
AUNIT_FPSTR(kMessageExpired));\
return;\
} while (false)

Expire the current test, print a status message, and return immediately.

Similar to Test::expire() except that this prints a status message.

Definition at line 371 of file MetaAssertMacros.h.

◆ failTestNow

#define failTestNow ( )
Value:
do {\
setStatusNow(__FILE__, __LINE__, kStatusFailed, AUNIT_FPSTR(kMessageFailed));\
return;\
} while (false)

Fail the current test, return immediately, and print a status message.

Similar to Test::fail() except that this prints a status message.

Definition at line 343 of file MetaAssertMacros.h.

◆ passTestNow

#define passTestNow ( )
Value:
do {\
setStatusNow(__FILE__, __LINE__, kStatusPassed, AUNIT_FPSTR(kMessagePassed));\
return;\
} while (false)

Pass the current test, print a status message, and return immediately.

Similar to Test::pass() except that this prints a status message.

Definition at line 352 of file MetaAssertMacros.h.

◆ skipTestNow

#define skipTestNow ( )
Value:
do {\
setStatusNow(__FILE__, __LINE__, kStatusSkipped,\
AUNIT_FPSTR(kMessageSkipped));\
return;\
} while (false)

Skip the current test, print a status message, and return immediately.

Similar to Test::skip() except that this prints a status message.

Definition at line 361 of file MetaAssertMacros.h.