diff options
Diffstat (limited to 'external_tests')
-rw-r--r-- | external_tests/google_test/Makefile | 11 | ||||
-rw-r--r-- | external_tests/ssl_gtest/Makefile | 16 | ||||
-rw-r--r-- | external_tests/ssl_gtest/databuffer.h | 5 | ||||
-rw-r--r-- | external_tests/ssl_gtest/ssl_loopback_unittest.cc | 4 | ||||
-rw-r--r-- | external_tests/ssl_gtest/tls_agent.cc | 25 | ||||
-rw-r--r-- | external_tests/ssl_gtest/tls_agent.h | 12 | ||||
-rw-r--r-- | external_tests/ssl_gtest/tls_connect.cc | 16 | ||||
-rw-r--r-- | external_tests/ssl_gtest/tls_parser.h | 4 |
8 files changed, 62 insertions, 31 deletions
diff --git a/external_tests/google_test/Makefile b/external_tests/google_test/Makefile index ac7276e78..8a3c1fae6 100644 --- a/external_tests/google_test/Makefile +++ b/external_tests/google_test/Makefile @@ -42,4 +42,13 @@ include $(CORE_DEPTH)/coreconf/rules.mk # (7) Execute "local" rules. (OPTIONAL). # ####################################################################### -MKSHLIB = $(CCC) $(DSO_LDOPTS) $(DARWIN_SDK_SHLIBFLAGS) +MKSHLIB = $(CCC) $(DSO_LDOPTS) $(DARWIN_SDK_SHLIBFLAGS) +ifeq (WINNT,$(OS_ARCH)) + # -MTd (not -MD) because that makes it link to the right library + # -EHsc because gtest has exception handlers + OS_CFLAGS := $(filterout -MD,$(OS_CFLAGS)) + OS_CFLAGS += -MTd -EHsc + # On windows, we need to create the parent directory + # Needed because we include files from a subdirectory + MAKE_OBJDIR = $(INSTALL) -D $(dir $@) +endif diff --git a/external_tests/ssl_gtest/Makefile b/external_tests/ssl_gtest/Makefile index 9b9ed8915..61965a20a 100644 --- a/external_tests/ssl_gtest/Makefile +++ b/external_tests/ssl_gtest/Makefile @@ -42,7 +42,19 @@ include $(CORE_DEPTH)/coreconf/rules.mk # (7) Execute "local" rules. (OPTIONAL). # ####################################################################### -MKPROG = $(CXX) -CFLAGS += -std=c++0x +MKPROG = $(CCC) include ../../cmd/platrules.mk +ifeq (WINNT,$(OS_ARCH)) + # -MTd (not -MD) because that makes it link to the right library + # -EHsc because gtest has exception handlers + OS_CFLAGS := $(filterout -MD,$(OS_CFLAGS)) + OS_CFLAGS += -MTd -EHsc -nologo + # http://www.suodenjoki.dk/us/archive/2010/min-max.htm + OS_CFLAGS += -DNOMINMAX + + # Linking to winsock to get htonl + OS_LIBS += Ws2_32.lib +else + CFLAGS += -std=c++0x +endif diff --git a/external_tests/ssl_gtest/databuffer.h b/external_tests/ssl_gtest/databuffer.h index c3d3bb9be..5735c2cef 100644 --- a/external_tests/ssl_gtest/databuffer.h +++ b/external_tests/ssl_gtest/databuffer.h @@ -12,6 +12,11 @@ #include <cstring> #include <iomanip> #include <iostream> +#if defined(WIN32) || defined(WIN64) +#include <winsock2.h> +#else +#include <arpa/inet.h> +#endif namespace nss_test { diff --git a/external_tests/ssl_gtest/ssl_loopback_unittest.cc b/external_tests/ssl_gtest/ssl_loopback_unittest.cc index a4a9e78ec..deb690a8f 100644 --- a/external_tests/ssl_gtest/ssl_loopback_unittest.cc +++ b/external_tests/ssl_gtest/ssl_loopback_unittest.cc @@ -318,10 +318,10 @@ TEST_P(TlsConnectStream, ShortRead) { server_->SendData(1200, 1200); // Read the first tranche. WAIT_(client_->received_bytes() == 1024, 2000); - ASSERT_EQ(1024, client_->received_bytes()); + ASSERT_EQ(1024U, client_->received_bytes()); // The second tranche should now immediately be available. client_->ReadBytes(); - ASSERT_EQ(1200, client_->received_bytes()); + ASSERT_EQ(1200U, client_->received_bytes()); } INSTANTIATE_TEST_CASE_P(VariantsStream10, TlsConnectGeneric, diff --git a/external_tests/ssl_gtest/tls_agent.cc b/external_tests/ssl_gtest/tls_agent.cc index ed2ef04a2..a12037a15 100644 --- a/external_tests/ssl_gtest/tls_agent.cc +++ b/external_tests/ssl_gtest/tls_agent.cc @@ -27,7 +27,7 @@ TlsAgent::TlsAgent(const std::string& name, Role role, Mode mode, SSLKEAType kea adapter_(nullptr), ssl_fd_(nullptr), role_(role), - state_(INIT), + state_(STATE_INIT), falsestart_enabled_(false), expected_version_(0), expected_cipher_suite_(0), @@ -122,7 +122,7 @@ void TlsAgent::StartConnect() { SECStatus rv; rv = SSL_ResetHandshake(ssl_fd_, role_ == SERVER ? PR_TRUE : PR_FALSE); EXPECT_EQ(SECSuccess, rv); - SetState(CONNECTING); + SetState(STATE_CONNECTING); } void TlsAgent::EnableSomeEcdheCiphers() { @@ -192,12 +192,12 @@ void TlsAgent::SetExpectedReadError(bool err) { } void TlsAgent::CheckKEAType(SSLKEAType type) const { - EXPECT_EQ(CONNECTED, state_); + EXPECT_EQ(STATE_CONNECTED, state_); EXPECT_EQ(type, csinfo_.keaType); } void TlsAgent::CheckAuthType(SSLAuthType type) const { - EXPECT_EQ(CONNECTED, state_); + EXPECT_EQ(STATE_CONNECTED, state_); EXPECT_EQ(type, csinfo_.authAlgorithm); } @@ -252,7 +252,7 @@ void TlsAgent::CheckSrtp() const { } void TlsAgent::CheckErrorCode(int32_t expected) const { - EXPECT_EQ(ERROR, state_); + EXPECT_EQ(STATE_ERROR, state_); EXPECT_EQ(expected, error_code_); } @@ -315,7 +315,7 @@ void TlsAgent::Connected() { rv = SSL_GetCipherSuiteInfo(info_.cipherSuite, &csinfo_, sizeof(csinfo_)); EXPECT_EQ(SECSuccess, rv); - SetState(CONNECTED); + SetState(STATE_CONNECTED); } void TlsAgent::Handshake() { @@ -344,15 +344,15 @@ void TlsAgent::Handshake() { default: LOG("Handshake failed with error " << err); error_code_ = err; - SetState(ERROR); + SetState(STATE_ERROR); return; } } void TlsAgent::PrepareForRenegotiate() { - EXPECT_EQ(CONNECTED, state_); + EXPECT_EQ(STATE_CONNECTED, state_); - SetState(CONNECTING); + SetState(STATE_CONNECTING); } void TlsAgent::StartRenegotiate() { @@ -377,7 +377,7 @@ void TlsAgent::SendData(size_t bytes, size_t blocksize) { LOG("Writing " << tosend << " bytes"); int32_t rv = PR_Write(ssl_fd_, block, tosend); - ASSERT_EQ(tosend, rv); + ASSERT_EQ(tosend, static_cast<size_t>(rv)); bytes -= tosend; } @@ -396,8 +396,9 @@ void TlsAgent::ReadBytes() { error_code_ = err; } else { ASSERT_LE(0, rv); - LOG("Read " << rv << " bytes"); - for (size_t i = 0; i < rv; ++i) { + size_t count = static_cast<size_t>(rv); + LOG("Read " << count << " bytes"); + for (size_t i = 0; i < count; ++i) { ASSERT_EQ(recv_ctr_ & 0xff, block[i]); recv_ctr_++; } diff --git a/external_tests/ssl_gtest/tls_agent.h b/external_tests/ssl_gtest/tls_agent.h index bfa39107f..ecf614d5f 100644 --- a/external_tests/ssl_gtest/tls_agent.h +++ b/external_tests/ssl_gtest/tls_agent.h @@ -31,7 +31,7 @@ enum SessionResumptionMode { class TlsAgent : public PollTarget { public: enum Role { CLIENT, SERVER }; - enum State { INIT, CONNECTING, CONNECTED, ERROR }; + enum State { STATE_INIT, STATE_CONNECTING, STATE_CONNECTED, STATE_ERROR }; TlsAgent(const std::string& name, Role role, Mode mode, SSLKEAType kea); virtual ~TlsAgent(); @@ -96,19 +96,19 @@ class TlsAgent : public PollTarget { uint16_t min_version() const { return vrange_.min; } uint16_t max_version() const { return vrange_.max; } uint16_t version() const { - EXPECT_EQ(CONNECTED, state_); + EXPECT_EQ(STATE_CONNECTED, state_); return info_.protocolVersion; } bool cipher_suite(int16_t* cipher_suite) const { - if (state_ != CONNECTED) return false; + if (state_ != STATE_CONNECTED) return false; *cipher_suite = info_.cipherSuite; return true; } std::string cipher_suite_name() const { - if (state_ != CONNECTED) return "UNKNOWN"; + if (state_ != STATE_CONNECTED) return "UNKNOWN"; return csinfo_.cipherSuiteName; } @@ -150,10 +150,10 @@ class TlsAgent : public PollTarget { void ReadableCallback_int() { LOG("Readable"); switch (state_) { - case CONNECTING: + case STATE_CONNECTING: Handshake(); break; - case CONNECTED: + case STATE_CONNECTED: ReadBytes(); break; default: diff --git a/external_tests/ssl_gtest/tls_connect.cc b/external_tests/ssl_gtest/tls_connect.cc index e13e094ce..4084cecc5 100644 --- a/external_tests/ssl_gtest/tls_connect.cc +++ b/external_tests/ssl_gtest/tls_connect.cc @@ -131,8 +131,8 @@ void TlsConnectTestBase::Handshake() { client_->Handshake(); server_->Handshake(); - ASSERT_TRUE_WAIT((client_->state() != TlsAgent::CONNECTING) && - (server_->state() != TlsAgent::CONNECTING), + ASSERT_TRUE_WAIT((client_->state() != TlsAgent::STATE_CONNECTING) && + (server_->state() != TlsAgent::STATE_CONNECTING), 5000); } @@ -150,8 +150,8 @@ void TlsConnectTestBase::CheckConnected() { server_->max_version()), client_->version()); - EXPECT_EQ(TlsAgent::CONNECTED, client_->state()); - EXPECT_EQ(TlsAgent::CONNECTED, server_->state()); + EXPECT_EQ(TlsAgent::STATE_CONNECTED, client_->state()); + EXPECT_EQ(TlsAgent::STATE_CONNECTED, server_->state()); int16_t cipher_suite1, cipher_suite2; bool ret = client_->cipher_suite(&cipher_suite1); @@ -180,8 +180,8 @@ void TlsConnectTestBase::ConnectExpectFail() { client_->StartConnect(); Handshake(); - ASSERT_EQ(TlsAgent::ERROR, client_->state()); - ASSERT_EQ(TlsAgent::ERROR, server_->state()); + ASSERT_EQ(TlsAgent::STATE_ERROR, client_->state()); + ASSERT_EQ(TlsAgent::STATE_ERROR, server_->state()); } void TlsConnectTestBase::SetExpectedVersion(uint16_t version) { @@ -252,8 +252,8 @@ void TlsConnectTestBase::SendReceive() { WAIT_( client_->received_bytes() == 50 && server_->received_bytes() == 50, 2000); - ASSERT_EQ(50, client_->received_bytes()); - ASSERT_EQ(50, server_->received_bytes()); + ASSERT_EQ(50U, client_->received_bytes()); + ASSERT_EQ(50U, server_->received_bytes()); } TlsConnectGeneric::TlsConnectGeneric() diff --git a/external_tests/ssl_gtest/tls_parser.h b/external_tests/ssl_gtest/tls_parser.h index 3e6ac24c6..a17933047 100644 --- a/external_tests/ssl_gtest/tls_parser.h +++ b/external_tests/ssl_gtest/tls_parser.h @@ -10,7 +10,11 @@ #include <memory> #include <cstdint> #include <cstring> +#if defined(WIN32) || defined(WIN64) +#include <winsock2.h> +#else #include <arpa/inet.h> +#endif #include "databuffer.h" namespace nss_test { |