Add test for function "shmemq_init"

This commit is contained in:
Alex Kotov 2020-12-13 18:16:53 +05:00
parent e4d35722d4
commit 391c39379b
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
4 changed files with 38 additions and 1 deletions

1
.gitignore vendored
View File

@ -37,3 +37,4 @@
/examples/raw_receiver
/examples/raw_sender
/tests/test_dummy
/tests/test_init

View File

@ -9,7 +9,8 @@ AM_CFLAGS = \
lib_LIBRARIES = libshmemq.a
TESTS = \
tests/test_dummy
tests/test_dummy \
tests/test_init
noinst_PROGRAMS = \
$(TESTS) \
@ -29,3 +30,7 @@ examples_raw_sender_SOURCES = \
tests_test_dummy_SOURCES = \
$(libshmemq_a_SOURCES) \
tests/test_dummy.c
tests_test_init_SOURCES = \
$(libshmemq_a_SOURCES) \
tests/test_init.c

View File

@ -39,7 +39,9 @@ AC_CHECK_HEADERS([sys/stat.h])
AC_CHECK_HEADERS([unistd.h])
AC_CHECK_FUNCS([ftruncate])
AC_CHECK_FUNCS([memset])
AC_CHECK_FUNCS([munmap])
AC_CHECK_FUNCS([strcmp])
AC_CHECK_FUNCS([strcpy])
AC_CHECK_FUNCS([strlen])

29
tests/test_init.c Normal file
View File

@ -0,0 +1,29 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <shmemq.h>
#include <assert.h>
#include <string.h>
#include <sys/mman.h>
int main()
{
struct Shmemq shmemq;
memset(&shmemq, 0, sizeof(shmemq));
assert(shmemq_init(&shmemq, "/foobar", true) == SHMEMQ_ERROR_NONE);
assert(strcmp(shmemq.name, "/foobar") == 0);
assert(shmemq.is_consumer == true);
assert(shmemq.shm_id != -1);
assert(shmemq.buffer != NULL);
assert(shmemq.buffer->header.frames_count == 0);
assert(shmemq.buffer->header.read_frame_index == 0);
assert(shmemq.buffer->header.write_frame_index == 0);
assert(shm_unlink("/foobar") == 0);
return 0;
}