Browse Source

move protoyping into new dir 'test'

heck-rework
heck 3 years ago
parent
commit
8d9a1272b8
  1. 2
      Makefile.conf
  2. 31
      test/Makefile
  3. 58
      test/test_nr1.cc

2
Makefile.conf

@ -34,3 +34,5 @@ else
endif endif
CXXFLAGS+=-I$(PREFIX)/include CXXFLAGS+=-I$(PREFIX)/include
LDFLAGS+=-L$(PREFIX)/lib

31
test/Makefile

@ -1,23 +1,32 @@
include ../Makefile.conf include ../Makefile.conf
LDFLAGS=-L../src -L$(PREFIX)/lib -L$(PREFIX_GTEST)/lib LIBC99_PATH=../examples/libc99/
LDLIBS=-lstdc++ -lpEpCxx11 -lpEpEngine -lpEpAdapter LIBC99_STATIC=$(LIBC99_PATH)libc99.a
CXXFLAGS:=-I../src $(CXXFLAGS) -I$(PREFIX_GTEST)/include LIBPEPDATATYPES_PATH=../src/
LIBPEPDATATYPES_STATIC=$(LIBPEPDATATYPES_PATH)libpepdatatypes.a
TEST_SOURCE=$(wildcard *.cc) LDLIBS=-lstdc++ -lpEpEngine -lpEpCxx11 -lpEpAdapter -lPityTest11 -lpthread -ldl -lm
TEST_OBJECTS=$(subst .cc,.o,$(TEST_SOURCE)) CXXFLAGS:=-I$(LIBPEPDATATYPES_PATH) -I$(LIBC99_PATH) $(CXXFLAGS)
.PHONY: all, clean # Test
SRC_TEST=$(wildcard test_*.cc)
BIN_TEST=$(subst .cc,,$(SRC_TEST))
all: unittests .PHONY: libc99 tests all clean
unittests: $(TEST_OBJECTS) ../src/libpEpDatatypes.a all: libc99 tests
$(CXX) $(LDFLAGS) -o $@ $^ $(LDLIBS) -lgtest -lgtest_main
libc99: $(LIBC99_STATIC)
$(LIBC99_STATIC):
$(MAKE) -C ../examples/libc99
tests: $(BIN_TEST) $(LIBC99_STATIC)
$(BIN_TEST): $(OBJ_FRAMEWORK)
clean: clean:
rm -f unittests rm -f $(BIN_TEST)
rm -Rf *.dSYM rm -Rf *.dSYM
rm -f *.o rm -f *.d
rm -f *.o

58
test/test_nr1.cc

@ -8,7 +8,7 @@
#include <pEp/pEpLog.hh> #include <pEp/pEpLog.hh>
#include <pEp/inspect.hh> #include <pEp/inspect.hh>
#include <type_traits> #include <type_traits>
#include "../examples/libc99/libc99.h"
namespace pEp { namespace pEp {
@ -262,12 +262,12 @@ namespace pEp {
return *_c_str_pp; return *_c_str_pp;
} }
bool operator==(const pEp::String& pstr) bool operator==(const pEp::String& pstr) const
{ {
return *(pstr.c_data()) == (*c_data()); return *(pstr.c_data()) == (*c_data());
} }
bool operator!=(const pEp::String& pstr) bool operator!=(const pEp::String& pstr) const
{ {
return !(*this == pstr); return !(*this == pstr);
} }
@ -427,58 +427,6 @@ void test_assign(char** c_str_p, pEp::String& pstr)
} }
} }
// We are testing wrappers for the c-datatypes:
// * integral e.g (int) here
// * enum
// * c-string
// * struct
// Those are all considered POD-types
extern "C" {
typedef enum
{
ONE,
TWO,
THREE
} Test_enum;
typedef struct {
int c_int;
Test_enum c_enum;
char* c_str;
} Test_struct1;
typedef struct {
int c_int;
Test_enum c_enum;
char* c_str;
Test_struct1* c_struct1;
} Test_struct2;
void free_test_struct(Test_struct1* c_struct)
{
if (c_struct) {
free(c_struct->c_str);
free(c_struct);
}
}
Test_struct1* new_test_struct(int c_int, Test_enum c_enum, const char* c_str)
{
Test_struct1* result = (Test_struct1*)calloc(1, sizeof(Test_struct1));
if (result) {
result->c_int = c_int;
result->c_enum = c_enum;
if (c_str) {
result->c_str = strdup(c_str);
if (result->c_str == NULL) {
free_test_struct(result);
return NULL;
}
}
}
return result;
}
}
namespace pEp { namespace pEp {
// TOOD: // TOOD:

Loading…
Cancel
Save