6 #include "mock_prefs_common_get_use_shred.h"
7 #include "mock_prefs_common_get_flush_metadata.h"
18 #define ASSERTMSG_NULLINPUT "*CRITICAL* 'str != NULL' failed*"
19 #define ASSERTMSG_FAILED "*could not parse filename*"
23 FALSE, ASSERTMSG_NULLINPUT,
26 struct td td_empty = {
28 FALSE, ASSERTMSG_FAILED,
31 struct td td_suffixonly = {
33 FALSE, ASSERTMSG_FAILED,
36 struct td td_hostonly = {
38 FALSE, ASSERTMSG_FAILED,
41 struct td td_short_nofp = {
44 "shorthost", "10", NULL
46 struct td td_short_fp = {
47 "shorthost.10.ab:cd:ef:gh.cert",
49 "shorthost", "10", "ab:cd:ef:gh"
51 struct td td_ip_nofp = {
52 "10.20.30.40.10.cert",
54 "10.20.30.40", "10", NULL
56 struct td td_ip_fp = {
57 "10.20.30.40.10.ab:cd:ef:gh.cert",
59 "10.20.30.40", "10", "ab:cd:ef:gh"
61 struct td td_long_nofp = {
62 "longer.host.name.10.cert",
64 "longer.host.name", "10", NULL
66 struct td td_long_fp = {
67 "longer.host.name.10.ab:cd:ef:gh.cert",
69 "longer.host.name", "10", "ab:cd:ef:gh"
71 struct td td_cert_starts_with_digits = {
72 "longer.host.name.10.20:cd:ef:gh.cert",
74 "longer.host.name", "10", "20:cd:ef:gh"
78 test_utils_get_serverportfp_from_filename_nulloutput()
80 if (!g_test_undefined())
83 if (g_test_subprocess()) {
84 gboolean ret = get_serverportfp_from_filename("valid.host.10.ab:cd:ef:gh.cert",
90 g_test_trap_subprocess(NULL, 0, 0);
91 g_test_trap_assert_failed();
95 test_utils_get_serverportfp_from_filename(gconstpointer user_data)
97 const struct td *data = (const struct td *)user_data;
99 if (!g_test_undefined())
102 if (g_test_subprocess()) {
103 gchar *host, *port, *fp;
104 gboolean ret = get_serverportfp_from_filename(data->str, &host, &port, &fp);
106 g_assert_true(ret == data->ret);
107 g_assert_cmpstr(host, ==, data->host);
108 g_assert_cmpstr(port, ==, data->port);
109 g_assert_cmpstr(fp, ==, data->fp);
113 g_test_trap_subprocess(NULL, 0, 0);
115 if (!data->ret && data->assertmsg != NULL) {
116 g_test_trap_assert_stderr(data->assertmsg);
117 g_test_trap_assert_failed();
119 g_test_trap_assert_passed();
124 main(int argc, char *argv[])
126 g_test_init(&argc, &argv, NULL);
128 g_test_add_func("/common/utils/get_serverportfp_from_filename/nulloutput",
129 test_utils_get_serverportfp_from_filename_nulloutput);
131 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/null",
132 &td_null, test_utils_get_serverportfp_from_filename);
133 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/empty",
134 &td_empty, test_utils_get_serverportfp_from_filename);
135 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/suffixonly",
136 &td_suffixonly, test_utils_get_serverportfp_from_filename);
137 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/hostonly",
138 &td_hostonly, test_utils_get_serverportfp_from_filename);
139 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/short_nofp",
140 &td_short_nofp, test_utils_get_serverportfp_from_filename);
141 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/short_fp",
142 &td_short_fp, test_utils_get_serverportfp_from_filename);
143 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/ip_nofp",
144 &td_ip_nofp, test_utils_get_serverportfp_from_filename);
145 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/ip_fp",
146 &td_ip_fp, test_utils_get_serverportfp_from_filename);
147 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/long_nofp",
148 &td_long_nofp, test_utils_get_serverportfp_from_filename);
149 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/long_fp",
150 &td_long_fp, test_utils_get_serverportfp_from_filename);
151 g_test_add_data_func("/common/utils/get_serverportfp_from_filename/cert_starts_with_digits",
152 &td_cert_starts_with_digits, test_utils_get_serverportfp_from_filename);