diff options
Diffstat (limited to '3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp')
-rw-r--r-- | 3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp b/3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp index 261ece6f531..fda1b2cbd98 100644 --- a/3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp +++ b/3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp @@ -2,7 +2,7 @@ // overlapped_ptr.cpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -16,6 +16,8 @@ // Test that header file is self-contained. #include "asio/windows/overlapped_ptr.hpp" +#include "asio/any_io_executor.hpp" +#include "asio/executor.hpp" #include "asio/io_context.hpp" #include "../unit_test.hpp" @@ -49,6 +51,10 @@ void test() try { io_context ioc; + asio::any_io_executor ex1(ioc.get_executor()); +#if !defined(ASIO_NO_TS_EXECUTORS) + asio::executor ex2(ioc.get_executor()); +#endif // !defined(ASIO_NO_TS_EXECUTORS) // basic_overlapped_ptr constructors. @@ -57,6 +63,15 @@ void test() win::overlapped_ptr ptr2(ioc, &overlapped_handler_1); win::overlapped_ptr ptr3(ioc, overlapped_handler_2()); + win::overlapped_ptr ptr4(ioc.get_executor(), &overlapped_handler_1); + win::overlapped_ptr ptr5(ioc.get_executor(), overlapped_handler_2()); + win::overlapped_ptr ptr6(ex1, &overlapped_handler_1); + win::overlapped_ptr ptr7(ex1, overlapped_handler_2()); +#if !defined(ASIO_NO_TS_EXECUTORS) + win::overlapped_ptr ptr8(ex2, &overlapped_handler_1); + win::overlapped_ptr ptr9(ex2, overlapped_handler_2()); +#endif // !defined(ASIO_NO_TS_EXECUTORS) + // overlapped_ptr functions. ptr1.reset(); @@ -64,11 +79,20 @@ void test() ptr2.reset(ioc, &overlapped_handler_1); ptr3.reset(ioc, overlapped_handler_2()); + ptr2.reset(ioc.get_executor(), &overlapped_handler_1); + ptr3.reset(ioc.get_executor(), overlapped_handler_2()); + ptr2.reset(ex1, &overlapped_handler_1); + ptr3.reset(ex1, overlapped_handler_2()); +#if !defined(ASIO_NO_TS_EXECUTORS) + ptr3.reset(ex2, &overlapped_handler_1); + ptr3.reset(ex2, overlapped_handler_2()); +#endif // !defined(ASIO_NO_TS_EXECUTORS) + OVERLAPPED* ov1 = ptr1.get(); (void)ov1; - const win::overlapped_ptr& ptr4(ptr1); - const OVERLAPPED* ov2 = ptr4.get(); + const win::overlapped_ptr& ptr10(ptr1); + const OVERLAPPED* ov2 = ptr10.get(); (void)ov2; OVERLAPPED* ov3 = ptr1.release(); @@ -91,5 +115,5 @@ void test() ASIO_TEST_SUITE ( "windows/overlapped_ptr", - ASIO_TEST_CASE(windows_overlapped_ptr_compile::test) + ASIO_COMPILE_TEST_CASE(windows_overlapped_ptr_compile::test) ) |