Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #20 and CMake simplifications #21

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
cmake_minimum_required(VERSION 3.5)

set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)

set(VERSION_MAJOR 0)
set(VERSION_MINOR 1)
Expand Down
5 changes: 4 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ IF(!nanomsg_FOUND)
ENDIF()
ENDIF()


set(NANOMSG_SRCS ./nanomsg/ext/nnxx_ext.c)

set(NNXX_SRCS ./nnxx/error.cpp
Expand Down Expand Up @@ -60,6 +59,10 @@ set(NNXX_HDRS ./nanomsg/ext/nnxx_ext.h

add_library(${PROJECT_NAME} ${NANOMSG_SRCS} ${NNXX_SRCS})
add_library(lib::nnxx ALIAS ${PROJECT_NAME})

# set preprocessor variable NDEBUG for
target_compile_definitions(${PROJECT_NAME} PUBLIC $<$<NOT:$<CONFIG:Debug>>:NDEBUG=1>)

target_include_directories(${PROJECT_NAME} PUBLIC "." ${NANOMSG_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} PUBLIC nanomsg)

Expand Down
30 changes: 14 additions & 16 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,61 +1,59 @@
project(nnxx_tests)
include(CTest)

message(STATUS ${EXECUTABLE_OUTPUT_PATH})

add_executable(test_message ./test_message.cpp)
target_link_libraries(test_message nnxx)
add_test(message ${EXECUTABLE_OUTPUT_PATH}/test_message)
add_test(NAME message COMMAND $<TARGET_FILE:test_message>)

add_executable(test_message_istream ./test_message_istream.cpp)
target_link_libraries(test_message_istream nnxx)
add_test(message_istream ${EXECUTABLE_OUTPUT_PATH}/test_message_istream)
add_test(NAME message_istream COMMAND $<TARGET_FILE:test_message_istream>)

add_executable(test_message_ostream ./test_message_ostream.cpp)
target_link_libraries(test_message_ostream nnxx)
add_test(message_ostream ${EXECUTABLE_OUTPUT_PATH}/test_message_ostream)
add_test(NAME message_ostream COMMAND $<TARGET_FILE:test_message_ostream>)

add_executable(test_nnxx_ext ./test_nnxx_ext.cpp)
target_link_libraries(test_nnxx_ext nnxx)
add_test(nnxx_ext ${EXECUTABLE_OUTPUT_PATH}/test_nnxx_ext)
add_test(NAME nnxx_ext COMMAND $<TARGET_FILE:test_nnxx_ext>)

add_executable(test_pair ./test_pair.cpp)
target_link_libraries(test_pair nnxx)
add_test(pair ${EXECUTABLE_OUTPUT_PATH}/test_pair)
add_test(NAME pair COMMAND $<TARGET_FILE:test_pair>)

add_executable(test_pipeline ./test_pipeline.cpp)
target_link_libraries(test_pipeline nnxx)
add_test(pipeline ${EXECUTABLE_OUTPUT_PATH}/test_pipeline)
add_test(NAME pipeline COMMAND $<TARGET_FILE:test_pipeline>)

add_executable(test_poll ./test_poll.cpp)
target_link_libraries(test_poll nnxx)
add_test(poll ${EXECUTABLE_OUTPUT_PATH}/test_poll)
add_test(NAME poll COMMAND $<TARGET_FILE:test_poll>)

add_executable(test_pubsub ./test_pubsub.cpp)
target_link_libraries(test_pubsub nnxx)
add_test(pubsub ${EXECUTABLE_OUTPUT_PATH}/test_pubsub)
add_test(NAME pubsub COMMAND $<TARGET_FILE:test_pubsub>)

add_executable(test_readme ./test_readme.cpp)
target_link_libraries(test_readme nnxx)
add_test(readme ${EXECUTABLE_OUTPUT_PATH}/test_readme)
add_test(NAME readme COMMAND $<TARGET_FILE:test_readme>)

add_executable(test_reqrep ./test_reqrep.cpp)
target_link_libraries(test_reqrep nnxx)
add_test(reqrep ${EXECUTABLE_OUTPUT_PATH}/test_reqrep)
add_test(NAME reqrep COMMAND $<TARGET_FILE:test_reqrep>)

add_executable(test_reqrep_multi ./test_reqrep_multi.cpp)
target_link_libraries(test_reqrep_multi nnxx)
add_test(reqrep_multi ${EXECUTABLE_OUTPUT_PATH}/test_reqrep_multi)
add_test(NAME reqrep_multi COMMAND $<TARGET_FILE:test_reqrep_multi>)

add_executable(test_socket ./test_socket.cpp)
target_link_libraries(test_socket nnxx)
add_test(socket ${EXECUTABLE_OUTPUT_PATH}/test_socket)
add_test(NAME socket COMMAND $<TARGET_FILE:test_socket>)

add_executable(test_survey ./test_survey.cpp)
target_link_libraries(test_survey nnxx)
add_test(survey ${EXECUTABLE_OUTPUT_PATH}/test_survey)
add_test(NAME survey COMMAND $<TARGET_FILE:test_survey>)

add_executable(test_timeout ./test_timeout.cpp)
target_link_libraries(test_timeout nnxx)
add_test(timeout ${EXECUTABLE_OUTPUT_PATH}/test_timeout)
add_test(NAME timeout COMMAND $<TARGET_FILE:test_timeout>)

13 changes: 8 additions & 5 deletions tests/test_message.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,26 @@

int main() {
nnxx::message m1;
nnxx::message m2 { 12 };
const nnxx::message::size_type size_m2 = 12;
nnxx::message m2 { size_m2 };

nnxx_check(!m1);
nnxx_check(m2);

nnxx_check(m1.data() == nullptr);
nnxx_check(m1.size() == 0);
nnxx_check(m1.empty());

nnxx_check(m2.data() != nullptr);
nnxx_check(m2.size() == 12);
nnxx_check(m2.size() == size_m2);

m1 = std::move(m2);
nnxx_check(m1);
nnxx_check(!m2);

std::strcpy(reinterpret_cast<char *>(m1.data()), "Hello World!");
std::string string_to_send = "Hello World!";
std::copy(string_to_send.begin(), string_to_send.end(), reinterpret_cast<char *>(m1.data()));
m2 = copy(m1);
nnxx_check(to_string(m2) == "Hello World!");

nnxx_check(to_string(m2) == string_to_send);
return nnxx::unittest::result;
}