1 /***************************************************************************
2 * Copyright (C) 2004 by Intra2net AG *
5 ***************************************************************************/
18 #include <cppunit/extensions/TestFactoryRegistry.h>
19 #include <cppunit/ui/text/TestRunner.h>
20 #include <cppunit/extensions/HelperMacros.h>
22 #include <socket_client.hxx>
23 #include <socket_server.hxx>
26 using namespace libt2n;
27 using namespace CppUnit;
29 class test_comm : public TestFixture
31 CPPUNIT_TEST_SUITE(test_comm);
33 CPPUNIT_TEST(UnixCommToServer);
34 CPPUNIT_TEST(UnixCommToServerAndBack);
35 CPPUNIT_TEST(IPCommToServer);
37 CPPUNIT_TEST_SUITE_END();
47 void UnixCommToServer()
56 CPPUNIT_FAIL("fork error");
62 // wait till server is up
64 socket_client_connection sc("./socket");
66 // don't call atexit and stuff
73 socket_server ss("./socket");
76 for (int i=0; i < 10; i++)
78 ss.fill_buffer(1000000);
80 if(ss.get_packet(data))
85 CPPUNIT_ASSERT_EQUAL(string("hello"),data);
88 void UnixCommToServerAndBack()
96 CPPUNIT_FAIL("fork error");
102 socket_server ss("./socket");
103 ss.set_logging(&cerr,debug);
106 for (int i=0; i < 10; i++)
108 ss.fill_buffer(1000000);
113 if(ss.get_packet(data,cid))
115 server_connection* con=ss.get_connection(cid);
126 // don't call atexit and stuff
135 // wait till server is up
137 socket_client_connection sc("./socket");
141 sc.fill_buffer(1000000);
144 CPPUNIT_ASSERT_EQUAL(string("DEF"),data);
148 sc.fill_buffer(1000000);
151 CPPUNIT_ASSERT_EQUAL(string("xyz"),data);
158 void IPCommToServer()
167 CPPUNIT_FAIL("fork error");
173 // wait till server is up
175 socket_client_connection sc("localhost",6666,socket_client_connection::max_retries_default);
177 // don't call atexit and stuff
184 socket_server ss(6666);
187 for (int i=0; i < 10; i++)
189 ss.fill_buffer(1000000);
191 if(ss.get_packet(data))
196 CPPUNIT_ASSERT_EQUAL(string("hello"),data);
201 CPPUNIT_TEST_SUITE_REGISTRATION(test_comm);