THRIFT-4081: appveyor retooling - added mingw64 build as a second job to the CI build process
This closes #1205
diff --git a/lib/cpp/test/Base64Test.cpp b/lib/cpp/test/Base64Test.cpp
index e9e86dd..7686e4e 100644
--- a/lib/cpp/test/Base64Test.cpp
+++ b/lib/cpp/test/Base64Test.cpp
@@ -37,6 +37,10 @@
}
void checkEncoding(uint8_t* data, int len) {
+#ifdef NDEBUG
+ ((void)data);
+#endif
+
for (int i = 0; i < len; i++) {
BOOST_ASSERT(isalnum(data[i]) || data[i] == '/' || data[i] == '+');
}
diff --git a/lib/cpp/test/CMakeLists.txt b/lib/cpp/test/CMakeLists.txt
index b7a7798..ef3d417 100644
--- a/lib/cpp/test/CMakeLists.txt
+++ b/lib/cpp/test/CMakeLists.txt
@@ -79,7 +79,7 @@
TServerTransportTest.cpp
)
-if(NOT WITH_BOOSTTHREADS AND NOT WITH_STDTHREADS AND NOT MSVC)
+if(NOT WITH_BOOSTTHREADS AND NOT WITH_STDTHREADS AND NOT MSVC AND NOT MINGW)
list(APPEND UnitTest_SOURCES RWMutexStarveTest.cpp)
endif()
@@ -112,7 +112,7 @@
if (NOT MSVC AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT MINGW)
target_link_libraries(TInterruptTest -lrt)
endif ()
-add_test(NAME TInterruptTest COMMAND TInterruptTest "${CMAKE_CURRENT_SOURCE_DIR}/../../../test/keys")
+add_test(NAME TInterruptTest COMMAND TInterruptTest -- "${CMAKE_CURRENT_SOURCE_DIR}/../../../test/keys")
add_executable(TServerIntegrationTest TServerIntegrationTest.cpp)
target_link_libraries(TServerIntegrationTest
@@ -317,7 +317,7 @@
if (NOT MSVC AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT MINGW)
target_link_libraries(SecurityTest -lrt)
endif ()
-add_test(NAME SecurityTest COMMAND SecurityTest "${CMAKE_CURRENT_SOURCE_DIR}/../../../test/keys")
+add_test(NAME SecurityTest COMMAND SecurityTest -- "${CMAKE_CURRENT_SOURCE_DIR}/../../../test/keys")
endif()
diff --git a/lib/cpp/test/TFileTransportTest.cpp b/lib/cpp/test/TFileTransportTest.cpp
index 82e84e8..700a1ac 100644
--- a/lib/cpp/test/TFileTransportTest.cpp
+++ b/lib/cpp/test/TFileTransportTest.cpp
@@ -83,7 +83,7 @@
void fsync(int fd) {
(void)fd;
FsyncCall call;
- gettimeofday(&call.time, NULL);
+ THRIFT_GETTIMEOFDAY(&call.time, NULL);
calls_.push_back(call);
}
@@ -100,6 +100,7 @@
public:
TempFile(const char* directory, const char* prefix) {
#ifdef __MINGW32__
+ ((void)directory);
size_t path_len = strlen(prefix) + 8;
path_ = new char[path_len];
snprintf(path_, path_len, "%sXXXXXX", prefix);
@@ -208,9 +209,9 @@
struct timeval start;
struct timeval end;
- gettimeofday(&start, NULL);
+ THRIFT_GETTIMEOFDAY(&start, NULL);
delete transport;
- gettimeofday(&end, NULL);
+ THRIFT_GETTIMEOFDAY(&end, NULL);
int delta = time_diff(&start, &end);
@@ -331,13 +332,13 @@
transport.write(buf, 1);
struct timeval start;
- gettimeofday(&start, NULL);
+ THRIFT_GETTIMEOFDAY(&start, NULL);
for (unsigned int n = 0; n < 10; ++n) {
transport.flush();
struct timeval now;
- gettimeofday(&now, NULL);
+ THRIFT_GETTIMEOFDAY(&now, NULL);
// Fail if at any point we've been running for longer than half a second.
// (With the buggy code, TFileTransport used to take 3 seconds per flush())
diff --git a/lib/cpp/test/TSSLSocketInterruptTest.cpp b/lib/cpp/test/TSSLSocketInterruptTest.cpp
index ba43daf..bf5c7d7 100644
--- a/lib/cpp/test/TSSLSocketInterruptTest.cpp
+++ b/lib/cpp/test/TSSLSocketInterruptTest.cpp
@@ -214,7 +214,7 @@
uint8_t buf[400];
try {
tt->read(buf, 1);
- tt->peek();
+ BOOST_CHECK_EQUAL(expectedResult, tt->peek());
} catch (const TTransportException& tx) {
BOOST_CHECK_EQUAL(TTransportException::TIMED_OUT, tx.getType());
}
diff --git a/lib/cpp/test/ZlibTest.cpp b/lib/cpp/test/ZlibTest.cpp
index a4387a9..25db4b8 100644
--- a/lib/cpp/test/ZlibTest.cpp
+++ b/lib/cpp/test/ZlibTest.cpp
@@ -21,7 +21,7 @@
#define _GNU_SOURCE // needed for getopt_long
#endif
-#if (_MSC_VER <= 1700)
+#if defined(_MSC_VER) && (_MSC_VER <= 1700)
// polynomial and std::fill_t warning happens in MSVC 2010, 2013, maybe others
// https://svn.boost.org/trac/boost/ticket/11426
#pragma warning(disable:4996)