Module: wine Branch: master Commit: a8528706ac897fcfd16654cd444c8032f9da9e9c URL: http://source.winehq.org/git/wine.git/?a=commit;h=a8528706ac897fcfd16654cd44...
Author: Louis Lenders xerox_xerox2000@yahoo.co.uk Date: Tue Aug 24 11:48:01 2010 +0200
mscoree/tests: Added some simple tests for GetCORVersion.
---
configure | 1 + configure.ac | 1 + dlls/mscoree/tests/Makefile.in | 10 +++++ dlls/mscoree/tests/mscoree.c | 73 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+), 0 deletions(-)
diff --git a/configure b/configure index dac6570..8784ec7 100755 --- a/configure +++ b/configure @@ -14713,6 +14713,7 @@ wine_fn_config_dll mscat32 enable_mscat32 wine_fn_config_dll mscms enable_mscms mscms wine_fn_config_test dlls/mscms/tests mscms_test wine_fn_config_dll mscoree enable_mscoree +wine_fn_config_test dlls/mscoree/tests mscoree_test wine_fn_config_dll msctf enable_msctf wine_fn_config_test dlls/msctf/tests msctf_test wine_fn_config_dll msdaps enable_msdaps diff --git a/configure.ac b/configure.ac index 37628f6..790df31 100644 --- a/configure.ac +++ b/configure.ac @@ -2492,6 +2492,7 @@ WINE_CONFIG_DLL(mscat32) WINE_CONFIG_DLL(mscms,,[mscms]) WINE_CONFIG_TEST(dlls/mscms/tests) WINE_CONFIG_DLL(mscoree) +WINE_CONFIG_TEST(dlls/mscoree/tests) WINE_CONFIG_DLL(msctf) WINE_CONFIG_TEST(dlls/msctf/tests) WINE_CONFIG_DLL(msdaps) diff --git a/dlls/mscoree/tests/Makefile.in b/dlls/mscoree/tests/Makefile.in new file mode 100644 index 0000000..43e16a1 --- /dev/null +++ b/dlls/mscoree/tests/Makefile.in @@ -0,0 +1,10 @@ +TOPSRCDIR = @top_srcdir@ +TOPOBJDIR = ../../.. +SRCDIR = @srcdir@ +VPATH = @srcdir@ +TESTDLL = mscoree.dll + +C_SRCS = \ + mscoree.c + +@MAKE_TEST_RULES@ diff --git a/dlls/mscoree/tests/mscoree.c b/dlls/mscoree/tests/mscoree.c new file mode 100644 index 0000000..f0826a5 --- /dev/null +++ b/dlls/mscoree/tests/mscoree.c @@ -0,0 +1,73 @@ +/* + * Copyright 2010 Louis Lenders + * + * 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 + */ + +#include "wine/test.h" + +static HMODULE hmscoree; + +static HRESULT (WINAPI *pGetCORVersion)(LPWSTR, DWORD, DWORD*); + +static BOOL init_functionpointers(void) +{ + hmscoree = LoadLibraryA("mscoree.dll"); + + if (!hmscoree) + { + win_skip("mscoree.dll not available\n"); + return FALSE; + } + + pGetCORVersion = (void *)GetProcAddress(hmscoree, "GetCORVersion"); + + if (!pGetCORVersion) + { + win_skip("functions not available\n"); + FreeLibrary(hmscoree); + return FALSE; + } + + return TRUE; +} + +static void test_versioninfo(void) +{ + WCHAR version[MAX_PATH]; + DWORD size; + HRESULT hr; + + hr = pGetCORVersion(NULL, MAX_PATH, &size); + todo_wine ok(hr == E_POINTER,"GetCORVersion returned %08x\n", hr); + + hr = pGetCORVersion(version, 1, &size); + todo_wine ok(hr == HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER),"GetCORVersion returned %08x\n", hr); + + hr = pGetCORVersion(version, MAX_PATH, &size); + ok(hr == S_OK,"GetCORVersion returned %08x\n", hr); + + trace("latest installed .net runtime: %s\n", wine_dbgstr_w(version)); +} + +START_TEST(mscoree) +{ + if (!init_functionpointers()) + return; + + test_versioninfo(); + + FreeLibrary(hmscoree); +}