[asterisk-commits] mmichelson: branch group/dns_naptr r433337 - /team/group/dns_naptr/tests/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Mar 24 14:25:24 CDT 2015
Author: mmichelson
Date: Tue Mar 24 14:25:22 2015
New Revision: 433337
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=433337
Log:
Factor off-nominal tests into their own function.
Off-nominal NAPTR tests all follow the same pattern, so
instead of repeating the same thing, I can now make it
simpler to write new tests. Just specify the invalid records
and be done.
Modified:
team/group/dns_naptr/tests/test_dns_naptr.c
Modified: team/group/dns_naptr/tests/test_dns_naptr.c
URL: http://svnview.digium.com/svn/asterisk/team/group/dns_naptr/tests/test_dns_naptr.c?view=diff&rev=433337&r1=433336&r2=433337
==============================================================================
--- team/group/dns_naptr/tests/test_dns_naptr.c (original)
+++ team/group/dns_naptr/tests/test_dns_naptr.c Tue Mar 24 14:25:22 2015
@@ -332,9 +332,49 @@
return res;
}
+static enum ast_test_result_state off_nominal_test(struct ast_test *test, struct naptr_record *records, int num_records)
+{
+ RAII_VAR(struct ast_dns_result *, result, NULL, ast_dns_result_free);
+ enum ast_test_result_state res = AST_TEST_PASS;
+ const struct ast_dns_record *record;
+
+ test_records = records;
+ num_test_records = num_records;
+ memset(ans_buffer, 0, sizeof(ans_buffer));
+
+ ast_dns_resolver_register(&naptr_resolver);
+
+ if (ast_dns_resolve("goose.feathers", ns_t_naptr, ns_c_in, &result)) {
+ ast_test_status_update(test, "Failed to perform DNS resolution, despite using valid inputs\n");
+ res = AST_TEST_FAIL;
+ goto cleanup;
+ }
+
+ if (!result) {
+ ast_test_status_update(test, "Synchronous DNS resolution failed to set a result\n");
+ res = AST_TEST_FAIL;
+ goto cleanup;
+ }
+
+ record = ast_dns_result_get_records(result);
+ if (record) {
+ ast_test_status_update(test, "DNS resolution returned records when it was not expected to\n");
+ res = AST_TEST_FAIL;
+ goto cleanup;
+ }
+
+cleanup:
+ ast_dns_resolver_unregister(&naptr_resolver);
+
+ test_records = NULL;
+ num_test_records = 0;
+ memset(ans_buffer, 0, sizeof(ans_buffer));
+
+ return res;
+}
+
AST_TEST_DEFINE(naptr_resolve_off_nominal_length)
{
- RAII_VAR(struct ast_dns_result *, result, NULL, ast_dns_result_free);
struct naptr_record records[] = {
{ 100, 100, {255, "A"}, {4, "BLAH"}, {15, "!.*!horse.mane!"}, "" },
{ 100, 100, {0, "A"}, {4, "BLAH"}, {15, "!.*!horse.mane!"}, "" },
@@ -345,8 +385,6 @@
{ 100, 100, {255, "A"}, {255, "BLAH"}, {255, "!.*!horse.mane!"}, "" },
{ 100, 100, {0, "A"}, {2, "BLAH"}, {3, "!.*!horse.mane!"}, "" },
};
- enum ast_test_result_state res = AST_TEST_PASS;
- const struct ast_dns_record *record;
switch (cmd) {
case TEST_INIT:
@@ -362,45 +400,11 @@
break;
}
- test_records = records;
- num_test_records = ARRAY_LEN(records);
- memset(ans_buffer, 0, sizeof(ans_buffer));
-
- ast_dns_resolver_register(&naptr_resolver);
-
- if (ast_dns_resolve("goose.feathers", ns_t_naptr, ns_c_in, &result)) {
- ast_test_status_update(test, "Failed to perform DNS resolution, despite using valid inputs\n");
- res = AST_TEST_FAIL;
- goto cleanup;
- }
-
- if (!result) {
- ast_test_status_update(test, "Synchronous DNS resolution failed to set a result\n");
- res = AST_TEST_FAIL;
- goto cleanup;
- }
-
- record = ast_dns_result_get_records(result);
- if (record) {
- ast_test_status_update(test, "DNS resolution returned records when it was not expected to\n");
- res = AST_TEST_FAIL;
- goto cleanup;
- }
-
-cleanup:
-
- ast_dns_resolver_unregister(&naptr_resolver);
-
- test_records = NULL;
- num_test_records = 0;
- memset(ans_buffer, 0, sizeof(ans_buffer));
-
- return res;
+ return off_nominal_test(test, records, ARRAY_LEN(records));
}
AST_TEST_DEFINE(naptr_resolve_off_nominal_flags)
{
- RAII_VAR(struct ast_dns_result *, result, NULL, ast_dns_result_free);
struct naptr_record records[] = {
/* Non-alphanumeric flag */
{ 100, 100, {1, "\x0a"}, {4, "BLAH"}, {15, "!.*!horse.mane!"}, ""},
@@ -420,8 +424,6 @@
{ 100, 100, {2, "ps"}, {4, "BLAH"}, {15, "!.*!horse.mane!"}, ""},
{ 100, 100, {2, "pu"}, {4, "BLAH"}, {15, "!.*!horse.mane!"}, ""},
};
- enum ast_test_result_state res = AST_TEST_PASS;
- const struct ast_dns_record *record;
switch (cmd) {
case TEST_INIT:
@@ -437,40 +439,7 @@
break;
}
- test_records = records;
- num_test_records = ARRAY_LEN(records);
- memset(ans_buffer, 0, sizeof(ans_buffer));
-
- ast_dns_resolver_register(&naptr_resolver);
-
- if (ast_dns_resolve("goose.feathers", ns_t_naptr, ns_c_in, &result)) {
- ast_test_status_update(test, "Failed to perform DNS resolution, despite using valid inputs\n");
- res = AST_TEST_FAIL;
- goto cleanup;
- }
-
- if (!result) {
- ast_test_status_update(test, "Synchronous DNS resolution failed to set a result\n");
- res = AST_TEST_FAIL;
- goto cleanup;
- }
-
- record = ast_dns_result_get_records(result);
- if (record) {
- ast_test_status_update(test, "DNS resolution returned records when it was not expected to\n");
- res = AST_TEST_FAIL;
- goto cleanup;
- }
-
-cleanup:
-
- ast_dns_resolver_unregister(&naptr_resolver);
-
- test_records = NULL;
- num_test_records = 0;
- memset(ans_buffer, 0, sizeof(ans_buffer));
-
- return res;
+ return off_nominal_test(test, records, ARRAY_LEN(records));
}
static int unload_module(void)
More information about the asterisk-commits
mailing list