Alistair Leslie-Hughes : wmvcore/tests: Add initial tests.

Alexandre Julliard julliard at winehq.org
Tue Apr 11 15:31:04 CDT 2017


Module: wine
Branch: master
Commit: 4ff2e36b59e0091d74f60d405a84fbc3e3dc8e0f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4ff2e36b59e0091d74f60d405a84fbc3e3dc8e0f

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Thu Mar 30 22:07:06 2017 +0000

wmvcore/tests: Add initial tests.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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(-)

diff --git a/configure b/configure
index 34a84ca..93fd7e5 100755
--- a/configure
+++ b/configure
@@ -18483,7 +18483,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 fa27a6c..b231fe9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3517,7 +3517,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();
+}




More information about the wine-cvs mailing list