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 /missing
stamp-h1 stamp-h1
src/taskrambler src/taskrambler
/tests/classTest
/tests/*Test

25
tests/Makefile.am

@ -1,8 +1,8 @@
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
TESTS_ENVIRONMENT = valgrind --error-exitcode=123 --leak-check=full --quiet 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 COMMON = runtest.c
CLASS = $(COMMON) \ CLASS = $(COMMON) \
@ -10,17 +10,19 @@ CLASS = $(COMMON) \
../src/class/interface/i_class.c \ ../src/class/interface/i_class.c \
mock/mock_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/logger.c \
../src/logger/stderr.c \ ../src/logger/stderr.c \
../src/logger/syslog.c \ ../src/logger/syslog.c \
../src/logger/interface/i_logger.c \ ../src/logger/interface/i_logger.c \
mock/mock_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 \ #SERVER = $(SOCKET) ../src/server.c ../src/server/run.c \
# ../src/server/close_conn.c ../src/utils/signalHandling.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_CFLAGS = -Wall -ggdb -O0 -fprofile-arcs -ftest-coverage -I ../include -I .. -I .
loggerTest_LDFLAGS = -lgcov 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_SOURCES = $(SERVER) serverTest.c
#serverTest_CFLAGS = -Wall -ggdb -O0 -I ../include -I .. -I . #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) check-build: $(check_PROGRAMS)

BIN
tests/loggerTest

61
tests/socketTest.c

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

Loading…
Cancel
Save