diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/CMakeLists.txt | 18 | ||||
| -rw-r--r-- | tests/stubs.h | 7 | ||||
| -rw-r--r-- | tests/testutil.c | 22 |
3 files changed, 28 insertions, 19 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index a7835826..aa7260ac 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -53,10 +53,10 @@ if (NNG_TESTS) set(NNG_TEST_PORT 13000) macro(add_nng_test NAME TIMEOUT) add_executable(${NAME} ${NAME}.c convey.c) - target_link_libraries(${NAME} ${PROJECT_NAME}_testlib ${THRLIB}) - add_test(NAME ${PROJECT_NAME}.${NAME} COMMAND ${NAME} -v -p TEST_PORT=${NNG_TEST_PORT}) + target_link_libraries(${NAME} nng_testing ${THRLIB}) + add_test(NAME nng.${NAME} COMMAND ${NAME} -v -p TEST_PORT=${NNG_TEST_PORT}) math(EXPR TIMEOUT ${TIMEOUT}*${TIMEOUT_FACTOR}) - set_tests_properties(${PROJECT_NAME}.${NAME} PROPERTIES TIMEOUT ${TIMEOUT}) + set_tests_properties(nng.${NAME} PROPERTIES TIMEOUT ${TIMEOUT}) math(EXPR NNG_TEST_PORT "${NNG_TEST_PORT}+20") endmacro(add_nng_test) @@ -65,12 +65,12 @@ if (NNG_TESTS) # should work and which shouldn't. macro(add_nng_compat_test NAME TIMEOUT) add_executable(${NAME} ${NAME}.c compat_testutil.c) - target_link_libraries(${NAME} ${PROJECT_NAME}_testlib) + target_link_libraries(${NAME} nng_testing) target_include_directories(${NAME} PRIVATE ${PROJECT_SOURCE_DIR}/src/compat ${PROJECT_SOURCE_DIR}/include) - add_test(NAME ${PROJECT_NAME}.${NAME} COMMAND ${NAME} ${NNG_TEST_PORT}) - set_tests_properties(${PROJECT_NAME}.${NAME} PROPERTIES TIMEOUT ${TIMEOUT}) + add_test(NAME nng.${NAME} COMMAND ${NAME} ${NNG_TEST_PORT}) + set_tests_properties(nng.${NAME} PROPERTIES TIMEOUT ${TIMEOUT}) math(EXPR NNG_TEST_PORT "${NNG_TEST_PORT}+20") endmacro(add_nng_compat_test) @@ -78,9 +78,9 @@ if (NNG_TESTS) if (NOT NNG_ENABLE_COVERAGE) enable_language(CXX) add_executable(${NAME} ${NAME}.cc) - target_link_libraries(${NAME} ${PROJECT_NAME}_testlib) - add_test(NAME ${PROJECT_NAME}.${NAME} COMMAND ${NAME} ${TEST_PORT}) - set_tests_properties(${PROJECT_NAME}.${NAME} PROPERTIES TIMEOUT ${TIMEOUT}) + target_link_libraries(${NAME} nng_testing) + add_test(NAME nng.${NAME} COMMAND ${NAME} ${TEST_PORT}) + set_tests_properties(nng.${NAME} PROPERTIES TIMEOUT ${TIMEOUT}) math(EXPR TEST_PORT "${NNG_TEST_PORT}+20") endif () endmacro(add_nng_cpp_test) diff --git a/tests/stubs.h b/tests/stubs.h index 56193cb3..8b230705 100644 --- a/tests/stubs.h +++ b/tests/stubs.h @@ -84,9 +84,10 @@ fdready(int fd) uint16_t test_htons(uint16_t in) { -#ifdef NNG_LITTLE_ENDIAN - in = ((in >> 8) & 0xff) | ((in & 0xff) << 8); -#endif + short one = 1; + if (*((char *)(void *)&one) == 1) { + in = ((in / 256) + ((in % 256) * 256)); + } return (in); } diff --git a/tests/testutil.c b/tests/testutil.c index ce9978ce..ea8386b1 100644 --- a/tests/testutil.c +++ b/tests/testutil.c @@ -114,22 +114,30 @@ testutil_pollfd(int fd) return (false); } +bool +testutil_is_little_endian(void) +{ + uint16_t num = 0x1; + uint8_t *ptr = (uint8_t *) (void *) (&num); + return (ptr[0] == 1); +} + uint16_t testutil_htons(uint16_t in) { -#ifdef NNG_LITTLE_ENDIAN - in = ((in >> 8u) & 0xffu) | ((in & 0xffu) << 8u); -#endif + if (testutil_is_little_endian()) { + in = ((in / 0x100) + ((in % 0x100) * 0x100)); + } return (in); } uint32_t testutil_htonl(uint32_t in) { -#ifdef NNG_LITTLE_ENDIAN - in = ((in >> 24u) & 0xffu) | ((in >> 8u) & 0xff00u) | - ((in << 8u) & 0xff0000u) | ((in << 24u) & 0xff000000u); -#endif + if (testutil_is_little_endian()) { + in = ((in >> 24u) & 0xffu) | ((in >> 8u) & 0xff00u) | + ((in << 8u) & 0xff0000u) | ((in << 24u) & 0xff000000u); + } return (in); } |
