Fix issues when building more Quiche tests for iOS and Windows Addresses additional build and test failures for tests run as part of net_unittests in Chromium for iOS and Windows. Calling WSAStartup in the connect tests avoids the following error in multiple tests on the win-rel bot: ``` ERROR:quic_name_lookup.cc(36)] Failed to look up localhost: Either the application has not called WSAStartup, or WSAStartup failed. ``` Using QUICHE_NO_EXPORT avoids errors like the following on win_chromium_compile_dbg_ng: ``` lld-link: error: undefined symbol: __declspec(dllimport) public: class absl::Status __thiscall quiche::BTreeScheduler<int, int>::Register(int, int const &) ``` The CustomStructWritesTooLittle test changes avoids an unused variable error on ios-simulator. PiperOrigin-RevId: 607146214
diff --git a/quiche/common/btree_scheduler.h b/quiche/common/btree_scheduler.h index d2bb765..75312a3 100644 --- a/quiche/common/btree_scheduler.h +++ b/quiche/common/btree_scheduler.h
@@ -41,7 +41,7 @@ // The Id type has to define operator==, be hashable via absl::Hash, and // printable via operator<<; the Priority type has to define operator<. template <typename Id, typename Priority> -class QUICHE_EXPORT BTreeScheduler { +class QUICHE_NO_EXPORT BTreeScheduler { public: // Returns true if there are any streams registered. bool HasRegistered() const { return !streams_.empty(); }
diff --git a/quiche/common/print_elements.h b/quiche/common/print_elements.h index ae69c40..3c39cd4 100644 --- a/quiche/common/print_elements.h +++ b/quiche/common/print_elements.h
@@ -16,7 +16,7 @@ // Print elements of any iterable container that has cbegin() and cend() methods // and the elements have operator<<(ostream) override. template <typename T> -QUICHE_EXPORT inline std::string PrintElements(const T& container) { +QUICHE_NO_EXPORT inline std::string PrintElements(const T& container) { std::stringstream debug_string; debug_string << "{"; auto it = container.cbegin();
diff --git a/quiche/common/wire_serialization_test.cc b/quiche/common/wire_serialization_test.cc index 37216ca..f35c13d 100644 --- a/quiche/common/wire_serialization_test.cc +++ b/quiche/common/wire_serialization_test.cc
@@ -237,14 +237,15 @@ }; TEST(SerializationTest, CustomStructWritesTooLittle) { - constexpr absl::string_view kStr = "\xaa\xbb\xcc\xdd"; absl::Status status; #if defined(NDEBUG) + constexpr absl::string_view kStr = "\xaa\xbb\xcc\xdd"; status = SerializeIntoSimpleBuffer(WireFormatterThatWritesTooLittle(kStr)) .status(); EXPECT_THAT(status, StatusIs(absl::StatusCode::kInternal, ::testing::HasSubstr("Excess 1 bytes"))); -#else +#elif GTEST_HAS_DEATH_TEST + constexpr absl::string_view kStr = "\xaa\xbb\xcc\xdd"; EXPECT_QUICHE_DEBUG_DEATH( status = SerializeIntoSimpleBuffer(WireFormatterThatWritesTooLittle(kStr)) .status(),
diff --git a/quiche/http2/test_tools/hpack_example_test.cc b/quiche/http2/test_tools/hpack_example_test.cc index 4dd24bd..abc7395 100644 --- a/quiche/http2/test_tools/hpack_example_test.cc +++ b/quiche/http2/test_tools/hpack_example_test.cc
@@ -34,11 +34,13 @@ EXPECT_EQ(absl::string_view(kExpected, sizeof kExpected), bytes); } +#ifdef GTEST_HAS_DEATH_TEST TEST(HpackExampleToStringOrDie, InvalidInput) { EXPECT_DEATH(HpackExampleToStringOrDie("4"), "Truncated"); EXPECT_DEATH(HpackExampleToStringOrDie("4x"), "half"); EXPECT_DEATH(HpackExampleToStringOrDie(""), "empty"); } +#endif } // namespace } // namespace test
diff --git a/quiche/quic/tools/connect_tunnel_test.cc b/quiche/quic/tools/connect_tunnel_test.cc index 379da7c..f52afce 100644 --- a/quiche/quic/tools/connect_tunnel_test.cc +++ b/quiche/quic/tools/connect_tunnel_test.cc
@@ -99,6 +99,11 @@ class ConnectTunnelTest : public quiche::test::QuicheTest { public: void SetUp() override { +#if defined(_WIN32) + WSADATA wsa_data; + const WORD version_required = MAKEWORD(2, 2); + ASSERT_EQ(WSAStartup(version_required, &wsa_data), 0); +#endif auto socket = std::make_unique<StrictMock<MockSocket>>(); socket_ = socket.get(); ON_CALL(socket_factory_,
diff --git a/quiche/quic/tools/connect_udp_tunnel_test.cc b/quiche/quic/tools/connect_udp_tunnel_test.cc index d86ff0c..73b06c2 100644 --- a/quiche/quic/tools/connect_udp_tunnel_test.cc +++ b/quiche/quic/tools/connect_udp_tunnel_test.cc
@@ -113,6 +113,11 @@ class ConnectUdpTunnelTest : public quiche::test::QuicheTest { public: void SetUp() override { +#if defined(_WIN32) + WSADATA wsa_data; + const WORD version_required = MAKEWORD(2, 2); + ASSERT_EQ(WSAStartup(version_required, &wsa_data), 0); +#endif auto socket = std::make_unique<StrictMock<MockSocket>>(); socket_ = socket.get(); ON_CALL(socket_factory_,