Add changes required to compile with MS VC6

Add macro UNITTEST_COMPILER_IS_MSVC6
Add macro UNIITEST_NS_QUAL_STD(fun)
Avoid __pragma()
Skip tests with long long
This commit is contained in:
Martin Moene 2013-05-09 11:12:29 +02:00
parent b4539f4954
commit 4ab7aa4062
5 changed files with 17 additions and 5 deletions

View file

@ -7,7 +7,8 @@
#pragma warning(disable:4702) // unreachable code
#pragma warning(disable:4722) // destructor never returns, potential memory leak
#if (_MSC_VER == 1200) // VC6
#if (_MSC_VER == 1200) // VC6
#define UNITTEST_COMPILER_IS_MSVC6
#pragma warning(disable:4786)
#pragma warning(disable:4290)
#endif
@ -60,4 +61,13 @@
//#define UNITTEST_NO_EXCEPTIONS
// std namespace qualification: used for functions like strcpy that
// may live in std:: namespace (cstring header).
#if defined( UNITTEST_COMPILER_IS_MSVC6 )
#define UNIITEST_NS_QUAL_STD(x) x
#else
#define UNIITEST_NS_QUAL_STD(x) ::std::x
#endif
#endif

View file

@ -16,7 +16,7 @@ DeferredTestFailure::DeferredTestFailure()
DeferredTestFailure::DeferredTestFailure(int lineNumber_, const char* failureStr_)
: lineNumber(lineNumber_)
{
std::strcpy(failureStr, failureStr_);
UNIITEST_NS_QUAL_STD(strcpy)(failureStr, failureStr_);
}
DeferredTestResult::DeferredTestResult()

View file

@ -5,7 +5,7 @@
#define UNITTEST_MULTILINE_MACRO_BEGIN do {
#ifdef UNITTEST_WIN32
#if defined(UNITTEST_WIN32) && !defined(UNITTEST_COMPILER_IS_MSVC6)
#define UNITTEST_MULTILINE_MACRO_END \
} __pragma(warning(push)) __pragma(warning(disable:4127)) while (0) __pragma(warning(pop))
#else

View file

@ -150,7 +150,7 @@ TEST(CheckCloseWithNaNFails)
{
const unsigned int bitpattern = 0xFFFFFFFF;
float nan;
std::memcpy(&nan, &bitpattern, sizeof(bitpattern));
UNIITEST_NS_QUAL_STD(memcpy)(&nan, &bitpattern, sizeof(bitpattern));
TestResults results;
CheckClose(results, 3.0f, nan, 0.1f, TestDetails("", "", "", 0));
@ -161,7 +161,7 @@ TEST(CheckCloseWithNaNAgainstItselfFails)
{
const unsigned int bitpattern = 0xFFFFFFFF;
float nan;
std::memcpy(&nan, &bitpattern, sizeof(bitpattern));
UNIITEST_NS_QUAL_STD(memcpy)(&nan, &bitpattern, sizeof(bitpattern));
TestResults results;
CheckClose(results, nan, nan, 0.1f, TestDetails("", "", "", 0));

View file

@ -167,6 +167,7 @@ TEST(StreamingMinUnsignedLongWritesCorrectCharacters)
CHECK_EQUAL("0", stream.GetText());
}
#ifndef UNITTEST_COMPILER_IS_MSVC6
TEST(StreamingLongLongWritesCorrectCharacters)
{
MemoryOutStream stream;
@ -214,6 +215,7 @@ TEST(StreamingMinUnsignedLongLongWritesCorrectCharacters)
stream << (unsigned long long)0ull;
CHECK_EQUAL("0", stream.GetText());
}
#endif
TEST(StreamingFloatWritesCorrectCharacters)
{