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 = \
|
||||
check_cfg \
|
||||
check_cfg_xmlfile \
|
||||
check_log
|
||||
check_log \
|
||||
check_xalloc
|
||||
check_PROGRAMS = $(TESTS)
|
||||
|
||||
check_cfg_SOURCES = \
|
||||
@ -19,7 +20,12 @@ check_cfg_xmlfile_LDADD = $(check_cfg_xmlfile_DEPENDENCIES) @CHECK_LIBS@
|
||||
check_log_SOURCES = \
|
||||
check_log.c
|
||||
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@ \
|
||||
-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