Alistair Leslie-Hughes : dpnet/tests: Add tests to show IDirectPlay8ThreadPool is a singleton object.
Module: wine Branch: master Commit: 1f788c0314390620ae5f8dbcbee22ba8dfc055fd URL: http://source.winehq.org/git/wine.git/?a=commit;h=1f788c0314390620ae5f8dbcbe... Author: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Date: Thu Feb 16 06:36:02 2017 +0000 dpnet/tests: Add tests to show IDirectPlay8ThreadPool is a singleton object. Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dpnet/tests/thread.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/dlls/dpnet/tests/thread.c b/dlls/dpnet/tests/thread.c index 37c226f..7129739 100644 --- a/dlls/dpnet/tests/thread.c +++ b/dlls/dpnet/tests/thread.c @@ -209,6 +209,34 @@ static void test_enum_hosts(void) CloseHandle(enumevent); } +static void test_singleton(void) +{ + HRESULT hr; + IDirectPlay8ThreadPool *pool1, *pool2; + + hr = CoCreateInstance( &CLSID_DirectPlay8ThreadPool, NULL, CLSCTX_ALL, &IID_IDirectPlay8ThreadPool, (void**)&pool1); + ok(hr == S_OK, "got 0x%08x\n", hr); + + hr = CoCreateInstance( &CLSID_DirectPlay8ThreadPool, NULL, CLSCTX_ALL, &IID_IDirectPlay8ThreadPool, (void**)&pool2); + ok(hr == S_OK, "got 0x%08x\n", hr); + ok(pool1 != pool2, "same pointer returned.\n"); + + hr = IDirectPlay8ThreadPool_Initialize(pool1, NULL, &DirectPlayThreadHandler, 0); + ok(hr == S_OK, "got 0x%08x\n", hr); + + hr = IDirectPlay8ThreadPool_Initialize(pool2, NULL, &DirectPlayThreadHandler, 0); + todo_wine ok(hr == DPNERR_ALREADYINITIALIZED, "got 0x%08x\n", hr); + + hr = IDirectPlay8ThreadPool_Close(pool1, 0); + ok(hr == S_OK, "got 0x%08x\n", hr); + + hr = IDirectPlay8ThreadPool_Close(pool2, 0); + todo_wine ok(hr == DPNERR_UNINITIALIZED, "got 0x%08x\n", hr); + + IDirectPlay8ThreadPool_Release(pool1); + IDirectPlay8ThreadPool_Release(pool2); +} + START_TEST(thread) { HRESULT hr; @@ -251,6 +279,7 @@ START_TEST(thread) create_threadpool(); test_enum_hosts(); + test_singleton(); CoUninitialize(); }
participants (1)
-
Alexandre Julliard