Undo formatting on test suite -- it wasn't right

This commit is contained in:
Patrick J Cherry
2018-02-20 10:13:42 +00:00
parent f47f56d4c4
commit 103bd7ad5b
16 changed files with 1844 additions and 1722 deletions

View File

@@ -6,112 +6,110 @@
#include <check.h>
START_TEST(test_sockaddr_address_string_af_inet_converts_to_string)
START_TEST( test_sockaddr_address_string_af_inet_converts_to_string )
{
struct sockaddr sa;
struct sockaddr_in *v4 = (struct sockaddr_in *) &sa;
char testbuf[128];
const char *result;
struct sockaddr sa;
struct sockaddr_in* v4 = (struct sockaddr_in*) &sa;
char testbuf[128];
const char* result;
v4->sin_family = AF_INET;
v4->sin_port = htons(4777);
ck_assert_int_eq(1, inet_pton(AF_INET, "192.168.0.1", &v4->sin_addr));
v4->sin_family = AF_INET;
v4->sin_port = htons( 4777 );
ck_assert_int_eq( 1, inet_pton( AF_INET, "192.168.0.1", &v4->sin_addr ));
result = sockaddr_address_string(&sa, &testbuf[0], 128);
ck_assert(result != NULL);
result = sockaddr_address_string( &sa, &testbuf[0], 128 );
ck_assert( result != NULL );
ck_assert_str_eq("192.168.0.1 port 4777", testbuf);
ck_assert_str_eq( "192.168.0.1 port 4777", testbuf );
}
END_TEST
START_TEST(test_sockaddr_address_string_af_inet6_converts_to_string)
START_TEST( test_sockaddr_address_string_af_inet6_converts_to_string )
{
struct sockaddr_in6 v6_raw;
struct sockaddr_in6 *v6 = &v6_raw;
struct sockaddr *sa = (struct sockaddr *) &v6_raw;
struct sockaddr_in6 v6_raw;
struct sockaddr_in6* v6 = &v6_raw;
struct sockaddr* sa = (struct sockaddr*) &v6_raw;
char testbuf[128];
const char *result;
char testbuf[128];
const char* result;
v6->sin6_family = AF_INET6;
v6->sin6_port = htons(4777);
ck_assert_int_eq(1, inet_pton(AF_INET6, "fe80::1", &v6->sin6_addr));
v6->sin6_family = AF_INET6;
v6->sin6_port = htons( 4777 );
ck_assert_int_eq( 1, inet_pton( AF_INET6, "fe80::1", &v6->sin6_addr ));
result = sockaddr_address_string(sa, &testbuf[0], 128);
ck_assert(result != NULL);
result = sockaddr_address_string( sa, &testbuf[0], 128 );
ck_assert( result != NULL );
ck_assert_str_eq("fe80::1 port 4777", testbuf);
ck_assert_str_eq( "fe80::1 port 4777", testbuf );
}
END_TEST
/* We don't know what it is, so we just call it "???" and return NULL */
START_TEST(test_sockaddr_address_string_af_unspec_is_failure)
START_TEST( test_sockaddr_address_string_af_unspec_is_failure )
{
struct sockaddr sa;
struct sockaddr_in *v4 = (struct sockaddr_in *) &sa;
char testbuf[128];
const char *result;
struct sockaddr sa;
struct sockaddr_in* v4 = (struct sockaddr_in*) &sa;
char testbuf[128];
const char* result;
v4->sin_family = AF_UNSPEC;
v4->sin_port = htons(4777);
ck_assert_int_eq(1, inet_pton(AF_INET, "192.168.0.1", &v4->sin_addr));
v4->sin_family = AF_UNSPEC;
v4->sin_port = htons( 4777 );
ck_assert_int_eq( 1, inet_pton( AF_INET, "192.168.0.1", &v4->sin_addr ));
result = sockaddr_address_string(&sa, &testbuf[0], 128);
ck_assert(result == NULL);
result = sockaddr_address_string( &sa, &testbuf[0], 128 );
ck_assert( result == NULL );
ck_assert_str_eq("???", testbuf);
ck_assert_str_eq( "???", testbuf );
}
END_TEST
/* This is a complete failure to parse, rather than a partial failure */
START_TEST(test_sockaddr_address_string_doesnt_overflow_short_buffer)
START_TEST( test_sockaddr_address_string_doesnt_overflow_short_buffer )
{
struct sockaddr sa;
struct sockaddr_in *v4 = (struct sockaddr_in *) &sa;
char testbuf[128];
const char *result;
struct sockaddr sa;
struct sockaddr_in* v4 = (struct sockaddr_in*) &sa;
char testbuf[128];
const char* result;
memset(testbuf, 0, 128);
v4->sin_family = AF_INET;
v4->sin_port = htons(4777);
ck_assert_int_eq(1, inet_pton(AF_INET, "192.168.0.1", &v4->sin_addr));
memset(&testbuf, 0, 128);
memset( testbuf, 0, 128 );
v4->sin_family = AF_INET;
v4->sin_port = htons( 4777 );
ck_assert_int_eq( 1, inet_pton( AF_INET, "192.168.0.1", &v4->sin_addr ));
memset( &testbuf, 0, 128 );
result = sockaddr_address_string(&sa, &testbuf[0], 2);
ck_assert(result == NULL);
result = sockaddr_address_string( &sa, &testbuf[0], 2 );
ck_assert( result == NULL );
ck_assert_str_eq("??", testbuf);
ck_assert_str_eq( "??", testbuf );
}
END_TEST
END_TEST Suite * sockutil_suite(void)
Suite *sockutil_suite(void)
{
Suite *s = suite_create("sockutil");
Suite *s = suite_create("sockutil");
TCase *tc_sockaddr_address_string =
tcase_create("sockaddr_address_string");
TCase *tc_sockaddr_address_string = tcase_create("sockaddr_address_string");
tcase_add_test(tc_sockaddr_address_string,
test_sockaddr_address_string_af_inet_converts_to_string);
tcase_add_test(tc_sockaddr_address_string,
test_sockaddr_address_string_af_inet6_converts_to_string);
tcase_add_test(tc_sockaddr_address_string,
test_sockaddr_address_string_af_unspec_is_failure);
tcase_add_test(tc_sockaddr_address_string,
test_sockaddr_address_string_doesnt_overflow_short_buffer);
suite_add_tcase(s, tc_sockaddr_address_string);
tcase_add_test(tc_sockaddr_address_string, test_sockaddr_address_string_af_inet_converts_to_string);
tcase_add_test(tc_sockaddr_address_string, test_sockaddr_address_string_af_inet6_converts_to_string);
tcase_add_test(tc_sockaddr_address_string, test_sockaddr_address_string_af_unspec_is_failure);
tcase_add_test(tc_sockaddr_address_string, test_sockaddr_address_string_doesnt_overflow_short_buffer);
suite_add_tcase(s, tc_sockaddr_address_string);
return s;
return s;
}
int main(void)
{
int number_failed;
int number_failed;
Suite *s = sockutil_suite();
SRunner *sr = srunner_create(s);
srunner_run_all(sr, CK_NORMAL);
number_failed = srunner_ntests_failed(sr);
srunner_free(sr);
return (number_failed == 0) ? 0 : 1;
Suite *s = sockutil_suite();
SRunner *sr = srunner_create(s);
srunner_run_all(sr, CK_NORMAL);
number_failed = srunner_ntests_failed(sr);
srunner_free(sr);
return (number_failed == 0) ? 0 : 1;
}