From 7a6c81ca9697d4ba8e1286267345d0cb7a1752e5 Mon Sep 17 00:00:00 2001
From: Sergey Yakubov <sergey.yakubov@desy.de>
Date: Fri, 18 Jun 2021 16:09:39 +0200
Subject: [PATCH] fix memory leak in test

---
 consumer/api/cpp/src/consumer_c_glue.cpp                | 2 +-
 examples/consumer/simple-consumer-c/CMakeLists.txt      | 2 +-
 tests/automatic/consumer/consumer_api/check_windows.bat | 4 +++-
 tests/automatic/consumer/consumer_api/consumer_api.c    | 2 --
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/consumer/api/cpp/src/consumer_c_glue.cpp b/consumer/api/cpp/src/consumer_c_glue.cpp
index 0c6031688..d273753f9 100644
--- a/consumer/api/cpp/src/consumer_c_glue.cpp
+++ b/consumer/api/cpp/src/consumer_c_glue.cpp
@@ -81,7 +81,7 @@ template <typename t> constexpr bool operator==(unsigned lhs, t rhs) {
 #define dataGetterStart \
 	if (data) delete *data; \
 	asapo::MessageData d; \
-	asapo::MessageMeta* fi = info ? nullptr : new asapo::MessageMeta;
+	asapo::MessageMeta* fi = info ? new asapo::MessageMeta : nullptr;
 
 #define dataGetterStop \
     if (data) { \
diff --git a/examples/consumer/simple-consumer-c/CMakeLists.txt b/examples/consumer/simple-consumer-c/CMakeLists.txt
index 9d10ea1f9..cdecb5b90 100644
--- a/examples/consumer/simple-consumer-c/CMakeLists.txt
+++ b/examples/consumer/simple-consumer-c/CMakeLists.txt
@@ -5,4 +5,4 @@ set(TARGET_NAME "asapo-consume-c")
 set(SOURCE_FILES consume.c)
 
 add_executable(${TARGET_NAME} ${SOURCE_FILES})
-target_link_libraries(${TARGET_NAME} asapo-consumer curl ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(${TARGET_NAME} asapo-consumer ${CMAKE_THREAD_LIBS_INIT})
diff --git a/tests/automatic/consumer/consumer_api/check_windows.bat b/tests/automatic/consumer/consumer_api/check_windows.bat
index edd7a8216..be64440c5 100644
--- a/tests/automatic/consumer/consumer_api/check_windows.bat
+++ b/tests/automatic/consumer/consumer_api/check_windows.bat
@@ -28,9 +28,11 @@ echo db.dropDatabase() | %mongo_exe% %database_name%
 
 for /l %%x in (1, 1, 10) do echo db.data_default.insert({"_id":%%x,"size":3,"messages":[{"_id":1, "size":6,"name":"%%x_1","timestamp":1,"source":"none","buf_id":0,"dataset_substream":0,"meta":{"test":10}},{"_id":2, "size":6,"name":"%%x_2","timestamp":1,"source":"none","buf_id":0,"dataset_substream":0,"meta":{"test":10}},{"_id":3, "size":6,"name":"%%x_3","timestamp":1,"source":"none","buf_id":0,"dataset_substream":0,"meta":{"test":10}}]}) | %mongo_exe% %database_name%  || goto :error
 
+for /l %%x in (1, 1, 5) do echo db.data_incomplete.insert({"_id":%%x,"size":3,"messages":[{"_id":1, "size":6,"name":"%%x_1","timestamp":1000,"source":"none","buf_id":0,"dataset_substream":0,"meta":{"test":10}},{"_id":2, "size":6,"name":"%%x_2","timestamp":1000,"source":"none","buf_id":0,"dataset_substream":0,"meta":{"test":10}}]}) | %mongo_exe% %database_name%  || goto :error
+
 echo hello1 > 1_1
 
-%1 127.0.0.1:8400 %beamtime_id% %token_test_run%  datasets || goto :error
+%1 127.0.0.1:8400 %beamtime_id% %token_test_run%  dataset || goto :error
 
 goto :clean
 
diff --git a/tests/automatic/consumer/consumer_api/consumer_api.c b/tests/automatic/consumer/consumer_api/consumer_api.c
index 1f1ffd568..a367e843d 100644
--- a/tests/automatic/consumer/consumer_api/consumer_api.c
+++ b/tests/automatic/consumer/consumer_api/consumer_api.c
@@ -65,7 +65,6 @@ int main(int argc, char* argv[]) {
     printf("group id: %s\n",asapo_string_c_str(group_id));
 
     AsapoMessageMeta fi;
-    AsapoMessageData data;
 
     err = asapo_consumer_get_last(consumer, &fi, NULL, "default");
     exit_if_error("Cannot get last record", err);
@@ -74,7 +73,6 @@ int main(int argc, char* argv[]) {
     assert_eq_string("10",asapo_message_meta_get_name(fi),"id");
 
     asapo_delete_message_meta(&fi);
-    asapo_delete_message_data(&data);
     asapo_delete_consumer(&consumer);
     asapo_delete_string(&group_id);
     return EXIT_SUCCESS;
-- 
GitLab