This source file includes following definitions.
- empty_list
- non_null_list
1
2
3
4
5
6
7
8
9
10 #include <crm_internal.h>
11
12 #include <crm/common/unittest_internal.h>
13 #include <crm/pengine/internal.h>
14
15 static void
16 empty_list(void **state) {
17 assert_null(pe_find_node_any(NULL, NULL, NULL));
18 assert_null(pe_find_node_any(NULL, NULL, "cluster1"));
19 assert_null(pe_find_node_any(NULL, "id1", NULL));
20 assert_null(pe_find_node_any(NULL, "id1", "cluster1"));
21 }
22
23 static void
24 non_null_list(void **state) {
25 GList *nodes = NULL;
26
27 pcmk_node_t *a = pcmk__assert_alloc(1, sizeof(pcmk_node_t));
28 pcmk_node_t *b = pcmk__assert_alloc(1, sizeof(pcmk_node_t));
29
30 a->priv = pcmk__assert_alloc(1, sizeof(struct pcmk__node_private));
31 b->priv = pcmk__assert_alloc(1, sizeof(struct pcmk__node_private));
32
33 a->priv->name = "cluster1";
34 a->priv->id = "id1";
35
36 b->priv->name = "cluster2";
37 b->priv->id = "id2";
38
39 nodes = g_list_append(nodes, a);
40 nodes = g_list_append(nodes, b);
41
42 assert_ptr_equal(b, pe_find_node_any(nodes, "id2", NULL));
43 assert_ptr_equal(b, pe_find_node_any(nodes, "ID2", NULL));
44
45 assert_ptr_equal(a, pe_find_node_any(nodes, "xyz", "cluster1"));
46 assert_ptr_equal(a, pe_find_node_any(nodes, NULL, "cluster1"));
47
48 assert_null(pe_find_node_any(nodes, "id10", NULL));
49 assert_null(pe_find_node_any(nodes, "nodeid1", NULL));
50 assert_null(pe_find_node_any(nodes, NULL, "cluster10"));
51 assert_null(pe_find_node_any(nodes, NULL, "nodecluster1"));
52 assert_null(pe_find_node_any(nodes, "id3", "cluster3"));
53 assert_null(pe_find_node_any(nodes, NULL, NULL));
54
55 free(a->priv);
56 free(a);
57 free(b->priv);
58 free(b);
59 g_list_free(nodes);
60 }
61
62 PCMK__UNIT_TEST(NULL, NULL,
63 cmocka_unit_test(empty_list),
64 cmocka_unit_test(non_null_list))