From ac6c060efd0852578bd9b16dd8b065ee0969efa6 Mon Sep 17 00:00:00 2001
From: Carsten Patzke <carsten.patzke@desy.de>
Date: Fri, 18 Sep 2020 18:52:46 +0200
Subject: [PATCH] Fixed ip/tcp resolve hostname tests

---
 .../consumer/getnext_broker/getnext_broker.cpp   | 16 +++++++++-------
 .../client_serv/ip_tcp_network.cpp               |  2 +-
 .../resolve_hostname_to_ip.cpp                   | 12 ++++++++----
 3 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/examples/consumer/getnext_broker/getnext_broker.cpp b/examples/consumer/getnext_broker/getnext_broker.cpp
index ec79b70b8..037eaf460 100644
--- a/examples/consumer/getnext_broker/getnext_broker.cpp
+++ b/examples/consumer/getnext_broker/getnext_broker.cpp
@@ -44,12 +44,12 @@ struct Args {
 };
 
 class LatchedTimer {
-private:
+  private:
     volatile int count_;
     std::chrono::high_resolution_clock::time_point start_time_ = std::chrono::high_resolution_clock::time_point::max();
     std::mutex mutex;
     std::condition_variable waiter;
-public:
+  public:
     explicit LatchedTimer(int count) : count_{count} {};
 
     void count_down_and_wait() {
@@ -98,7 +98,7 @@ StartThreads(const Args& params, std::vector<int>* nfiles, std::vector<int>* err
         asapo::FileInfo fi;
         Error err;
         auto broker = asapo::DataBrokerFactory::CreateServerBroker(params.server, params.file_path, true,
-                                                                   asapo::SourceCredentials{params.beamtime_id, "", params.stream, params.token}, &err);
+                      asapo::SourceCredentials{params.beamtime_id, "", params.stream, params.token}, &err);
         if (err) {
             std::cout << "Error CreateServerBroker: " << err << std::endl;
             exit(EXIT_FAILURE);
@@ -177,7 +177,8 @@ StartThreads(const Args& params, std::vector<int>* nfiles, std::vector<int>* err
     return threads;
 }
 
-int ReadAllData(const Args& params, uint64_t* duration_ms, uint64_t* duration_without_first_ms, int* nerrors, int* nbuf, int* nfiles_total,
+int ReadAllData(const Args& params, uint64_t* duration_ms, uint64_t* duration_without_first_ms, int* nerrors, int* nbuf,
+                int* nfiles_total,
                 asapo::NetworkConnectionType* connection_type) {
     asapo::FileInfo fi;
     std::chrono::high_resolution_clock::time_point t1 = std::chrono::high_resolution_clock::now();
@@ -229,7 +230,7 @@ int ReadAllData(const Args& params, uint64_t* duration_ms, uint64_t* duration_wi
                           ConnectionTypeToString(connection_types[i]) << "' but thread["
                           << firstThreadThatActuallyProcessedData << "](processed "
                           << nfiles[firstThreadThatActuallyProcessedData] << " files) is '" << ConnectionTypeToString(
-                        *connection_type) << "'" << std::endl;
+                              *connection_type) << "'" << std::endl;
             }
         }
     }
@@ -262,7 +263,7 @@ int main(int argc, char* argv[]) {
     params.datasets = false;
     if (argc != 8 && argc != 9) {
         std::cout << "Usage: " + std::string{argv[0]}
-                     + " <server> <files_path> <run_name> <nthreads> <token> <timeout ms> <metaonly> [use datasets]"
+                  + " <server> <files_path> <run_name> <nthreads> <token> <timeout ms> <metaonly> [use datasets]"
                   <<
                   std::endl;
         exit(EXIT_FAILURE);
@@ -289,7 +290,8 @@ int main(int argc, char* argv[]) {
     uint64_t duration_without_first_ms;
     int nerrors, nbuf, nfiles_total;
     asapo::NetworkConnectionType connectionType;
-    auto nfiles = ReadAllData(params, &duration_ms, &duration_without_first_ms, &nerrors, &nbuf, &nfiles_total, &connectionType);
+    auto nfiles = ReadAllData(params, &duration_ms, &duration_without_first_ms, &nerrors, &nbuf, &nfiles_total,
+                              &connectionType);
     std::cout << "Processed " << nfiles << (params.datasets ? " dataset(s)" : " file(s)") << std::endl;
     if (params.datasets) {
         std::cout << "  with " << nfiles_total << " file(s)" << std::endl;
diff --git a/tests/automatic/system_io/ip_tcp_network/client_serv/ip_tcp_network.cpp b/tests/automatic/system_io/ip_tcp_network/client_serv/ip_tcp_network.cpp
index a0a0c224b..267d82a70 100644
--- a/tests/automatic/system_io/ip_tcp_network/client_serv/ip_tcp_network.cpp
+++ b/tests/automatic/system_io/ip_tcp_network/client_serv/ip_tcp_network.cpp
@@ -185,7 +185,7 @@ int main(int argc, char* argv[]) {
 
     std::cout << "[META] Check unknown host" << std::endl;
     io->CreateAndConnectIPTCPSocket("some-host-that-might-not-exists.aa:1234", &err);
-    if(err != asapo::IOErrorTemplates::kAddressNotValid) {
+    if(err != asapo::IOErrorTemplates::kUnableToResolveHostname) {
         ExitIfErrIsNotOk(&err, 303);
     }
 
diff --git a/tests/automatic/system_io/resolve_hostname_to_ip/resolve_hostname_to_ip.cpp b/tests/automatic/system_io/resolve_hostname_to_ip/resolve_hostname_to_ip.cpp
index c45cd6b19..56b9384a0 100644
--- a/tests/automatic/system_io/resolve_hostname_to_ip/resolve_hostname_to_ip.cpp
+++ b/tests/automatic/system_io/resolve_hostname_to_ip/resolve_hostname_to_ip.cpp
@@ -11,12 +11,12 @@ void Check(const std::string& expected_ip_address, const std::string& hostname)
     Error err;
     auto io = std::unique_ptr<asapo::IO> {asapo::GenerateDefaultIO()};
     std::string ip_address = io->ResolveHostnameToIp(hostname, &err);
-    M_AssertEq(expected_ip_address, ip_address);
     if(expected_ip_address.empty()) {
-        M_AssertTrue(err != nullptr && asapo::IOErrorTemplates::kUnableToResolveHostname == err);
-        return;
+        M_AssertEq(asapo::IOErrorTemplates::kUnableToResolveHostname, err);
+    } else {
+        M_AssertEq(nullptr, err);
     }
-    M_AssertTrue(err == nullptr);
+    M_AssertEq(expected_ip_address, ip_address);
 }
 
 int main(int argc, char* argv[]) {
@@ -30,5 +30,9 @@ int main(int argc, char* argv[]) {
 
     Check("", "some-address-that-does-not-exists.ff");
     Check("", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.ff");
+
+    // Fallthrough tests
+    Check("123.123.123.123", "123.123.123.123");
+    Check("8.8.8.8", "8.8.8.8");
     return 0;
 }
-- 
GitLab