Commit fa778b09 authored by jan.koester's avatar jan.koester
Browse files

test

parent 46e2c672
Loading
Loading
Loading
Loading
Loading
+6 −0
Changes for CMakeLists.txt: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -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" )
+20 −15
Changes for tests/test_authdata.cpp: 20 added lines, 15 removed lines.
Original line number Diff line number Diff line
@@ -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"
@@ -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");
}

@@ -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
@@ -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");
}

@@ -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");
@@ -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());
@@ -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;
@@ -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) {
@@ -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);
+1 −1
Changes for tests/test_cluster_performance.cpp: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -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