get rid of socket tests; there are marked as broken and we already have SocketTestCase in CppUnit test classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
ec0e093913
commit
61304c6209
@ -126,7 +126,6 @@
|
|||||||
#define TEST_REGISTRY
|
#define TEST_REGISTRY
|
||||||
#define TEST_SCOPEGUARD
|
#define TEST_SCOPEGUARD
|
||||||
#define TEST_SNGLINST
|
#define TEST_SNGLINST
|
||||||
// #define TEST_SOCKETS --FIXME! (RN)
|
|
||||||
#else // #if TEST_ALL
|
#else // #if TEST_ALL
|
||||||
#define TEST_DATETIME
|
#define TEST_DATETIME
|
||||||
#define TEST_VOLUME
|
#define TEST_VOLUME
|
||||||
@ -148,25 +147,6 @@
|
|||||||
// implementation
|
// implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// helper functions
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if defined(TEST_SOCKETS)
|
|
||||||
|
|
||||||
// replace TABs with \t and CRs with \n
|
|
||||||
static wxString MakePrintable(const wxChar *s)
|
|
||||||
{
|
|
||||||
wxString str(s);
|
|
||||||
(void)str.Replace(wxT("\t"), wxT("\\t"));
|
|
||||||
(void)str.Replace(wxT("\n"), wxT("\\n"));
|
|
||||||
(void)str.Replace(wxT("\r"), wxT("\\r"));
|
|
||||||
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // MakePrintable() is used
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxCmdLineParser
|
// wxCmdLineParser
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -2207,152 +2187,6 @@ static void TestScopeGuard()
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// sockets
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#ifdef TEST_SOCKETS
|
|
||||||
|
|
||||||
#include "wx/socket.h"
|
|
||||||
#include "wx/protocol/protocol.h"
|
|
||||||
#include "wx/protocol/http.h"
|
|
||||||
|
|
||||||
static void TestSocketServer()
|
|
||||||
{
|
|
||||||
wxPuts(wxT("*** Testing wxSocketServer ***\n"));
|
|
||||||
|
|
||||||
static const int PORT = 3000;
|
|
||||||
|
|
||||||
wxIPV4address addr;
|
|
||||||
addr.Service(PORT);
|
|
||||||
|
|
||||||
wxSocketServer *server = new wxSocketServer(addr);
|
|
||||||
if ( !server->Ok() )
|
|
||||||
{
|
|
||||||
wxPuts(wxT("ERROR: failed to bind"));
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool quit = false;
|
|
||||||
while ( !quit )
|
|
||||||
{
|
|
||||||
wxPrintf(wxT("Server: waiting for connection on port %d...\n"), PORT);
|
|
||||||
|
|
||||||
wxSocketBase *socket = server->Accept();
|
|
||||||
if ( !socket )
|
|
||||||
{
|
|
||||||
wxPuts(wxT("ERROR: wxSocketServer::Accept() failed."));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxPuts(wxT("Server: got a client."));
|
|
||||||
|
|
||||||
server->SetTimeout(60); // 1 min
|
|
||||||
|
|
||||||
bool close = false;
|
|
||||||
while ( !close && socket->IsConnected() )
|
|
||||||
{
|
|
||||||
wxString s;
|
|
||||||
wxChar ch = wxT('\0');
|
|
||||||
for ( ;; )
|
|
||||||
{
|
|
||||||
if ( socket->Read(&ch, sizeof(ch)).Error() )
|
|
||||||
{
|
|
||||||
// don't log error if the client just close the connection
|
|
||||||
if ( socket->IsConnected() )
|
|
||||||
{
|
|
||||||
wxPuts(wxT("ERROR: in wxSocket::Read."));
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ch == '\r' )
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if ( ch == '\n' )
|
|
||||||
break;
|
|
||||||
|
|
||||||
s += ch;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ch != '\n' )
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxPrintf(wxT("Server: got '%s'.\n"), s.c_str());
|
|
||||||
if ( s == wxT("close") )
|
|
||||||
{
|
|
||||||
wxPuts(wxT("Closing connection"));
|
|
||||||
|
|
||||||
close = true;
|
|
||||||
}
|
|
||||||
else if ( s == wxT("quit") )
|
|
||||||
{
|
|
||||||
close =
|
|
||||||
quit = true;
|
|
||||||
|
|
||||||
wxPuts(wxT("Shutting down the server"));
|
|
||||||
}
|
|
||||||
else // not a special command
|
|
||||||
{
|
|
||||||
socket->Write(s.MakeUpper().c_str(), s.length());
|
|
||||||
socket->Write("\r\n", 2);
|
|
||||||
wxPrintf(wxT("Server: wrote '%s'.\n"), s.c_str());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !close )
|
|
||||||
{
|
|
||||||
wxPuts(wxT("Server: lost a client unexpectedly."));
|
|
||||||
}
|
|
||||||
|
|
||||||
socket->Destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
// same as "delete server" but is consistent with GUI programs
|
|
||||||
server->Destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void TestSocketClient()
|
|
||||||
{
|
|
||||||
wxPuts(wxT("*** Testing wxSocketClient ***\n"));
|
|
||||||
|
|
||||||
static const wxChar *hostname = wxT("www.wxwidgets.org");
|
|
||||||
|
|
||||||
wxIPV4address addr;
|
|
||||||
addr.Hostname(hostname);
|
|
||||||
addr.Service(80);
|
|
||||||
|
|
||||||
wxPrintf(wxT("--- Attempting to connect to %s:80...\n"), hostname);
|
|
||||||
|
|
||||||
wxSocketClient client;
|
|
||||||
if ( !client.Connect(addr) )
|
|
||||||
{
|
|
||||||
wxPrintf(wxT("ERROR: failed to connect to %s\n"), hostname);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
wxPrintf(wxT("--- Connected to %s:%u...\n"),
|
|
||||||
addr.Hostname().c_str(), addr.Service());
|
|
||||||
|
|
||||||
wxChar buf[8192];
|
|
||||||
|
|
||||||
// could use simply "GET" here I suppose
|
|
||||||
wxString cmdGet =
|
|
||||||
wxString::Format(wxT("GET http://%s/\r\n"), hostname);
|
|
||||||
client.Write(cmdGet, cmdGet.length());
|
|
||||||
wxPrintf(wxT("--- Sent command '%s' to the server\n"),
|
|
||||||
MakePrintable(cmdGet).c_str());
|
|
||||||
client.Read(buf, WXSIZEOF(buf));
|
|
||||||
wxPrintf(wxT("--- Server replied:\n%s"), buf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // TEST_SOCKETS
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// FTP
|
// FTP
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@ -2947,11 +2781,6 @@ int main(int argc, char **argv)
|
|||||||
TestRegistryAssociation();
|
TestRegistryAssociation();
|
||||||
#endif // TEST_REGISTRY
|
#endif // TEST_REGISTRY
|
||||||
|
|
||||||
#ifdef TEST_SOCKETS
|
|
||||||
TestSocketServer();
|
|
||||||
TestSocketClient();
|
|
||||||
#endif // TEST_SOCKETS
|
|
||||||
|
|
||||||
#ifdef TEST_DATETIME
|
#ifdef TEST_DATETIME
|
||||||
#if TEST_INTERACTIVE
|
#if TEST_INTERACTIVE
|
||||||
TestDateTimeInteractive();
|
TestDateTimeInteractive();
|
||||||
|
Loading…
Reference in New Issue
Block a user