AUnit  1.5.5
Unit testing framework for Arduino platforms inspired by ArduinoUnit and Google Test.
Macros
MetaAssertMacros.h File Reference
#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)

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)

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.

AUNIT_FPSTR
#define AUNIT_FPSTR(pstr)
The FPSTR() macro is defined on ESP8266 and ESP32, but not on other platforms (e.g.
Definition: Flash.h:78
assertTestStatusInternalF
#define assertTestStatusInternalF(testClass, name, method, message)
Internal helper macro, shouldn't be called directly by users.
Definition: MetaAssertMacros.h:330