Browse Source

some tests for socket class

release0.1.5
Georg Hopp 14 years ago
parent
commit
f952a214aa
  1. 2
      .gitignore
  2. 25
      tests/Makefile.am
  3. BIN
      tests/loggerTest
  4. 61
      tests/socketTest.c

2
.gitignore

@ -26,4 +26,4 @@ coveragereport/
/missing
stamp-h1
src/taskrambler
/tests/classTest
/tests/*Test

25
tests/Makefile.am

@ -1,8 +1,8 @@
ACLOCAL_AMFLAGS = -I m4
TESTS_ENVIRONMENT = valgrind --error-exitcode=123 --leak-check=full --quiet
TESTS = classTest loggerTest# socketTest serverTest
check_PROGRAMS = classTest loggerTest# socketTest serverTest
TESTS = classTest loggerTest socketTest# serverTest
check_PROGRAMS = classTest loggerTest socketTest# serverTest
COMMON = runtest.c
CLASS = $(COMMON) \
@ -10,17 +10,19 @@ CLASS = $(COMMON) \
../src/class/interface/i_class.c \
mock/mock_class.c
LOGGER = $(COMMON) \
../src/class/interface.c \
../src/class/interface/i_class.c \
LOGGER = $(CLASS) \
../src/logger/logger.c \
../src/logger/stderr.c \
../src/logger/syslog.c \
../src/logger/interface/i_logger.c \
mock/mock_logger.c
#SOCKET = $(LOGGER) ../src/socket.c ../src/socket/listen.c \
# ../src/socket/accept.c ../src/socket/connect.c
SOCKET = $(LOGGER) \
../src/socket/socket.c \
../src/socket/listen.c \
../src/socket/accept.c \
../src/socket/connect.c
#SERVER = $(SOCKET) ../src/server.c ../src/server/run.c \
# ../src/server/close_conn.c ../src/utils/signalHandling.c
@ -32,12 +34,13 @@ loggerTest_SOURCES = $(LOGGER) loggerTest.c
loggerTest_CFLAGS = -Wall -ggdb -O0 -fprofile-arcs -ftest-coverage -I ../include -I .. -I .
loggerTest_LDFLAGS = -lgcov
#socketTest_SOURCES = $(SOCKET) socketTest.c
#socketTest_CFLAGS = -Wall -ggdb -O0 -I ../include -I .. -I .
#
socketTest_SOURCES = $(SOCKET) socketTest.c
socketTest_CFLAGS = -Wall -ggdb -O0 -fprofile-arcs -ftest-coverage -I ../include -I .. -I .
socketTest_LDFLAGS = -lgcov
#serverTest_SOURCES = $(SERVER) serverTest.c
#serverTest_CFLAGS = -Wall -ggdb -O0 -I ../include -I .. -I .
EXTRA_DIST = runtest.h mock/mock_class.h
EXTRA_DIST = runtest.h mock/mock_class.h mock/mock_logger.h
check-build: $(check_PROGRAMS)

BIN
tests/loggerTest

61
tests/socketTest.c

@ -3,40 +3,30 @@
#include <unistd.h>
#include "runtest.h"
#include "logger.h"
#include "cclass.h"
#include "class.h"
#include "socket.h"
#include "logger.h"
#include "mock/mock_logger.h"
#define TEST_PORT 11212
int level = -1;
char * msg = NULL;
static void
logfnct_mock(int _level, const char * _msg)
{
level = _level;
msg = malloc(strlen(_msg) + 1);
strcpy(msg, _msg);
}
const char testname[] = "socketTest";
LOGGER logger = NULL;
SOCK sock = NULL;
MockLogger logger = NULL;
Sock sock = NULL;
static
int
__setUp()
{
logger = new(LOGGER, NULL);
logger_add(logger, logfnct_mock);
logger = new(MockLogger, LOGGER_DEBUG);
sock = new(SOCK, logger, TEST_PORT);
sock = new(Sock, logger, TEST_PORT);
ASSERT_INSTANCE_OF(SOCK, sock);
ASSERT_INSTANCE_OF(LOGGER, sock->logger);
ASSERT_INSTANCE_OF(Sock, sock);
ASSERT_INSTANCE_OF(MockLogger, sock->log);
ASSERT_EQUAL(TEST_PORT, sock->port);
ASSERT_NOT_EQUAL(0, sock->handle);
@ -48,21 +38,14 @@ static
int
__tearDown()
{
level = -1;
if (NULL != msg) {
free(msg);
msg = NULL;
}
if (NULL != logger) {
ASSERT_OBJECT(logger);
delete(&logger);
delete(logger);
}
if (NULL != sock) {
ASSERT_OBJECT(sock);
delete(&sock);
delete(sock);
}
return TEST_OK;
@ -73,29 +56,29 @@ static
int
testListen()
{
sock_listen(sock, 10);
socketListen(sock, 10);
return TEST_OK;
}
static
int
testAccept()
testAcceptConnect()
{
SOCK acc, con;
Sock acc, con;
char addr[16];
pid_t pid;
sock_listen(sock, 10);
socketListen(sock, 10);
pid = fork();
switch(pid) {
case 0:
con = new(SOCK, logger, TEST_PORT);
con = new(Sock, logger, TEST_PORT);
sleep(1);
sock_connect(con, "127.0.0.1");
delete(&con);
socketConnect(con, "127.0.0.1", &addr);
delete(con);
__tearDown();
exit(EXIT_SUCCESS);
@ -103,12 +86,12 @@ testAccept()
return TEST_FAILED;
default:
acc = sock_accept(sock, addr);
acc = socketAccept(sock, &addr);
}
if (NULL != acc) {
ASSERT_OBJECT(acc);
delete(&acc);
delete(acc);
}
return TEST_OK;
@ -116,7 +99,7 @@ testAccept()
const testfunc tests[] = {
testListen,
testAccept
testAcceptConnect
};
const size_t count = FUNCS_COUNT(tests);

Loading…
Cancel
Save