Skip to content

Commit

Permalink
Align assertion statements; change some stderr to stdout and flush
Browse files Browse the repository at this point in the history
  • Loading branch information
pianistrevor committed Feb 23, 2022
1 parent 21b63e6 commit 4bf8b53
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 34 deletions.
29 changes: 15 additions & 14 deletions cpp/unittest/ArduinoUnitTests.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,24 +49,20 @@ class Test
~ReporterTAP() {}

void onTestRunInit(int numTests) {
cerr << "TAP version 13" << endl;
cerr << 1 << ".." << numTests << endl; // we know how many tests, in advance
cout << "TAP version 13" << endl << flush;
cout << 1 << ".." << numTests << endl << flush; // we know how many tests, in advance
mTestCounter = 0;
}

void onTestStart(TestData td) {
mAssertCounter = 0;
++mTestCounter;
cerr << "# Subtest: " << td.name << endl;
cout << "# Subtest: " << td.name << endl << flush;
}

void onTestEnd(TestData td) {
cerr << " 1.." << mAssertCounter << endl;
if (td.result == RESULT_PASS) {
cerr << "ok " << mTestCounter << " - " << td.name << endl;
} else {
cerr << "not ok " << mTestCounter << " - " << td.name << endl;
}
cout << " 1.." << mAssertCounter << endl << flush;
cout << (td.result == RESULT_PASS ? "ok " : "not ok ") << mTestCounter << " - " << td.name << endl << flush;
}

