From 97b76fe81838e2892af6537f68ca09ee8146ad82 Mon Sep 17 00:00:00 2001
From: Sergey Yakubov <sergey.yakubov@desy.de>
Date: Wed, 4 Apr 2018 18:00:00 +0200
Subject: [PATCH] add error code for windows

---
 common/cpp/include/system_wrappers/io.h                 | 6 +++++-
 common/cpp/src/system_io/system_io_windows.cpp          | 2 ++
 examples/producer/dummy-data-producer/CMakeLists.txt    | 5 ++++-
 examples/producer/dummy-data-producer/check_linux.sh    | 2 ++
 examples/producer/dummy-data-producer/check_windows.bat | 2 +-
 5 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/common/cpp/include/system_wrappers/io.h b/common/cpp/include/system_wrappers/io.h
index 41e626caa..76fe9f1c7 100644
--- a/common/cpp/include/system_wrappers/io.h
+++ b/common/cpp/include/system_wrappers/io.h
@@ -33,7 +33,8 @@ enum class IOErrorType {
     kInvalidMemoryAddress,
     kUnableToResolveHostname,
     kSocketOperationUnknownAtLevel,
-    kSocketOperationValueOutOfBound
+    kSocketOperationValueOutOfBound,
+    kAddressNotValid
 
 };
 
@@ -138,6 +139,9 @@ auto const kSocketOperationValueOutOfBound =  IOErrorTemplate {
     "kSocketOperationValueOutOfBound", IOErrorType::kSocketOperationValueOutOfBound
 };
 
+auto const kAddressNotValid =  IOErrorTemplate {
+    "Address not valid", IOErrorType::kAddressNotValid
+};
 
 }
 
diff --git a/common/cpp/src/system_io/system_io_windows.cpp b/common/cpp/src/system_io/system_io_windows.cpp
index 796a3b183..19f9e377e 100644
--- a/common/cpp/src/system_io/system_io_windows.cpp
+++ b/common/cpp/src/system_io/system_io_windows.cpp
@@ -36,6 +36,8 @@ Error IOErrorFromGetLastError() {
         return IOErrorTemplates::kSocketOperationOnNonSocket.Generate();
     case WSAEWOULDBLOCK:
         return IOErrorTemplates::kResourceTemporarilyUnavailable.Generate();
+    case WSAEADDRNOTAVAIL:
+        return IOErrorTemplates::kAddressNotValid.Generate();
     case WSAECONNREFUSED:
         return IOErrorTemplates::kConnectionRefused.Generate();
     case ERROR_FILE_EXISTS:
diff --git a/examples/producer/dummy-data-producer/CMakeLists.txt b/examples/producer/dummy-data-producer/CMakeLists.txt
index ea232e37c..27851c591 100644
--- a/examples/producer/dummy-data-producer/CMakeLists.txt
+++ b/examples/producer/dummy-data-producer/CMakeLists.txt
@@ -27,5 +27,8 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists_separate.txt DESTINATION "$
 configure_file(Makefile.in Makefile_LINUX @ONLY)
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Makefile_LINUX DESTINATION "${dir}")
 
-
+IF(WIN32)
+add_script_test("${TARGET_NAME}" "${CMAKE_CURRENT_BINARY_DIR}/Debug/${TARGET_NAME}")
+ELSE()
 add_script_test("${TARGET_NAME}" "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}")
+ENDIF()
diff --git a/examples/producer/dummy-data-producer/check_linux.sh b/examples/producer/dummy-data-producer/check_linux.sh
index 5acad0ac0..04f592dec 100644
--- a/examples/producer/dummy-data-producer/check_linux.sh
+++ b/examples/producer/dummy-data-producer/check_linux.sh
@@ -4,5 +4,7 @@ database_name=test_run
 
 #set -e
 
+
+#just test that it starts, no reciever is running
 $@ 0.0.0.0 1 1 2>&1 | grep "refused"
 
diff --git a/examples/producer/dummy-data-producer/check_windows.bat b/examples/producer/dummy-data-producer/check_windows.bat
index 516af11ba..95652e449 100644
--- a/examples/producer/dummy-data-producer/check_windows.bat
+++ b/examples/producer/dummy-data-producer/check_windows.bat
@@ -1,4 +1,4 @@
-"%1" 0.0.0.0 1 1 2>&1 | findstr "refused" || goto :error
+"%1" 0.0.0.0 1 1 2>&1 | findstr "not valid" || goto :error
 goto :clean
 
 :error
-- 
GitLab