[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