|
|
|
@ -51,11 +51,11 @@ wait (void) |
|
|
|
#ifdef _DEJAGNU_WAIT_ |
|
|
|
fd_set rfds; |
|
|
|
struct timeval tv; |
|
|
|
|
|
|
|
|
|
|
|
FD_ZERO (&rfds); |
|
|
|
tv.tv_sec = 0; |
|
|
|
tv.tv_usec = 1; |
|
|
|
|
|
|
|
|
|
|
|
select (0, &rfds, NULL, NULL, &tv); |
|
|
|
#endif |
|
|
|
} |
|
|
|
@ -64,7 +64,7 @@ inline void |
|
|
|
pass (const char* fmt, ...) |
|
|
|
{ |
|
|
|
va_list ap; |
|
|
|
|
|
|
|
|
|
|
|
passed++; |
|
|
|
va_start (ap, fmt); |
|
|
|
vsnprintf (buffer, sizeof (buffer), fmt, ap); |
|
|
|
@ -77,7 +77,7 @@ inline void |
|
|
|
xpass (const char* fmt, ...) |
|
|
|
{ |
|
|
|
va_list ap; |
|
|
|
|
|
|
|
|
|
|
|
passed++; |
|
|
|
va_start (ap, fmt); |
|
|
|
vsnprintf (buffer, sizeof (buffer), fmt, ap); |
|
|
|
@ -90,7 +90,7 @@ inline void |
|
|
|
fail (const char* fmt, ...) |
|
|
|
{ |
|
|
|
va_list ap; |
|
|
|
|
|
|
|
|
|
|
|
failed++; |
|
|
|
va_start (ap, fmt); |
|
|
|
vsnprintf (buffer, sizeof (buffer), fmt, ap); |
|
|
|
@ -103,7 +103,7 @@ inline void |
|
|
|
xfail (const char* fmt, ...) |
|
|
|
{ |
|
|
|
va_list ap; |
|
|
|
|
|
|
|
|
|
|
|
failed++; |
|
|
|
va_start (ap, fmt); |
|
|
|
vsnprintf (buffer, sizeof (buffer), fmt, ap); |
|
|
|
@ -116,7 +116,7 @@ inline void |
|
|
|
untested (const char* fmt, ...) |
|
|
|
{ |
|
|
|
va_list ap; |
|
|
|
|
|
|
|
|
|
|
|
untest++; |
|
|
|
va_start (ap, fmt); |
|
|
|
vsnprintf (buffer, sizeof (buffer), fmt, ap); |
|
|
|
@ -129,7 +129,7 @@ inline void |
|
|
|
unresolved (const char* fmt, ...) |
|
|
|
{ |
|
|
|
va_list ap; |
|
|
|
|
|
|
|
|
|
|
|
unresolve++; |
|
|
|
va_start (ap, fmt); |
|
|
|
vsnprintf (buffer, sizeof (buffer), fmt, ap); |
|
|
|
@ -142,7 +142,7 @@ inline void |
|
|
|
note (const char* fmt, ...) |
|
|
|
{ |
|
|
|
va_list ap; |
|
|
|
|
|
|
|
|
|
|
|
va_start (ap, fmt); |
|
|
|
vsnprintf (buffer, sizeof (buffer), fmt, ap); |
|
|
|
va_end (ap); |
|
|
|
@ -206,108 +206,108 @@ class TestState { |
|
|
|
|
|
|
|
void pass (std::string s) |
|
|
|
{ |
|
|
|
passed++; |
|
|
|
laststate = PASSED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[PASSED] << s << std::endl; |
|
|
|
passed++; |
|
|
|
laststate = PASSED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[PASSED] << s << std::endl; |
|
|
|
} |
|
|
|
|
|
|
|
void pass (const char *c) |
|
|
|
{ |
|
|
|
std::string s = c; |
|
|
|
pass (s); |
|
|
|
pass (s); |
|
|
|
} |
|
|
|
|
|
|
|
void xpass (std::string s) |
|
|
|
{ |
|
|
|
xpassed++; |
|
|
|
laststate = PASSED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[XPASSED] << s << std::endl; |
|
|
|
xpassed++; |
|
|
|
laststate = PASSED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[XPASSED] << s << std::endl; |
|
|
|
} |
|
|
|
|
|
|
|
void xpass (const char *c) |
|
|
|
{ |
|
|
|
std::string s = c; |
|
|
|
xpass (s); |
|
|
|
xpass (s); |
|
|
|
} |
|
|
|
|
|
|
|
void fail (std::string s) |
|
|
|
{ |
|
|
|
failed++; |
|
|
|
laststate = FAILED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[FAILED] << s << std::endl; |
|
|
|
failed++; |
|
|
|
laststate = FAILED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[FAILED] << s << std::endl; |
|
|
|
} |
|
|
|
|
|
|
|
void fail (const char *c) |
|
|
|
{ |
|
|
|
std::string s = c; |
|
|
|
fail (s); |
|
|
|
std::string s = c; |
|
|
|
fail (s); |
|
|
|
} |
|
|
|
|
|
|
|
void xfail (std::string s) |
|
|
|
{ |
|
|
|
xfailed++; |
|
|
|
laststate = XFAILED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[XFAILED] << s << std::endl; |
|
|
|
xfailed++; |
|
|
|
laststate = XFAILED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[XFAILED] << s << std::endl; |
|
|
|
} |
|
|
|
|
|
|
|
void xfail (const char *c) |
|
|
|
{ |
|
|
|
std::string s = c; |
|
|
|
xfail (s); |
|
|
|
std::string s = c; |
|
|
|
xfail (s); |
|
|
|
} |
|
|
|
|
|
|
|
void untested (std::string s) |
|
|
|
{ |
|
|
|
untest++; |
|
|
|
laststate = UNTESTED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[UNTESTED] << s << std::endl; |
|
|
|
untest++; |
|
|
|
laststate = UNTESTED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[UNTESTED] << s << std::endl; |
|
|
|
} |
|
|
|
|
|
|
|
void untested (const char *c) |
|
|
|
{ |
|
|
|
std::string s = c; |
|
|
|
untested (s); |
|
|
|
std::string s = c; |
|
|
|
untested (s); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void unresolved (std::string s) |
|
|
|
{ |
|
|
|
unresolve++; |
|
|
|
laststate = UNRESOLVED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[UNRESOLVED] << s << std::endl; |
|
|
|
unresolve++; |
|
|
|
laststate = UNRESOLVED; |
|
|
|
lastmsg = s; |
|
|
|
std::cout << "\t" << outstate[UNRESOLVED] << s << std::endl; |
|
|
|
} |
|
|
|
|
|
|
|
void unresolved (const char *c) |
|
|
|
{ |
|
|
|
std::string s = c; |
|
|
|
unresolved (s); |
|
|
|
std::string s = c; |
|
|
|
unresolved (s); |
|
|
|
} |
|
|
|
|
|
|
|
void totals (void) |
|
|
|
{ |
|
|
|
std::cout << "\t#passed:\t\t" << passed << std::endl; |
|
|
|
std::cout << "\t#real failed:\t\t" << failed << std::endl; |
|
|
|
if (xfailed) |
|
|
|
std::cout << "\t#passed:\t\t" << passed << std::endl; |
|
|
|
std::cout << "\t#real failed:\t\t" << failed << std::endl; |
|
|
|
if (xfailed) |
|
|
|
std::cout << "\t#expected failures:\t\t" << xfailed << std::endl; |
|
|
|
if (xpassed) |
|
|
|
if (xpassed) |
|
|
|
std::cout << "\t#unexpected passes:\t\t" << xpassed << std::endl; |
|
|
|
if (untest) |
|
|
|
if (untest) |
|
|
|
std::cout << "\t#untested:\t\t" << untest << std::endl; |
|
|
|
if (unresolve) |
|
|
|
if (unresolve) |
|
|
|
std::cout << "\t#unresolved:\t\t" << unresolve << std::endl; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// This is so this class can be printed in an ostream.
|
|
|
|
friend std::ostream & operator << (std::ostream &os, TestState& t) |
|
|
|
{ |
|
|
|
return os << "\t" << outstate[t.laststate] << t.lastmsg ; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
int GetState (void) { return laststate; } |
|
|
|
std::string GetMsg (void) { return lastmsg; } |
|
|
|
}; |
|
|
|
|