From 0e439fb2d229808a8d879bfefcf371099b522479 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Wed, 14 Oct 2020 01:57:40 +0300 Subject: add Handle class It's derived from various projects of mine. --- test/CMakeLists.txt | 11 +++++++++++ test/handle.cpp | 25 +++++++++++++++++++++++++ test/main.cpp | 7 +++++++ 3 files changed, 43 insertions(+) create mode 100644 test/CMakeLists.txt create mode 100644 test/handle.cpp create mode 100644 test/main.cpp (limited to 'test') diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..3c23426 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,11 @@ +find_package(Boost REQUIRED COMPONENTS unit_test_framework) + +add_executable(unit_tests main.cpp handle.cpp) +target_link_libraries(unit_tests PRIVATE winapi_common) +target_link_libraries(unit_tests PRIVATE Boost::disable_autolinking Boost::unit_test_framework) +set_target_properties(unit_tests PROPERTIES OUTPUT_NAME winapi-common-unit-tests) + +install(TARGETS unit_tests RUNTIME DESTINATION bin) +if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + install(FILES "$" DESTINATION bin OPTIONAL) +endif() diff --git a/test/handle.cpp b/test/handle.cpp new file mode 100644 index 0000000..32b5bc1 --- /dev/null +++ b/test/handle.cpp @@ -0,0 +1,25 @@ +// Copyright (c) 2020 Egor Tensin +// This file is part of the "winapi-common" project. +// For details, see https://github.com/egor-tensin/winapi-common. +// Distributed under the MIT License. + +#include + +#include + +#include + +BOOST_AUTO_TEST_SUITE(handle_tests) + +BOOST_AUTO_TEST_CASE(null) { + { + winapi::Handle h{NULL}; + } + BOOST_TEST(true, "NULL handle closed successfully"); + { + winapi::Handle h{INVALID_HANDLE_VALUE}; + } + BOOST_TEST(true, "INVALID_HANDLE_VALUE handle closed successfully"); +} + +BOOST_AUTO_TEST_SUITE_END() diff --git a/test/main.cpp b/test/main.cpp new file mode 100644 index 0000000..d7e8d4f --- /dev/null +++ b/test/main.cpp @@ -0,0 +1,7 @@ +// Copyright (c) 2020 Egor Tensin +// This file is part of the "winapi-common" project. +// For details, see https://github.com/egor-tensin/winapi-common. +// Distributed under the MIT License. + +#define BOOST_TEST_MODULE winapi_common tests +#include -- cgit v1.2.3