add a special macro for comparing time_t values to fix unit test compilation on platforms with 64 bit time_t (such as FreeBSD 6.2 apparently)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-06-01 13:01:59 +00:00
parent c4e2528835
commit 77fa3d8243
3 changed files with 11 additions and 5 deletions

View File

@@ -104,6 +104,10 @@
} \ } \
} }
// Use this macro to compare the expected time_t value with the result of not
// necessarily time_t type
#define WX_ASSERT_TIME_T_EQUAL(t, n) CPPUNIT_ASSERT_EQUAL((t), (time_t)(n))
// Use this macro to assert with the given formatted message (it should contain // Use this macro to assert with the given formatted message (it should contain
// the format string and arguments in a separate pair of parentheses) // the format string and arguments in a separate pair of parentheses)
#define WX_ASSERT_MESSAGE(msg, cond) \ #define WX_ASSERT_MESSAGE(msg, cond) \

View File

@@ -376,11 +376,13 @@ wxDateTime::Country wxDateTime::ms_country = wxDateTime::Country_Unknown;
// debugger helper: shows what the date really is // debugger helper: shows what the date really is
#ifdef __WXDEBUG__ #ifdef __WXDEBUG__
extern const wxChar *wxDumpDate(const wxDateTime* dt) extern const char *wxDumpDate(const wxDateTime* dt)
{ {
static wxChar buf[128]; static char buf[128];
wxStrcpy(buf, dt->Format(_T("%Y-%m-%d (%a) %H:%M:%S"))); wxString fmt(dt->Format("%Y-%m-%d (%a) %H:%M:%S"));
wxStrncpy(buf, fmt + " (" + dt->GetValue().ToString() + " ticks)",
WXSIZEOF(buf));
return buf; return buf;
} }

View File

@@ -737,11 +737,11 @@ void DateTimeTestCase::TestTimeTicks()
// ignore DST, the test data already takes it into account // ignore DST, the test data already takes it into account
dt.MakeTimezone(TZ_TEST, true); dt.MakeTimezone(TZ_TEST, true);
long ticks = (dt.GetValue() / 1000).ToLong(); long ticks = (dt.GetValue() / 1000).ToLong();
CPPUNIT_ASSERT_EQUAL( d.ticks, ticks + tzOffset ); WX_ASSERT_TIME_T_EQUAL( d.ticks, ticks + tzOffset );
dt = d.DT().FromTimezone(wxDateTime::UTC); dt = d.DT().FromTimezone(wxDateTime::UTC);
ticks = (dt.GetValue() / 1000).ToLong(); ticks = (dt.GetValue() / 1000).ToLong();
CPPUNIT_ASSERT_EQUAL( d.gmticks, ticks ); WX_ASSERT_TIME_T_EQUAL( d.gmticks, ticks );
} }
} }