Loading CMakeLists.txt +6 −0 Changes for CMakeLists.txt: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -29,6 +29,12 @@ if( NOT WIN32 ) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -DNDEBUG") endif() # MSVC specific flags if(MSVC) add_compile_definitions(_CRT_SECURE_NO_WARNINGS) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") endif() set(version 0.1) set(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake" ) Loading tests/test_authdata.cpp +20 −15 Changes for tests/test_authdata.cpp: 20 added lines, 15 removed lines. Original line number Diff line number Diff line Loading @@ -7,6 +7,11 @@ #include <cstring> #include <string> #include <uuidp.h> #include <sstream> #ifdef _MSC_VER #define _CRT_SECURE_NO_WARNINGS #endif #include "authdb.h" #include "types.h" Loading Loading @@ -43,13 +48,13 @@ TEST(AuthData, CopyConstructor) { // Populate via setAuthData so copy has real data to work with AuthData::Record *rec = nullptr; const char *val = "hello"; setAuthData<char>(UserData, TextStorage, &orig, &rec, "testfield", val, strlen(val)+1); setAuthData<char>(UserData, TextStorage, &orig, &rec, "testfield", val, static_cast<size_t>(strlen(val)+1)); AuthData copy(orig); EXPECT_EQ(memcmp(copy.Data.ruid, id.value, 16), 0); EXPECT_EQ(copy.Data.type, UserData); EXPECT_EQ(copy.Data.storage, TextStorage); EXPECT_EQ(copy.Data.datasize, strlen(val)+1); EXPECT_EQ(copy.Data.datasize, static_cast<size_t>(strlen(val)+1)); EXPECT_STREQ(copy.Data.data, "hello"); } Loading @@ -65,19 +70,19 @@ TEST(AuthData, AppendCreatesLinkedList) { AuthData::Record r1; r1.type = UserData; r1.storage = TextStorage; strcpy(r1.fieldname, "field1"); strcpy_s(r1.fieldname, sizeof(r1.fieldname), "field1"); r1.datasize = 5; r1.data = new char[5]; strcpy(r1.data, "val1"); strcpy_s(r1.data, 5, "val1"); dat.append(r1); AuthData::Record r2; r2.type = GroupData; r2.storage = BinaryStorage; strcpy(r2.fieldname, "field2"); strcpy_s(r2.fieldname, sizeof(r2.fieldname), "field2"); r2.datasize = 5; r2.data = new char[5]; strcpy(r2.data, "val2"); strcpy_s(r2.data, 5, "val2"); dat.append(r2); // First append fills the root node (dat); second creates dat->_next Loading @@ -102,13 +107,13 @@ TEST(AuthDataTemplate, SetAndGetTextData) { AuthData::Record *rec = nullptr; const char *text = "hello world"; setAuthData<char>(UserData, TextStorage, &dat, &rec, "username", text, strlen(text) + 1); text, static_cast<size_t>(strlen(text) + 1)); ASSERT_NE(rec, nullptr); EXPECT_EQ(rec->type, UserData); EXPECT_EQ(rec->storage, TextStorage); EXPECT_STREQ(rec->fieldname, "username"); EXPECT_EQ(rec->datasize, strlen(text) + 1); EXPECT_EQ(rec->datasize, static_cast<size_t>(strlen(text) + 1)); EXPECT_STREQ(rec->data, "hello world"); } Loading @@ -120,13 +125,13 @@ TEST(AuthDataTemplate, SetOverwritesExistingField) { AuthData::Record *rec = nullptr; const char *text1 = "first"; setAuthData<char>(UserData, TextStorage, &dat, &rec, "username", text1, strlen(text1) + 1); text1, static_cast<size_t>(strlen(text1) + 1)); // Overwrite the same field rec = nullptr; // force re-search const char *text2 = "second"; setAuthData<char>(UserData, TextStorage, &dat, &rec, "username", text2, strlen(text2) + 1); text2, static_cast<size_t>(strlen(text2) + 1)); ASSERT_NE(rec, nullptr); EXPECT_STREQ(rec->data, "second"); Loading Loading @@ -191,7 +196,7 @@ TEST(AuthData, FieldNameMaxLength) { AuthData::Record *rec = nullptr; const char *text = "val"; setAuthData<char>(UserData, TextStorage, &dat, &rec, longName.c_str(), text, strlen(text) + 1); text, static_cast<size_t>(strlen(text) + 1)); ASSERT_NE(rec, nullptr); EXPECT_STREQ(rec->fieldname, longName.c_str()); Loading @@ -212,8 +217,8 @@ TEST(AuthDataTemplate, MultipleFieldsCoexist) { const char *mail = "alice@test.de"; int age = 30; setAuthData<char>(UserData, TextStorage, &dat, &r1, "username", name, strlen(name) + 1); setAuthData<char>(UserData, TextStorage, &dat, &r2, "mail", mail, strlen(mail) + 1); setAuthData<char>(UserData, TextStorage, &dat, &r1, "username", name, static_cast<size_t>(strlen(name) + 1)); setAuthData<char>(UserData, TextStorage, &dat, &r2, "mail", mail, static_cast<size_t>(strlen(mail) + 1)); setAuthData<int>(UserData, IntStorage, &dat, &r3, "age", &age, 1); AuthData::Record *g1 = nullptr, *g2 = nullptr, *g3 = nullptr; Loading @@ -233,7 +238,7 @@ TEST(AuthData, DestructionFreesAllocatedData) { AuthData::Record *rec = nullptr; const char *text = "leak test payload data string"; setAuthData<char>(UserData, TextStorage, &dat, &rec, "field", text, strlen(text) + 1); text, static_cast<size_t>(strlen(text) + 1)); // Append more nodes to test linked list cleanup for (int i = 0; i < 10; ++i) { Loading @@ -241,7 +246,7 @@ TEST(AuthData, DestructionFreesAllocatedData) { r.type = UserData; r.storage = TextStorage; std::string fname = "extra_" + std::to_string(i); strcpy(r.fieldname, fname.c_str()); strcpy_s(r.fieldname, sizeof(r.fieldname), fname.c_str()); r.datasize = 64; r.data = new char[64]; memset(r.data, 'X', 64); Loading tests/test_cluster_performance.cpp +1 −1 Changes for tests/test_cluster_performance.cpp: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -22,9 +22,9 @@ #include <vector> #ifdef _WIN32 #include <windows.h> #include <process.h> #include <io.h> #include <windows.h> #include <psapi.h> #define test_getpid _getpid #define test_unlink _unlink Loading Loading
CMakeLists.txt +6 −0 Changes for CMakeLists.txt: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -29,6 +29,12 @@ if( NOT WIN32 ) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -DNDEBUG") endif() # MSVC specific flags if(MSVC) add_compile_definitions(_CRT_SECURE_NO_WARNINGS) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") endif() set(version 0.1) set(CMAKE_INCLUDE_PATH "${CMAKE_INCLUDE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake" ) Loading
tests/test_authdata.cpp +20 −15 Changes for tests/test_authdata.cpp: 20 added lines, 15 removed lines. Original line number Diff line number Diff line Loading @@ -7,6 +7,11 @@ #include <cstring> #include <string> #include <uuidp.h> #include <sstream> #ifdef _MSC_VER #define _CRT_SECURE_NO_WARNINGS #endif #include "authdb.h" #include "types.h" Loading Loading @@ -43,13 +48,13 @@ TEST(AuthData, CopyConstructor) { // Populate via setAuthData so copy has real data to work with AuthData::Record *rec = nullptr; const char *val = "hello"; setAuthData<char>(UserData, TextStorage, &orig, &rec, "testfield", val, strlen(val)+1); setAuthData<char>(UserData, TextStorage, &orig, &rec, "testfield", val, static_cast<size_t>(strlen(val)+1)); AuthData copy(orig); EXPECT_EQ(memcmp(copy.Data.ruid, id.value, 16), 0); EXPECT_EQ(copy.Data.type, UserData); EXPECT_EQ(copy.Data.storage, TextStorage); EXPECT_EQ(copy.Data.datasize, strlen(val)+1); EXPECT_EQ(copy.Data.datasize, static_cast<size_t>(strlen(val)+1)); EXPECT_STREQ(copy.Data.data, "hello"); } Loading @@ -65,19 +70,19 @@ TEST(AuthData, AppendCreatesLinkedList) { AuthData::Record r1; r1.type = UserData; r1.storage = TextStorage; strcpy(r1.fieldname, "field1"); strcpy_s(r1.fieldname, sizeof(r1.fieldname), "field1"); r1.datasize = 5; r1.data = new char[5]; strcpy(r1.data, "val1"); strcpy_s(r1.data, 5, "val1"); dat.append(r1); AuthData::Record r2; r2.type = GroupData; r2.storage = BinaryStorage; strcpy(r2.fieldname, "field2"); strcpy_s(r2.fieldname, sizeof(r2.fieldname), "field2"); r2.datasize = 5; r2.data = new char[5]; strcpy(r2.data, "val2"); strcpy_s(r2.data, 5, "val2"); dat.append(r2); // First append fills the root node (dat); second creates dat->_next Loading @@ -102,13 +107,13 @@ TEST(AuthDataTemplate, SetAndGetTextData) { AuthData::Record *rec = nullptr; const char *text = "hello world"; setAuthData<char>(UserData, TextStorage, &dat, &rec, "username", text, strlen(text) + 1); text, static_cast<size_t>(strlen(text) + 1)); ASSERT_NE(rec, nullptr); EXPECT_EQ(rec->type, UserData); EXPECT_EQ(rec->storage, TextStorage); EXPECT_STREQ(rec->fieldname, "username"); EXPECT_EQ(rec->datasize, strlen(text) + 1); EXPECT_EQ(rec->datasize, static_cast<size_t>(strlen(text) + 1)); EXPECT_STREQ(rec->data, "hello world"); } Loading @@ -120,13 +125,13 @@ TEST(AuthDataTemplate, SetOverwritesExistingField) { AuthData::Record *rec = nullptr; const char *text1 = "first"; setAuthData<char>(UserData, TextStorage, &dat, &rec, "username", text1, strlen(text1) + 1); text1, static_cast<size_t>(strlen(text1) + 1)); // Overwrite the same field rec = nullptr; // force re-search const char *text2 = "second"; setAuthData<char>(UserData, TextStorage, &dat, &rec, "username", text2, strlen(text2) + 1); text2, static_cast<size_t>(strlen(text2) + 1)); ASSERT_NE(rec, nullptr); EXPECT_STREQ(rec->data, "second"); Loading Loading @@ -191,7 +196,7 @@ TEST(AuthData, FieldNameMaxLength) { AuthData::Record *rec = nullptr; const char *text = "val"; setAuthData<char>(UserData, TextStorage, &dat, &rec, longName.c_str(), text, strlen(text) + 1); text, static_cast<size_t>(strlen(text) + 1)); ASSERT_NE(rec, nullptr); EXPECT_STREQ(rec->fieldname, longName.c_str()); Loading @@ -212,8 +217,8 @@ TEST(AuthDataTemplate, MultipleFieldsCoexist) { const char *mail = "alice@test.de"; int age = 30; setAuthData<char>(UserData, TextStorage, &dat, &r1, "username", name, strlen(name) + 1); setAuthData<char>(UserData, TextStorage, &dat, &r2, "mail", mail, strlen(mail) + 1); setAuthData<char>(UserData, TextStorage, &dat, &r1, "username", name, static_cast<size_t>(strlen(name) + 1)); setAuthData<char>(UserData, TextStorage, &dat, &r2, "mail", mail, static_cast<size_t>(strlen(mail) + 1)); setAuthData<int>(UserData, IntStorage, &dat, &r3, "age", &age, 1); AuthData::Record *g1 = nullptr, *g2 = nullptr, *g3 = nullptr; Loading @@ -233,7 +238,7 @@ TEST(AuthData, DestructionFreesAllocatedData) { AuthData::Record *rec = nullptr; const char *text = "leak test payload data string"; setAuthData<char>(UserData, TextStorage, &dat, &rec, "field", text, strlen(text) + 1); text, static_cast<size_t>(strlen(text) + 1)); // Append more nodes to test linked list cleanup for (int i = 0; i < 10; ++i) { Loading @@ -241,7 +246,7 @@ TEST(AuthData, DestructionFreesAllocatedData) { r.type = UserData; r.storage = TextStorage; std::string fname = "extra_" + std::to_string(i); strcpy(r.fieldname, fname.c_str()); strcpy_s(r.fieldname, sizeof(r.fieldname), fname.c_str()); r.datasize = 64; r.data = new char[64]; memset(r.data, 'X', 64); Loading
tests/test_cluster_performance.cpp +1 −1 Changes for tests/test_cluster_performance.cpp: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -22,9 +22,9 @@ #include <vector> #ifdef _WIN32 #include <windows.h> #include <process.h> #include <io.h> #include <windows.h> #include <psapi.h> #define test_getpid _getpid #define test_unlink _unlink Loading