THRIFT-3246 Reduce the number of trivial warnings in Windows C++ CMake builds
Client: cpp
Patch: Ben Craig <bencraig@apache.org>
This closes #553
diff --git a/lib/cpp/test/CMakeLists.txt b/lib/cpp/test/CMakeLists.txt
index 365db8f..427ff41 100644
--- a/lib/cpp/test/CMakeLists.txt
+++ b/lib/cpp/test/CMakeLists.txt
@@ -82,6 +82,11 @@
target_link_libraries(UnitTests testgencpp ${Boost_LIBRARIES})
LINK_AGAINST_THRIFT_LIBRARY(UnitTests thrift)
add_test(NAME UnitTests COMMAND UnitTests)
+if ( MSVC )
+ # Disable C4503: decorated name length exceeded, name was truncated
+ # 'insanity' results in very long decorated names
+ set_property( TARGET UnitTests APPEND_STRING PROPERTY COMPILE_FLAGS /wd4503 )
+endif ( MSVC )
add_executable(TSocketInterruptTest TSocketInterruptTest.cpp)
target_link_libraries(TSocketInterruptTest
diff --git a/lib/cpp/test/TNonblockingServerTest.cpp b/lib/cpp/test/TNonblockingServerTest.cpp
index 9488091..8f4ef6e 100644
--- a/lib/cpp/test/TNonblockingServerTest.cpp
+++ b/lib/cpp/test/TNonblockingServerTest.cpp
@@ -38,7 +38,7 @@
// dummy overrides not used in this test
int32_t incrementGeneration() { return 0; }
int32_t getGeneration() { return 0; }
- void getDataWait(std::string&, int32_t) {}
+ void getDataWait(std::string&, const int32_t) {}
void onewayWait() {}
void exceptionWait(const std::string&) {}
void unexpectedExceptionWait(const std::string&) {}
@@ -53,7 +53,7 @@
error = false;
try {
server->serve();
- } catch (const TException& x) {
+ } catch (const TException&) {
error = true;
}
}
@@ -95,7 +95,7 @@
if (userEventBase_) {
try {
server->registerEvents(userEventBase_.get());
- } catch (const TException& x) {
+ } catch (const TException&) {
// retry with next port
continue;
}
diff --git a/lib/cpp/test/TServerIntegrationTest.cpp b/lib/cpp/test/TServerIntegrationTest.cpp
index 42ec5d6..38cbc21 100644
--- a/lib/cpp/test/TServerIntegrationTest.cpp
+++ b/lib/cpp/test/TServerIntegrationTest.cpp
@@ -122,7 +122,7 @@
_return = strings_;
}
- void getDataWait(std::string& _return, int32_t length) {
+ void getDataWait(std::string& _return, const int32_t length) {
THRIFT_UNUSED_VARIABLE(_return);
THRIFT_UNUSED_VARIABLE(length);
}
diff --git a/lib/cpp/test/concurrency/ThreadFactoryTests.h b/lib/cpp/test/concurrency/ThreadFactoryTests.h
index d7431a8..635c8a2 100644
--- a/lib/cpp/test/concurrency/ThreadFactoryTests.h
+++ b/lib/cpp/test/concurrency/ThreadFactoryTests.h
@@ -220,7 +220,7 @@
try {
monitor.wait(100);
- } catch (TimedOutException& e) {
+ } catch (TimedOutException&) {
}
if (state == SynchStartTask::STARTED) {
@@ -257,7 +257,7 @@
Synchronized s(monitor);
try {
monitor.wait(timeout);
- } catch (TimedOutException& e) {
+ } catch (TimedOutException&) {
}
}
}
diff --git a/lib/cpp/test/concurrency/ThreadManagerTests.h b/lib/cpp/test/concurrency/ThreadManagerTests.h
index 904948c..08e8179 100644
--- a/lib/cpp/test/concurrency/ThreadManagerTests.h
+++ b/lib/cpp/test/concurrency/ThreadManagerTests.h
@@ -56,7 +56,7 @@
try {
_sleep.wait(_timeout);
- } catch (TimedOutException& e) {
+ } catch (TimedOutException&) {
;
} catch (...) {
assert(0);
@@ -183,7 +183,7 @@
<< "ms min: " << minTime << "ms max: " << maxTime << "ms average: " << averageTime
<< "ms" << std::endl;
- double expectedTime = ((count + (workerCount - 1)) / workerCount) * timeout;
+ double expectedTime = (double(count + (workerCount - 1)) / workerCount) * timeout;
double error = ((time01 - time00) - expectedTime) / expectedTime;
@@ -290,18 +290,18 @@
try {
threadManager->add(extraTask, 1);
throw TException("Unexpected success adding task in excess of pending task count");
- } catch (TooManyPendingTasksException& e) {
+ } catch (TooManyPendingTasksException&) {
throw TException("Should have timed out adding task in excess of pending task count");
- } catch (TimedOutException& e) {
+ } catch (TimedOutException&) {
// Expected result
}
try {
threadManager->add(extraTask, -1);
throw TException("Unexpected success adding task in excess of pending task count");
- } catch (TimedOutException& e) {
+ } catch (TimedOutException&) {
throw TException("Unexpected timeout adding task in excess of pending task count");
- } catch (TooManyPendingTasksException& e) {
+ } catch (TooManyPendingTasksException&) {
// Expected result
}
@@ -327,12 +327,12 @@
try {
threadManager->add(extraTask, 1);
- } catch (TimedOutException& e) {
+ } catch (TimedOutException&) {
std::cout << "\t\t\t"
<< "add timed out unexpectedly" << std::endl;
throw TException("Unexpected timeout adding task");
- } catch (TooManyPendingTasksException& e) {
+ } catch (TooManyPendingTasksException&) {
std::cout << "\t\t\t"
<< "add encountered too many pending exepctions" << std::endl;
throw TException("Unexpected timeout adding task");
diff --git a/lib/cpp/test/concurrency/TimerManagerTests.h b/lib/cpp/test/concurrency/TimerManagerTests.h
index dda16ed..f4600fc 100644
--- a/lib/cpp/test/concurrency/TimerManagerTests.h
+++ b/lib/cpp/test/concurrency/TimerManagerTests.h
@@ -58,7 +58,7 @@
delta = delta > _timeout ? delta - _timeout : _timeout - delta;
- float error = delta / _timeout;
+ double error = double(delta) / _timeout;
if (error < TEST_TOLERANCE) {
_success = true;
@@ -119,7 +119,7 @@
_monitor.wait(1000);
assert(
0 == "ERROR: This wait should time out. TimerManager dispatcher may have a problem.");
- } catch (TimedOutException& ex) {
+ } catch (TimedOutException&) {
}
task.reset(new TimerManagerTests::Task(_monitor, timeout));
diff --git a/lib/cpp/test/processor/Handlers.h b/lib/cpp/test/processor/Handlers.h
index d894107..c90993a 100644
--- a/lib/cpp/test/processor/Handlers.h
+++ b/lib/cpp/test/processor/Handlers.h
@@ -56,7 +56,7 @@
_return = strings_;
}
- void getDataWait(std::string& _return, int32_t length) {
+ void getDataWait(std::string& _return, const int32_t length) {
concurrency::Guard g(mutex_);
log_->append(EventLog::ET_CALL_GET_DATA_WAIT, 0, 0);
@@ -139,11 +139,16 @@
boost::shared_ptr<EventLog> log_;
};
+#ifdef _WIN32
+ #pragma warning( push )
+ #pragma warning (disable : 4250 ) //inheriting methods via dominance
+#endif;
+
class ChildHandler : public ParentHandler, virtual public ChildServiceIf {
public:
ChildHandler(const boost::shared_ptr<EventLog>& log) : ParentHandler(log), value_(0) {}
- int32_t setValue(int32_t value) {
+ int32_t setValue(const int32_t value) {
concurrency::Guard g(mutex_);
log_->append(EventLog::ET_CALL_SET_VALUE, 0, 0);
@@ -163,6 +168,10 @@
int32_t value_;
};
+#ifdef _WIN32
+ #pragma warning( pop )
+#endif
+
struct ConnContext {
public:
ConnContext(boost::shared_ptr<protocol::TProtocol> in,
diff --git a/lib/cpp/test/processor/ProcessorTest.cpp b/lib/cpp/test/processor/ProcessorTest.cpp
index 40d926e..5aaa57e 100644
--- a/lib/cpp/test/processor/ProcessorTest.cpp
+++ b/lib/cpp/test/processor/ProcessorTest.cpp
@@ -522,7 +522,7 @@
// can test the timing for the preRead() call.
string requestName = "getDataWait";
string eventName = "ParentService.getDataWait";
- int32_t seqid = time(NULL);
+ int32_t seqid = int32_t(time(NULL));
TBinaryProtocol protocol(socket);
protocol.writeMessageBegin(requestName, T_CALL, seqid);
socket->flush();
@@ -819,7 +819,7 @@
try {
client->recv_unexpectedExceptionWait();
BOOST_FAIL("expected TApplicationError to be thrown");
- } catch (const TApplicationException& e) {
+ } catch (const TApplicationException&) {
}
// Now we should see a handler error event
diff --git a/lib/cpp/test/processor/ServerThread.cpp b/lib/cpp/test/processor/ServerThread.cpp
index 8834269..e9d468f 100644
--- a/lib/cpp/test/processor/ServerThread.cpp
+++ b/lib/cpp/test/processor/ServerThread.cpp
@@ -90,7 +90,7 @@
try {
// Try to serve requests
server_->serve();
- } catch (const TException& x) {
+ } catch (const TException&) {
// TNonblockingServer throws a generic TException if it fails to bind.
// If we get a TException, we'll optimistically assume the bind failed.
++port_;