From 1afcac9ca5ffb1f170a2a20104a8ba76290a7089 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 18 May 2023 00:06:21 +0200 Subject: [PATCH] Use wxSocketInitializer in the unit tests Prefer using this RAII wrapper to explicit function calls, this is shorter and more robust. --- tests/image/image.cpp | 10 ++-------- tests/streams/socketstream.cpp | 10 ++-------- tests/test.cpp | 7 +------ tests/uris/ftp.cpp | 7 +------ tests/uris/url.cpp | 16 +++------------- 5 files changed, 9 insertions(+), 41 deletions(-) diff --git a/tests/image/image.cpp b/tests/image/image.cpp index 6fa2aabb19..274781342e 100644 --- a/tests/image/image.cpp +++ b/tests/image/image.cpp @@ -76,7 +76,6 @@ class ImageTestCase : public CppUnit::TestCase { public: ImageTestCase(); - ~ImageTestCase(); private: CPPUNIT_TEST_SUITE( ImageTestCase ); @@ -129,8 +128,6 @@ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ImageTestCase, "ImageTestCase" ); ImageTestCase::ImageTestCase() { - wxSocketBase::Initialize(); - // the formats we're going to test: wxImage::AddHandler(new wxICOHandler); wxImage::AddHandler(new wxXPMHandler); @@ -150,11 +147,6 @@ ImageTestCase::ImageTestCase() #endif // wxUSE_LIBTIFF } -ImageTestCase::~ImageTestCase() -{ - wxSocketBase::Shutdown(); -} - void ImageTestCase::LoadFromFile() { wxImage img; @@ -177,6 +169,8 @@ void ImageTestCase::LoadFromSocketStream() if ( !wxGetEnv("WX_TEST_IMAGE_URL_PNG", &urlStr) ) return; + wxSocketInitializer socketInit; + wxURL url(urlStr); REQUIRE( url.GetError() == wxURL_NOERR ); diff --git a/tests/streams/socketstream.cpp b/tests/streams/socketstream.cpp index b646c9a2ef..6b4bb2b7ee 100644 --- a/tests/streams/socketstream.cpp +++ b/tests/streams/socketstream.cpp @@ -98,7 +98,6 @@ class socketStream : { public: socketStream(); - virtual ~socketStream(); virtual void setUp() override; virtual void tearDown() override; @@ -159,6 +158,8 @@ private: wxThread *m_writeThread, *m_readThread; + wxSocketInitializer m_socketInit; + static wxSocketFlags ms_flags; }; @@ -171,13 +172,6 @@ socketStream::socketStream() m_writeThread = m_readThread = nullptr; - - wxSocketBase::Initialize(); -} - -socketStream::~socketStream() -{ - wxSocketBase::Shutdown(); } void socketStream::setUp() diff --git a/tests/test.cpp b/tests/test.cpp index aa8c28d023..5e004fb04f 100644 --- a/tests/test.cpp +++ b/tests/test.cpp @@ -419,14 +419,11 @@ static bool DoCheckConnection() // NOTE: we could use wxDialUpManager here if it was in wxNet; since it's in // wxCore we use a simple rough test: - wxSocketBase::Initialize(); + wxSocketInitializer socketInit; wxIPV4address addr; if (!addr.Hostname(0xadfe5c16) || !addr.Service(wxASCII_STR("www"))) - { - wxSocketBase::Shutdown(); return false; - } const char* const HTTP_GET = "GET / HTTP /1.1\r\nHost: www.wxwidgets.org\r\n\r\n"; @@ -436,8 +433,6 @@ static bool DoCheckConnection() bool online = sock.Connect(addr) && (sock.Write(HTTP_GET, strlen(HTTP_GET)), sock.WaitForRead(1)); - wxSocketBase::Shutdown(); - return online; } diff --git a/tests/uris/ftp.cpp b/tests/uris/ftp.cpp index 257e4cda7c..28b54ac435 100644 --- a/tests/uris/ftp.cpp +++ b/tests/uris/ftp.cpp @@ -46,12 +46,7 @@ TEST_CASE("FTP", "[net][.]") const wxString user = wxGetenv("WX_FTP_TEST_USER"); const wxString password = wxGetenv("WX_FTP_TEST_PASS"); - class SocketInit - { - public: - SocketInit() { wxSocketBase::Initialize(); } - ~SocketInit() { wxSocketBase::Shutdown(); } - } socketInit; + wxSocketInitializer socketInit; // wxFTP cannot be a static variable as its ctor needs to access // wxWidgets internals after it has been initialized diff --git a/tests/uris/url.cpp b/tests/uris/url.cpp index 616dd014a4..9305f8a78e 100644 --- a/tests/uris/url.cpp +++ b/tests/uris/url.cpp @@ -27,11 +27,11 @@ // test class // ---------------------------------------------------------------------------- -class URLTestCase : public CppUnit::TestCase +class URLTestCase : public CppUnit::TestCase, private wxSocketInitializer { public: - URLTestCase(); - ~URLTestCase(); + URLTestCase() = default; + ~URLTestCase() = default; private: CPPUNIT_TEST_SUITE( URLTestCase ); @@ -52,16 +52,6 @@ CPPUNIT_TEST_SUITE_REGISTRATION( URLTestCase ); CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( URLTestCase, "URLTestCase" ); -URLTestCase::URLTestCase() -{ - wxSocketBase::Initialize(); -} - -URLTestCase::~URLTestCase() -{ - wxSocketBase::Shutdown(); -} - void URLTestCase::GetInputStream() { if (!IsNetworkAvailable()) // implemented in test.cpp