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(UnixCommToServerAndBackBig);
36 CPPUNIT_TEST(IPCommToServer);
37 CPPUNIT_TEST(IPCommToServerAndBack);
39 CPPUNIT_TEST_SUITE_END();
49 void UnixCommToServer()
58 CPPUNIT_FAIL("fork error");
64 // wait till server is up
66 socket_client_connection sc("./socket");
68 // don't call atexit and stuff
75 socket_server ss("./socket");
78 for (int i=0; i < 10; i++)
80 ss.fill_buffer(1000000);
82 if(ss.get_packet(data))
87 CPPUNIT_ASSERT_EQUAL(string("hello"),data);
90 void UnixCommToServerAndBack()
98 CPPUNIT_FAIL("fork error");
104 socket_server ss("./socket");
105 ss.set_logging(&cerr,debug);
108 for (int i=0; i < 10; i++)
110 ss.fill_buffer(1000000);
115 if(ss.get_packet(data,cid))
117 server_connection* con=ss.get_connection(cid);
128 // don't call atexit and stuff
137 // wait till server is up
139 socket_client_connection sc("./socket");
143 sc.fill_buffer(1000000);
146 CPPUNIT_ASSERT_EQUAL(string("DEF"),data);
150 sc.fill_buffer(1000000);
153 CPPUNIT_ASSERT_EQUAL(string("xyz"),data);
160 void UnixCommToServerAndBackBig()
168 CPPUNIT_FAIL("fork error");
174 socket_server ss("./socket");
175 ss.set_logging(&cerr,debug);
178 for (int i=0; i < 10; i++)
180 ss.fill_buffer(1000000);
185 if(ss.get_packet(data,cid))
187 server_connection* con=ss.get_connection(cid);
192 con->write(string().insert(0,100*1024,'y'));
195 // don't call atexit and stuff
204 // wait till server is up
206 socket_client_connection sc("./socket");
208 sc.write(string().insert(0,100*1024,'x'));
210 while (!sc.get_packet(data))
211 sc.fill_buffer(1000000);
213 CPPUNIT_ASSERT_EQUAL(string().insert(0,100*1024,'y'),data);
220 void IPCommToServer()
229 CPPUNIT_FAIL("fork error");
235 // wait till server is up
237 socket_client_connection sc(6666);
239 // don't call atexit and stuff
246 socket_server ss(6666);
249 for (int i=0; i < 10; i++)
251 ss.fill_buffer(1000000);
253 if(ss.get_packet(data))
258 CPPUNIT_ASSERT_EQUAL(string("hello"),data);
261 void IPCommToServerAndBack()
269 CPPUNIT_FAIL("fork error");
275 socket_server ss(6666);
276 ss.set_logging(&cerr,debug);
279 for (int i=0; i < 10; i++)
281 ss.fill_buffer(1000000);
286 if(ss.get_packet(data,cid))
288 server_connection* con=ss.get_connection(cid);
299 // don't call atexit and stuff
308 // wait till server is up
310 socket_client_connection sc(6666);
313 sc.fill_buffer(1000000);
316 CPPUNIT_ASSERT_EQUAL(string("DEF"),data);
320 sc.fill_buffer(1000000);
323 CPPUNIT_ASSERT_EQUAL(string("xyz"),data);
332 CPPUNIT_TEST_SUITE_REGISTRATION(test_comm);