1
0
mirror of https://gitlab.xiph.org/xiph/ezstream.git synced 2024-12-04 14:46:31 -05:00
ezstream/tests/check_xalloc.c
Moritz Grimm e05629e7fd Explicitly pass unsigned long to alloc functions
This is just to squelch Wconversion warnings on older GCC, making the
build output easier to read. No functional change.
2015-05-26 08:04:04 +02:00

110 lines
1.8 KiB
C

#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(0UL);
ck_assert_ptr_ne(p, NULL);
xfree(p);
p = xmalloc(1UL);
ck_assert_ptr_ne(p, NULL);
xfree(p);
}
END_TEST
START_TEST(test_calloc)
{
void *p;
p = xcalloc(0UL, 0UL);
ck_assert_ptr_ne(p, NULL);
xfree(p);
p = xcalloc(1UL, 0UL);
ck_assert_ptr_ne(p, NULL);
xfree(p);
p = xcalloc(0UL, 1UL);
ck_assert_ptr_ne(p, NULL);
xfree(p);
p = xcalloc(1UL, 1UL);
ck_assert_ptr_ne(p, NULL);
xfree(p);
}
END_TEST
START_TEST(test_reallocarray)
{
void *p;
p = xreallocarray(NULL, 0UL, 0UL);
ck_assert_ptr_ne(p, NULL);
xfree(p);
p = xreallocarray(NULL, 1UL, 0UL);
ck_assert_ptr_ne(p, NULL);
xfree(p);
p = xreallocarray(NULL, 0UL, 1UL);
ck_assert_ptr_ne(p, NULL);
xfree(p);
p = xreallocarray(NULL, 1UL, 1UL);
ck_assert_ptr_ne(p, NULL);
p = xreallocarray(p, 2UL, 2UL);
ck_assert_ptr_ne(p, NULL);
p = xreallocarray(p, 1UL, 1UL);
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);
}