summaryrefslogtreecommitdiff
path: root/tests/libntp/sockaddrtest.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/libntp/sockaddrtest.h')
-rw-r--r--tests/libntp/sockaddrtest.h95
1 files changed, 47 insertions, 48 deletions
diff --git a/tests/libntp/sockaddrtest.h b/tests/libntp/sockaddrtest.h
index 4baac4dd73ee5..f9a9fde41ee8f 100644
--- a/tests/libntp/sockaddrtest.h
+++ b/tests/libntp/sockaddrtest.h
@@ -1,58 +1,57 @@
#ifndef TESTS_SOCKADDRTEST_H
#define TESTS_SOCKADDRTEST_H
-#include "libntptest.h"
-
-extern "C" {
#include "ntp.h"
-};
-
-class sockaddrtest : public libntptest {
-protected:
- ::testing::AssertionResult IsEqual(const sockaddr_u &expected, const sockaddr_u &actual) {
- if (expected.sa.sa_family != actual.sa.sa_family) {
- return ::testing::AssertionFailure()
- << "Expected sa_family: " << expected.sa.sa_family
- << " but got: " << actual.sa.sa_family;
- }
+#include "ntp_stdlib.h"
- if (actual.sa.sa_family == AF_INET) { // IPv4
- if (expected.sa4.sin_port == actual.sa4.sin_port &&
- memcmp(&expected.sa4.sin_addr, &actual.sa4.sin_addr,
- sizeof(in_addr)) == 0) {
- return ::testing::AssertionSuccess();
- } else {
- return ::testing::AssertionFailure()
- << "IPv4 comparision failed, expected: "
- << expected.sa4.sin_addr.s_addr
- << "(" << socktoa(&expected) << ")"
- << " but was: "
- << actual.sa4.sin_addr.s_addr
- << "(" << socktoa(&actual) << ")";
- }
- } else if (actual.sa.sa_family == AF_INET6) { //IPv6
- if (expected.sa6.sin6_port == actual.sa6.sin6_port &&
- memcmp(&expected.sa6.sin6_addr, &actual.sa6.sin6_addr,
- sizeof(in6_addr)) == 0) {
- return ::testing::AssertionSuccess();
- } else {
- return ::testing::AssertionFailure()
- << "IPv6 comparision failed";
- }
- } else { // Unknown family
- return ::testing::AssertionFailure()
- << "Unknown sa_family: " << actual.sa.sa_family;
- }
- }
+sockaddr_u CreateSockaddr4(const char* address, unsigned int port) {
+ sockaddr_u s;
+ s.sa4.sin_family = AF_INET;
+ s.sa4.sin_addr.s_addr = inet_addr(address);
+ SET_PORT(&s, port);
- sockaddr_u CreateSockaddr4(const char* address, unsigned int port) {
- sockaddr_u s;
- s.sa4.sin_family = AF_INET;
- s.sa4.sin_addr.s_addr = inet_addr(address);
- SET_PORT(&s, port);
+ return s;
+}
- return s;
+int IsEqual(const sockaddr_u expected, const sockaddr_u actual) {
+ struct in_addr in;
+ struct in6_addr in6;
+
+ if (expected.sa.sa_family != actual.sa.sa_family) {
+ //<< "Expected sa_family: " << expected.sa.sa_family
+ //<< " but got: " << actual.sa.sa_family;
+ return FALSE;
}
-};
+
+ if (actual.sa.sa_family == AF_INET) { // IPv4
+ if (expected.sa4.sin_port == actual.sa4.sin_port &&
+ memcmp(&expected.sa4.sin_addr, &actual.sa4.sin_addr,
+ sizeof( in )) == 0) {
+ return TRUE;
+ } else {
+ //<< "IPv4 comparision failed, expected: "
+ //<< expected.sa4.sin_addr.s_addr
+ //<< "(" << socktoa(&expected) << ") but was: "
+ //<< actual.sa4.sin_addr.s_addr "(" << socktoa(&actual) << ")";
+ return FALSE;
+ }
+ } else if (actual.sa.sa_family == AF_INET6) { //IPv6
+ if (expected.sa6.sin6_port == actual.sa6.sin6_port &&
+ memcmp(&expected.sa6.sin6_addr, &actual.sa6.sin6_addr,
+ sizeof(in6)) == 0) {
+ return TRUE;
+ } else {
+ printf("IPv6 comparision failed");
+ return FALSE;
+ }
+ } else { // Unknown family
+ printf("Unknown sa_family: ");// << actual.sa.sa_family;
+ return FALSE;
+ }
+}
+
#endif // TESTS_SOCKADDRTEST_H
+
+
+