[v2 - PATCH 2/2] wmvcore/tests: Add initial tests
Andrew Eikum
aeikum at codeweavers.com
Tue Apr 11 08:59:14 CDT 2017
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Alistair: In the future I think it's best practice not to include the
configure file changes from autoconf, as Alexandre will regenerate
that file when needed.
On Thu, Mar 30, 2017 at 10:07:06PM +0000, Alistair Leslie-Hughes wrote:
> v2 - Initial patch to keep inline with HeaderInfo/2/3 patch.
>
> Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
> ---
> configure | 3 +-
> configure.ac | 3 +-
> dlls/wmvcore/Makefile.in | 1 +
> dlls/wmvcore/tests/Makefile.in | 5 ++
> dlls/wmvcore/tests/wmvcore.c | 142 +++++++++++++++++++++++++++++++++++++++++
> 5 files changed, 152 insertions(+), 2 deletions(-)
> create mode 100644 dlls/wmvcore/tests/Makefile.in
> create mode 100644 dlls/wmvcore/tests/wmvcore.c
>
> diff --git a/configure b/configure
> index c4de73b..cc37cb0 100755
> --- a/configure
> +++ b/configure
> @@ -18471,7 +18471,8 @@ wine_fn_config_dll wmiutils enable_wmiutils clean
> wine_fn_config_test dlls/wmiutils/tests wmiutils_test
> wine_fn_config_dll wmp enable_wmp clean
> wine_fn_config_test dlls/wmp/tests wmp_test
> -wine_fn_config_dll wmvcore enable_wmvcore
> +wine_fn_config_dll wmvcore enable_wmvcore implib
> +wine_fn_config_test dlls/wmvcore/tests wmvcore_test
> wine_fn_config_dll wnaspi32 enable_wnaspi32 implib
> wine_fn_config_dll wow32 enable_win16 implib
> wine_fn_config_dll wpc enable_wpc clean
> diff --git a/configure.ac b/configure.ac
> index 7e3f643..5f298f9 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -3519,7 +3519,8 @@ WINE_CONFIG_DLL(wmiutils,,[clean])
> WINE_CONFIG_TEST(dlls/wmiutils/tests)
> WINE_CONFIG_DLL(wmp,,[clean])
> WINE_CONFIG_TEST(dlls/wmp/tests)
> -WINE_CONFIG_DLL(wmvcore)
> +WINE_CONFIG_DLL(wmvcore,,[implib])
> +WINE_CONFIG_TEST(dlls/wmvcore/tests)
> WINE_CONFIG_DLL(wnaspi32,,[implib])
> WINE_CONFIG_DLL(wow32,enable_win16,[implib])
> WINE_CONFIG_DLL(wpc,,[clean])
> diff --git a/dlls/wmvcore/Makefile.in b/dlls/wmvcore/Makefile.in
> index ba3539b..0ee6f97 100644
> --- a/dlls/wmvcore/Makefile.in
> +++ b/dlls/wmvcore/Makefile.in
> @@ -1,4 +1,5 @@
> MODULE = wmvcore.dll
> +IMPORTLIB = wmvcore
> IMPORTS = kernel32
>
> C_SRCS = \
> diff --git a/dlls/wmvcore/tests/Makefile.in b/dlls/wmvcore/tests/Makefile.in
> new file mode 100644
> index 0000000..8054ddd
> --- /dev/null
> +++ b/dlls/wmvcore/tests/Makefile.in
> @@ -0,0 +1,5 @@
> +TESTDLL = wmvcore.dll
> +IMPORTS = ole32 wmvcore
> +
> +C_SRCS = \
> + wmvcore.c
> diff --git a/dlls/wmvcore/tests/wmvcore.c b/dlls/wmvcore/tests/wmvcore.c
> new file mode 100644
> index 0000000..ef77aff
> --- /dev/null
> +++ b/dlls/wmvcore/tests/wmvcore.c
> @@ -0,0 +1,142 @@
> +/*
> + * Copyright 2017 Alistair Leslie-Hughes
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
> + */
> +#define COBJMACROS
> +#define WIN32_LEAN_AND_MEAN
> +#include "initguid.h"
> +#include "wmsdkidl.h"
> +
> +#include "wine/test.h"
> +
> +static void test_wmwriter_interfaces(void)
> +{
> + HRESULT hr;
> + IWMWriter *writer;
> + IWMHeaderInfo *header;
> + IWMHeaderInfo2 *header2;
> + IWMHeaderInfo3 *header3;
> +
> + hr = WMCreateWriter( NULL, &writer );
> + ok(hr == S_OK, "WMCreateWriter failed 0x%08x\n", hr);
> + if(FAILED(hr))
> + {
> + win_skip("Failed to create IWMWriter\n");
> + return;
> + }
> +
> + hr = IWMWriter_QueryInterface(writer, &IID_IWMHeaderInfo, (void **)&header);
> + todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
> +
> + hr = IWMWriter_QueryInterface(writer, &IID_IWMHeaderInfo2, (void **)&header2);
> + todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
> +
> + hr = IWMWriter_QueryInterface(writer, &IID_IWMHeaderInfo3, (void **)&header3);
> + todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
> +
> + if(header)
> + IWMHeaderInfo_Release(header);
> + if(header2)
> + IWMHeaderInfo2_Release(header2);
> + if(header3)
> + IWMHeaderInfo3_Release(header3);
> + IWMWriter_Release(writer);
> +}
> +
> +static void test_wmreader_interfaces(void)
> +{
> + HRESULT hr;
> + IWMReader *reader;
> + IWMReaderAdvanced *advanced;
> + IWMReaderAdvanced2 *advanced2;
> + IWMHeaderInfo *header;
> + IWMHeaderInfo2 *header2;
> + IWMHeaderInfo3 *header3;
> + IWMProfile *profile;
> +
> + hr = WMCreateReader( NULL, 0, &reader );
> + ok(hr == S_OK, "WMCreateReader failed 0x%08x\n", hr);
> + if(FAILED(hr))
> + {
> + win_skip("Failed to create IWMReader\n");
> + return;
> + }
> +
> + hr = IWMReader_QueryInterface(reader, &IID_IWMReaderAdvanced, (void **)&advanced);
> + ok(hr == S_OK, "Failed 0x%08x\n", hr);
> +
> + hr = IWMReader_QueryInterface(reader, &IID_IWMReaderAdvanced2, (void **)&advanced2);
> + ok(hr == S_OK, "Failed 0x%08x\n", hr);
> +
> + hr = IWMReader_QueryInterface(reader, &IID_IWMHeaderInfo, (void **)&header);
> + todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
> +
> + hr = IWMReader_QueryInterface(reader, &IID_IWMHeaderInfo2, (void **)&header2);
> + todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
> +
> + hr = IWMReader_QueryInterface(reader, &IID_IWMHeaderInfo3, (void **)&header3);
> + todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
> +
> + hr = IWMReader_QueryInterface(reader, &IID_IWMProfile, (void **)&profile);
> + todo_wine ok(hr == S_OK, "Failed 0x%08x\n", hr);
> +
> + if(advanced)
> + IWMReaderAdvanced_Release(advanced);
> + if(advanced2)
> + IWMReaderAdvanced2_Release(advanced2);
> + if(profile)
> + IWMProfile_Release(profile);
> + if(header)
> + IWMHeaderInfo_Release(header);
> + if(header2)
> + IWMHeaderInfo2_Release(header2);
> + if(header3)
> + IWMHeaderInfo3_Release(header3);
> +
> + IWMReader_Release(reader);
> +}
> +
> +void test_profile_manager_interfaces(void)
> +{
> + HRESULT hr;
> + IWMProfileManager *profile;
> +
> + hr = WMCreateProfileManager(&profile);
> + ok(hr == S_OK, "WMCreateProfileManager failed 0x%08x\n", hr);
> + if(FAILED(hr))
> + {
> + win_skip("Failed to create IWMProfileManager\n");
> + return;
> + }
> +
> + IWMProfileManager_Release(profile);
> +}
> +
> +START_TEST(wmvcore)
> +{
> + HRESULT hr;
> +
> + hr = CoInitialize(0);
> + ok(hr == S_OK, "failed to init com\n");
> + if(hr != S_OK)
> + return;
> +
> + test_wmreader_interfaces();
> + test_wmwriter_interfaces();
> + test_profile_manager_interfaces();
> +
> + CoUninitialize();
> +}
> --
> 1.9.1
>
>
>
More information about the wine-patches
mailing list