tests + bug fixing

This commit is contained in:
Michele Caini 2016-10-10 14:15:32 +02:00
parent 3ee621e48a
commit bfcd165cb0
3 changed files with 39 additions and 2 deletions

View File

@ -163,7 +163,7 @@ public:
*
* @return The size of the send buffer, 0 in case of errors.
*/
int sendBufferSize() const {
int sendBufferSize() {
int value = 0;
auto err = uv_send_buffer_size(this->template get<uv_handle_t>(), &value);
return err ? 0 : value;
@ -195,7 +195,7 @@ public:
*
* @return The size of the receive buffer, 0 in case of errors.
*/
int recvBufferSize() const {
int recvBufferSize() {
int value = 0;
auto err = uv_recv_buffer_size(this->template get<uv_handle_t>(), &value);
return err ? 0 : value;

View File

@ -35,6 +35,7 @@ set(TARGET_MAIN main)
set(TARGET_ASYNC async)
set(TARGET_CHECK check)
set(TARGET_EMITTER emitter)
set(TARGET_HANDLE handle)
set(TARGET_IDLE idle)
set(TARGET_LOOP loop)
set(TARGET_PREPARE prepare)
@ -74,6 +75,14 @@ target_include_directories(${TARGET_EMITTER} PRIVATE ${COMMON_INCLUDE_DIRS})
target_link_libraries(${TARGET_EMITTER} PRIVATE ${COMMON_LINK_LIBS})
add_test(NAME ${TARGET_EMITTER} COMMAND ${TARGET_EMITTER})
# Test TARGET_HANDLE
set(TARGET_HANDLE_SOURCES $<TARGET_OBJECTS:odr> uvw/handle.cpp)
add_executable(${TARGET_HANDLE} ${TARGET_HANDLE_SOURCES})
target_include_directories(${TARGET_HANDLE} PRIVATE ${COMMON_INCLUDE_DIRS})
target_link_libraries(${TARGET_HANDLE} PRIVATE ${COMMON_LINK_LIBS})
add_test(NAME ${TARGET_HANDLE} COMMAND ${TARGET_HANDLE})
# Test TARGET_IDLE
set(TARGET_IDLE_SOURCES $<TARGET_OBJECTS:odr> uvw/idle.cpp)

28
test/uvw/handle.cpp Normal file
View File

@ -0,0 +1,28 @@
#include <gtest/gtest.h>
#include <uvw.hpp>
TEST(Handle, Functionalities) {
auto loop = uvw::Loop::getDefault();
auto handle = loop->resource<uvw::AsyncHandle>();
ASSERT_TRUE(handle->active());
ASSERT_FALSE(handle->closing());
ASSERT_NO_THROW(handle->close());
ASSERT_FALSE(handle->active());
ASSERT_NO_THROW(handle->reference());
ASSERT_TRUE(handle->referenced());
ASSERT_NO_THROW(handle->unreference());
ASSERT_FALSE(handle->referenced());
ASSERT_NE(handle->size(), static_cast<decltype(handle->size())>(0));
ASSERT_EQ(handle->sendBufferSize(), static_cast<decltype(handle->sendBufferSize())>(0));
ASSERT_FALSE(handle->sendBufferSize(0));
ASSERT_EQ(handle->recvBufferSize(), static_cast<decltype(handle->recvBufferSize())>(0));
ASSERT_FALSE(handle->recvBufferSize(0));
ASSERT_NO_THROW(handle->fileno());
}