Improving test coverage [adding Thread] (#181)

This commit is contained in:
Stefano Fiorentino 2020-03-24 17:27:03 +01:00 committed by Michele Caini
parent 008361d83c
commit 1f7d4acc40
2 changed files with 29 additions and 0 deletions

View File

@ -96,6 +96,7 @@ ADD_UVW_TEST(resource uvw/resource.cpp)
ADD_UVW_TEST(signal uvw/signal.cpp)
ADD_UVW_TEST(stream uvw/stream.cpp)
ADD_UVW_TEST(tcp uvw/tcp.cpp)
ADD_UVW_TEST(thread uvw/thread.cpp)
ADD_UVW_TEST(timer uvw/timer.cpp)
ADD_UVW_TEST(tty uvw/tty.cpp)
ADD_UVW_TEST(udp uvw/udp.cpp)

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

@ -0,0 +1,28 @@
#include <gtest/gtest.h>
#include <uvw.hpp>
TEST(Thread, Run) {
auto loop = uvw::Loop::getDefault();
auto has_run = std::make_shared<bool>();
auto handle = loop->resource<uvw::Thread>([](std::shared_ptr<void> data) {
if(auto has_run = std::static_pointer_cast<bool>(data); has_run) {
*has_run = true;
}
}, has_run);
ASSERT_TRUE(handle->run());
ASSERT_TRUE(handle->join());
ASSERT_TRUE(*has_run);
loop->run();
}
TEST(ThreadLocalStorage, SetGet) {
auto loop = uvw::Loop::getDefault();
auto localStorage = loop->resource<uvw::ThreadLocalStorage>();
auto flag{true};
localStorage->set<bool>(&flag);
ASSERT_TRUE(localStorage->get<bool>());
}