Fixed unit tests to compile under MSVC.

1. Including config.h in test.
2. Including windows.h before zippy-test.h.
3. Removed definition of WIN32_LEAN_AND_MEAN. This caused problems in
   build environments that define WIN32_LEAN_AND_MEAN as our
   definition didn't check for prior existence. This constant is old
   and no longer needed anyhow.
4. Disable MSVC warning 4722 since ~LogMessageCrash() never returns.

A=cmumford
R=jeff
This commit is contained in:
Steinar H. Gunderson 2015-06-22 15:45:11 +02:00
parent 86eb8b152b
commit e7a897e187
2 changed files with 16 additions and 3 deletions

View file

@ -28,13 +28,16 @@
//
// Various stubs for the unit tests for the open-source version of Snappy.
#include "snappy-test.h"
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef HAVE_WINDOWS_H
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
#include "snappy-test.h"
#include <algorithm>
DEFINE_bool(run_microbenchmarks, true,

View file

@ -52,7 +52,6 @@
#endif
#ifdef HAVE_WINDOWS_H
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif
@ -548,6 +547,13 @@ class LogMessage {
PREDICT_TRUE(condition) ? (void)0 : \
snappy::LogMessageVoidify() & snappy::LogMessageCrash()
#ifdef _MSC_VER
// ~LogMessageCrash calls abort() and therefore never exits. This is by design
// so temporarily disable warning C4722.
#pragma warning(push)
#pragma warning(disable:4722)
#endif
class LogMessageCrash : public LogMessage {
public:
LogMessageCrash() { }
@ -557,6 +563,10 @@ class LogMessageCrash : public LogMessage {
}
};
#ifdef _MSC_VER
#pragma warning(pop)
#endif
// This class is used to explicitly ignore values in the conditional
// logging macros. This avoids compiler warnings like "value computed
// is not used" and "statement has no effect".