diff --git a/.gitignore b/.gitignore index 4b7c0ef..f66ac0f 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ /examples/raw_receiver /examples/raw_sender /tests/test_dummy +/tests/test_init diff --git a/Makefile.am b/Makefile.am index 2d92fbe..308da46 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/configure.ac b/configure.ac index 8717d10..a8dedfb 100644 --- a/configure.ac +++ b/configure.ac @@ -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]) diff --git a/tests/test_init.c b/tests/test_init.c new file mode 100644 index 0000000..7a6add5 --- /dev/null +++ b/tests/test_init.c @@ -0,0 +1,29 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include + +#include +#include +#include + +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; +}