// non-comparative assert
Expand All @@ -76,8 +72,10 @@ class Test
const char* description,
bool pass
) {
cerr << " " << (pass ? "" : "not ") << "ok " << ++mAssertCounter << " - " << description << endl;
if (!pass) {
if (pass) {
cout << " ok " << ++mAssertCounter << " - " << description << endl << flush;
} else {
cout << " not ok " << ++mAssertCounter << " - " << description << endl << flush;
cerr << " ---" << endl;
cerr << " at:" << endl;
cerr << " file: " << file << endl;
Expand All @@ -99,9 +97,12 @@ class Test
const char* rhsLabel,
const B &rhs
) {
cerr << " " << (pass ? "" : "not ") << "ok " << ++mAssertCounter << " - ";
cerr << description << " " << lhsLabel << " " << opLabel << " " << rhsLabel << endl;
if (!pass) {
if (pass) {
cout << " ok " << ++mAssertCounter << " - ";
cout << description << " " << lhsLabel << " " << opLabel << " " << rhsLabel << endl << flush;
} else {
cout << " not ok " << ++mAssertCounter << " - ";
cout << description << " " << lhsLabel << " " << opLabel << " " << rhsLabel << endl << flush;
cerr << " ---" << endl;
cerr << " operator: " << opLabel << endl;
cerr << " " << lhsRelevance << ": " << lhs << endl;
Expand Down
40 changes: 20 additions & 20 deletions cpp/unittest/Assertion.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,17 +44,17 @@
#define assertFalse(arg) arduinoCITestBehaviorExp(false, "False " #arg, !(arg))
#define assertNull(arg) arduinoCITestBehaviorExp(false, "Null " #arg, ((void*)NULL == (void*)(arg)))
#define assertNotNull(arg) arduinoCITestBehaviorExp(false, "NotNull " #arg, ((void*)NULL != (void*)(arg)))
#define assertEqual(arg1,arg2) arduinoCIAssertOp("Equal","expected",arg1,compareEqual,"==","actual",arg2)
#define assertNotEqual(arg1,arg2) arduinoCIAssertOp("NotEqual","unwanted",arg1,compareNotEqual,"!=","actual",arg2)
#define assertComparativeEquivalent(arg1,arg2) arduinoCIAssertOp("ComparativeEquivalent","expected",arg1,compareEquivalent,"!<>","actual",arg2)
#define assertComparativeNotEquivalent(arg1,arg2) arduinoCIAssertOp("ComparativeNotEquivalent","unwanted",arg1,compareNotEquivalent,"<>","actual",arg2)
#define assertLess(arg1,arg2) arduinoCIAssertOp("Less","lowerBound",arg1,compareLess,"<","actual",arg2)
#define assertMore(arg1,arg2) arduinoCIAssertOp("More","upperBound",arg1,compareMore,">","actual",arg2)
#define assertLessOrEqual(arg1,arg2) arduinoCIAssertOp("LessOrEqual","lowerBound",arg1,compareLessOrEqual,"<=","actual",arg2)
#define assertMoreOrEqual(arg1,arg2) arduinoCIAssertOp("MoreOrEqual","upperBound",arg1,compareMoreOrEqual,">=","actual",arg2)
#define assertEqual(arg1,arg2) arduinoCIAssertOp("Equal","expected",arg1,compareEqual,"=="," actual",arg2)
#define assertNotEqual(arg1,arg2) arduinoCIAssertOp("NotEqual","unwanted",arg1,compareNotEqual,"!="," actual",arg2)
#define assertComparativeEquivalent(arg1,arg2) arduinoCIAssertOp("ComparativeEquivalent","expected",arg1,compareEquivalent,"!<>"," actual",arg2)
#define assertComparativeNotEquivalent(arg1,arg2) arduinoCIAssertOp("ComparativeNotEquivalent","unwanted",arg1,compareNotEquivalent,"<>"," actual",arg2)
#define assertLess(arg1,arg2) arduinoCIAssertOp("Less","lowerBound",arg1,compareLess,"<"," actual",arg2)
#define assertMore(arg1,arg2) arduinoCIAssertOp("More","upperBound",arg1,compareMore,">"," actual",arg2)
#define assertLessOrEqual(arg1,arg2) arduinoCIAssertOp("LessOrEqual","lowerBound",arg1,compareLessOrEqual,"<="," actual",arg2)
#define assertMoreOrEqual(arg1,arg2) arduinoCIAssertOp("MoreOrEqual","upperBound",arg1,compareMoreOrEqual,">="," actual",arg2)

#define assertEqualFloat(arg1, arg2, arg3) arduinoCIAssertOp("EqualFloat", "epsilon", arg3, compareMoreOrEqual, ">=", "actualDifference", fabs(arg1 - arg2))
#define assertNotEqualFloat(arg1, arg2, arg3) arduinoCIAssertOp("NotEqualFloat", "epsilon", arg3, compareLessOrEqual, "<=", "insufficientDifference", fabs(arg1 - arg2))
#define assertEqualFloat(arg1, arg2, arg3) arduinoCIAssertOp("EqualFloat", " epsilon", arg3, compareMoreOrEqual, ">=", "actualDifference", fabs(arg1 - arg2))
#define assertNotEqualFloat(arg1, arg2, arg3) arduinoCIAssertOp("NotEqualFloat", " epsilon", arg3, compareLessOrEqual, "<=", "insufficientDifference", fabs(arg1 - arg2))
#define assertInfinity(arg) arduinoCITestBehaviorExp(false, "Infinity " #arg, isinf(arg))
#define assertNotInfinity(arg) arduinoCITestBehaviorExp(false, "NotInfinity " #arg, !isinf(arg))
#define assertNAN(arg) arduinoCITestBehaviorExp(false, "NAN " #arg, isnan(arg))
Expand All @@ -66,17 +66,17 @@
#define assureFalse(arg) arduinoCITestBehaviorExp(true, "False " #arg, !(arg))
#define assureNull(arg) arduinoCITestBehaviorExp(true, "Null " #arg, ((void*)NULL == (void*)(arg)))
#define assureNotNull(arg) arduinoCITestBehaviorExp(true, "NotNull " #arg, ((void*)NULL != (void*)(arg)))
#define assureEqual(arg1,arg2) arduinoCIAssureOp("Equal","expected",arg1,compareEqual,"==","actual",arg2)
#define assureNotEqual(arg1,arg2) arduinoCIAssureOp("NotEqual","unwanted",arg1,compareNotEqual,"!=","actual",arg2)
#define assureComparativeEquivalent(arg1,arg2) arduinoCIAssureOp("ComparativeEquivalent","expected",arg1,compareEquivalent,"!<>","actual",arg2)
#define assureComparativeNotEquivalent(arg1,arg2) arduinoCIAssureOp("ComparativeNotEquivalent","unwanted",arg1,compareNotEquivalent,"<>","actual",arg2)
#define assureLess(arg1,arg2) arduinoCIAssureOp("Less","lowerBound",arg1,compareLess,"<","actual",arg2)
#define assureMore(arg1,arg2) arduinoCIAssureOp("More","upperBound",arg1,compareMore,">","actual",arg2)
#define assureLessOrEqual(arg1,arg2) arduinoCIAssureOp("LessOrEqual","lowerBound",arg1,compareLessOrEqual,"<=","actual",arg2)
#define assureMoreOrEqual(arg1,arg2) arduinoCIAssureOp("MoreOrEqual","upperBound",arg1,compareMoreOrEqual,">=","actual",arg2)
#define assureEqual(arg1,arg2) arduinoCIAssureOp("Equal","expected",arg1,compareEqual,"=="," actual",arg2)
#define assureNotEqual(arg1,arg2) arduinoCIAssureOp("NotEqual","unwanted",arg1,compareNotEqual,"!="," actual",arg2)
#define assureComparativeEquivalent(arg1,arg2) arduinoCIAssureOp("ComparativeEquivalent","expected",arg1,compareEquivalent,"!<>"," actual",arg2)
#define assureComparativeNotEquivalent(arg1,arg2) arduinoCIAssureOp("ComparativeNotEquivalent","unwanted",arg1,compareNotEquivalent,"<>"," actual",arg2)
#define assureLess(arg1,arg2) arduinoCIAssureOp("Less","lowerBound",arg1,compareLess,"<"," actual",arg2)
#define assureMore(arg1,arg2) arduinoCIAssureOp("More","upperBound",arg1,compareMore,">"," actual",arg2)
#define assureLessOrEqual(arg1,arg2) arduinoCIAssureOp("LessOrEqual","lowerBound",arg1,compareLessOrEqual,"<="," actual",arg2)
#define assureMoreOrEqual(arg1,arg2) arduinoCIAssureOp("MoreOrEqual","upperBound",arg1,compareMoreOrEqual,">="," actual",arg2)

#define assureEqualFloat(arg1, arg2, arg3) arduinoCIAssureOp("EqualFloat", "epsilon", arg3, compareMoreOrEqual, ">=", "actualDifference", fabs(arg1 - arg2))
#define assureNotEqualFloat(arg1, arg2, arg3) arduinoCIAssureOp("NotEqualFloat", "epsilon", arg3, compareLessOrEqual, "<=", "insufficientDifference", fabs(arg1 - arg2))
#define assureEqualFloat(arg1, arg2, arg3) arduinoCIAssureOp("EqualFloat", " epsilon", arg3, compareMoreOrEqual, ">=", "actualDifference", fabs(arg1 - arg2))
#define assureNotEqualFloat(arg1, arg2, arg3) arduinoCIAssureOp("NotEqualFloat", " epsilon", arg3, compareLessOrEqual, "<=", "insufficientDifference", fabs(arg1 - arg2))
#define assureInfinity(arg) arduinoCITestBehaviorExp(true, "Infinity " #arg, isinf(arg))
#define assureNotInfinity(arg) arduinoCITestBehaviorExp(true, "NotInfinity " #arg, !isinf(arg))
#define assureNAN(arg) arduinoCITestBehaviorExp(true, "NAN " #arg, isnan(arg))
Expand Down

0 comments on commit 4bf8b53

Please sign in to comment.