diff options
| author | Garrett D'Amore <garrett@damore.org> | 2020-11-13 22:31:18 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2020-11-14 21:31:43 -0800 |
| commit | eb328da56c3fc7167b536dcb206df0abb0f4a9b9 (patch) | |
| tree | c92e3dd3db6a0f1b0efc6a027e7e4db6442068f0 /tests | |
| parent | 7c1ff5ed1e48af413494b9070cccf79f3858b749 (diff) | |
| download | nng-eb328da56c3fc7167b536dcb206df0abb0f4a9b9.tar.gz nng-eb328da56c3fc7167b536dcb206df0abb0f4a9b9.tar.bz2 nng-eb328da56c3fc7167b536dcb206df0abb0f4a9b9.zip | |
fixes #1087 CMakeLists structural improvements desired
This doesn't modularize all the tests yet, but it goes a long way
in the right direction.
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); } |
