mirror of
https://gitlab.xiph.org/xiph/ezstream.git
synced 2024-12-04 14:46:31 -05:00
Test xalloc (as much as possible)
This commit is contained in:
parent
459eeea2a2
commit
111f219f17
@ -3,7 +3,8 @@ AUTOMAKE_OPTIONS = 1.10 foreign subdir-objects
|
|||||||
TESTS = \
|
TESTS = \
|
||||||
check_cfg \
|
check_cfg \
|
||||||
check_cfg_xmlfile \
|
check_cfg_xmlfile \
|
||||||
check_log
|
check_log \
|
||||||
|
check_xalloc
|
||||||
check_PROGRAMS = $(TESTS)
|
check_PROGRAMS = $(TESTS)
|
||||||
|
|
||||||
check_cfg_SOURCES = \
|
check_cfg_SOURCES = \
|
||||||
@ -19,7 +20,12 @@ check_cfg_xmlfile_LDADD = $(check_cfg_xmlfile_DEPENDENCIES) @CHECK_LIBS@
|
|||||||
check_log_SOURCES = \
|
check_log_SOURCES = \
|
||||||
check_log.c
|
check_log.c
|
||||||
check_log_DEPENDENCIES = $(top_builddir)/src/libezstream.la
|
check_log_DEPENDENCIES = $(top_builddir)/src/libezstream.la
|
||||||
check_log_LDADD = $(check_cfg_xmlfile_DEPENDENCIES) @CHECK_LIBS@
|
check_log_LDADD = $(check_log_DEPENDENCIES) @CHECK_LIBS@
|
||||||
|
|
||||||
|
check_xalloc_SOURCES = \
|
||||||
|
check_xalloc.c
|
||||||
|
check_xalloc_DEPENDENCIES = $(top_builddir)/src/libezstream.la
|
||||||
|
check_xalloc_LDADD = $(check_xalloc_DEPENDENCIES) @CHECK_LIBS@
|
||||||
|
|
||||||
AM_CPPFLAGS = @EZ_CPPFLAGS@ \
|
AM_CPPFLAGS = @EZ_CPPFLAGS@ \
|
||||||
-I$(top_srcdir)/compat \
|
-I$(top_srcdir)/compat \
|
||||||
|
109
tests/check_xalloc.c
Normal file
109
tests/check_xalloc.c
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
#include <check.h>
|
||||||
|
|
||||||
|
#include "xalloc.h"
|
||||||
|
|
||||||
|
Suite * xalloc_suite(void);
|
||||||
|
void setup_checked(void);
|
||||||
|
void teardown_checked(void);
|
||||||
|
|
||||||
|
START_TEST(test_malloc)
|
||||||
|
{
|
||||||
|
void *p;
|
||||||
|
|
||||||
|
p = xmalloc(0);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
p = xmalloc(1);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST(test_calloc)
|
||||||
|
{
|
||||||
|
void *p;
|
||||||
|
|
||||||
|
p = xcalloc(0, 0);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
p = xcalloc(1, 0);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
p = xcalloc(0, 1);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
p = xcalloc(1, 1);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST(test_reallocarray)
|
||||||
|
{
|
||||||
|
void *p;
|
||||||
|
|
||||||
|
p = xreallocarray(NULL, 0, 0);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
p = xreallocarray(NULL, 1, 0);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
p = xreallocarray(NULL, 0, 1);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
p = xreallocarray(NULL, 1, 1);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
p = xreallocarray(p, 2, 2);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
p = xreallocarray(p, 1, 1);
|
||||||
|
ck_assert_ptr_ne(p, NULL);
|
||||||
|
xfree(p);
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST(test_strdup)
|
||||||
|
{
|
||||||
|
char *s;
|
||||||
|
|
||||||
|
s = xstrdup("test");
|
||||||
|
ck_assert_str_eq(s, "test");
|
||||||
|
xfree(s);
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
|
Suite *
|
||||||
|
xalloc_suite(void)
|
||||||
|
{
|
||||||
|
Suite *s;
|
||||||
|
TCase *tc_xalloc;
|
||||||
|
|
||||||
|
s = suite_create("Xalloc");
|
||||||
|
|
||||||
|
tc_xalloc = tcase_create("Xalloc");
|
||||||
|
tcase_add_test(tc_xalloc, test_malloc);
|
||||||
|
tcase_add_test(tc_xalloc, test_calloc);
|
||||||
|
tcase_add_test(tc_xalloc, test_reallocarray);
|
||||||
|
tcase_add_test(tc_xalloc, test_strdup);
|
||||||
|
suite_add_tcase(s, tc_xalloc);
|
||||||
|
|
||||||
|
return (s);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(void)
|
||||||
|
{
|
||||||
|
unsigned int num_failed;
|
||||||
|
Suite *s;
|
||||||
|
SRunner *sr;
|
||||||
|
|
||||||
|
s = xalloc_suite();
|
||||||
|
sr = srunner_create(s);
|
||||||
|
|
||||||
|
srunner_run_all(sr, CK_NORMAL);
|
||||||
|
num_failed = srunner_ntests_failed(sr);
|
||||||
|
srunner_free(sr);
|
||||||
|
|
||||||
|
if (num_failed)
|
||||||
|
return (1);
|
||||||
|
return (0);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user