File: check_xalloc.c

package info (click to toggle)
ezstream 1.0.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,832 kB
  • sloc: ansic: 9,693; sh: 4,967; xml: 398; makefile: 230
file content (107 lines) | stat: -rw-r--r-- 1,719 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <check.h>

#include "xalloc.h"

Suite * xalloc_suite(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)
{
	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);
}