From 1f7d4acc40b35c1a37a4bf652228210b8e9e3019 Mon Sep 17 00:00:00 2001 From: Stefano Fiorentino Date: Tue, 24 Mar 2020 17:27:03 +0100 Subject: [PATCH] Improving test coverage [adding Thread] (#181) --- test/CMakeLists.txt | 1 + test/uvw/thread.cpp | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 test/uvw/thread.cpp diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b78965ae..091278af 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -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) diff --git a/test/uvw/thread.cpp b/test/uvw/thread.cpp new file mode 100644 index 00000000..505d56ff --- /dev/null +++ b/test/uvw/thread.cpp @@ -0,0 +1,28 @@ +#include +#include + +TEST(Thread, Run) { + auto loop = uvw::Loop::getDefault(); + auto has_run = std::make_shared(); + + auto handle = loop->resource([](std::shared_ptr data) { + if(auto has_run = std::static_pointer_cast(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(); + auto flag{true}; + + localStorage->set(&flag); + ASSERT_TRUE(localStorage->get()); +}