std::vector<bool> callback_done;
+ pid_t child_pid;
+
public:
void setUp()
void tearDown()
{
callback_done.clear();
+
+ // make sure the server-child is dead before the next test runs
+ kill(child_pid,SIGKILL);
+ sleep(1);
}
void callback_func(callback_event_type ev, int conn_id)
void ServerNewConnCallback()
{
- pid_t pid;
-
- switch(pid=fork())
+ switch(child_pid=fork())
{
case -1:
{
void ServerConnClosedCallback()
{
- pid_t pid;
-
- switch(pid=fork())
+ switch(child_pid=fork())
{
case -1:
{
void ServerConnDeletedCallback()
{
- pid_t pid;
-
- switch(pid=fork())
+ switch(child_pid=fork())
{
case -1:
{
void ServerCallbackOrder()
{
- pid_t pid;
-
- switch(pid=fork())
+ switch(child_pid=fork())
{
case -1:
{
bool got_1=false;
- for (int i=0; i < 4; i++)
+ for (int i=0; i < 5; i++)
{
ss.fill_buffer(500000);
}
ss.cleanup();
- CPPUNIT_ASSERT_EQUAL(true,static_cast<bool>(callback_done[connection_closed]));
- CPPUNIT_ASSERT_EQUAL(false,static_cast<bool>(callback_done[connection_deleted]));
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("closed done",true,static_cast<bool>(callback_done[connection_closed]));
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("not deleted yet",false,static_cast<bool>(callback_done[connection_deleted]));
for (int i=0; i < 4; i++)
{
}
ss.cleanup();
- CPPUNIT_ASSERT_EQUAL(true,static_cast<bool>(callback_done[connection_closed]));
- CPPUNIT_ASSERT_EQUAL(true,static_cast<bool>(callback_done[connection_deleted]));
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("closed done (2)",true,static_cast<bool>(callback_done[connection_closed]));
+ CPPUNIT_ASSERT_EQUAL_MESSAGE("deleted done",true,static_cast<bool>(callback_done[connection_deleted]));
}
}
}
void ClientConnClosedCallback()
{
- pid_t pid;
-
- switch(pid=fork())
+ switch(child_pid=fork())
{
case -1:
{
void ClientConnDeletedCallback()
{
- pid_t pid;
-
- switch(pid=fork())
+ switch(child_pid=fork())
{
case -1:
{