Daniel Lehman : msvcr110/tests: Add setlocale tests.
Alexandre Julliard
julliard at winehq.org
Wed May 2 15:50:02 CDT 2018
Module: wine
Branch: master
Commit: d0e8c9a1ab7894bef53a1f62d81a85386c65fff7
URL: https://source.winehq.org/git/wine.git/?a=commit;h=d0e8c9a1ab7894bef53a1f62d81a85386c65fff7
Author: Daniel Lehman <dlehman at esri.com>
Date: Tue May 1 14:28:23 2018 -0700
msvcr110/tests: Add setlocale tests.
Signed-off-by: Daniel Lehman <dlehman at esri.com>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
configure | 1 +
configure.ac | 1 +
dlls/msvcr110/tests/Makefile.in | 5 +++
dlls/msvcr110/tests/msvcr110.c | 78 +++++++++++++++++++++++++++++++++++++++++
4 files changed, 85 insertions(+)
diff --git a/configure b/configure
index cf625c8..119391d 100755
--- a/configure
+++ b/configure
@@ -18837,6 +18837,7 @@ wine_fn_config_makefile dlls/msvcp90/tests enable_tests
wine_fn_config_makefile dlls/msvcr100 enable_msvcr100
wine_fn_config_makefile dlls/msvcr100/tests enable_tests
wine_fn_config_makefile dlls/msvcr110 enable_msvcr110
+wine_fn_config_makefile dlls/msvcr110/tests enable_tests
wine_fn_config_makefile dlls/msvcr120 enable_msvcr120
wine_fn_config_makefile dlls/msvcr120/tests enable_tests
wine_fn_config_makefile dlls/msvcr120_app enable_msvcr120_app
diff --git a/configure.ac b/configure.ac
index 7386d74..1bc3d13 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3459,6 +3459,7 @@ WINE_CONFIG_MAKEFILE(dlls/msvcp90/tests)
WINE_CONFIG_MAKEFILE(dlls/msvcr100)
WINE_CONFIG_MAKEFILE(dlls/msvcr100/tests)
WINE_CONFIG_MAKEFILE(dlls/msvcr110)
+WINE_CONFIG_MAKEFILE(dlls/msvcr110/tests)
WINE_CONFIG_MAKEFILE(dlls/msvcr120)
WINE_CONFIG_MAKEFILE(dlls/msvcr120/tests)
WINE_CONFIG_MAKEFILE(dlls/msvcr120_app)
diff --git a/dlls/msvcr110/tests/Makefile.in b/dlls/msvcr110/tests/Makefile.in
new file mode 100644
index 0000000..e8fa818
--- /dev/null
+++ b/dlls/msvcr110/tests/Makefile.in
@@ -0,0 +1,5 @@
+TESTDLL = msvcr110.dll
+APPMODE = -mno-cygwin
+
+C_SRCS = \
+ msvcr110.c
diff --git a/dlls/msvcr110/tests/msvcr110.c b/dlls/msvcr110/tests/msvcr110.c
new file mode 100644
index 0000000..0a18f73
--- /dev/null
+++ b/dlls/msvcr110/tests/msvcr110.c
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2018 Daniel Lehman
+ *
+ * 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 <errno.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <stdio.h>
+#include <float.h>
+#include <limits.h>
+
+#include <windef.h>
+#include <winbase.h>
+#include <winnls.h>
+#include "wine/test.h"
+
+#include <locale.h>
+
+static char* (CDECL *p_setlocale)(int category, const char* locale);
+
+static BOOL init(void)
+{
+ HMODULE module;
+
+ module = LoadLibraryA("msvcr110.dll");
+ if (!module)
+ {
+ win_skip("msvcr110.dll not installed\n");
+ return FALSE;
+ }
+
+ p_setlocale = (void*)GetProcAddress(module, "setlocale");
+ return TRUE;
+}
+
+static void test_setlocale(void)
+{
+ int i;
+ char *ret;
+ static const char *names[] =
+ {
+ "en-us",
+ "en-US",
+ "EN-US",
+ "syr-SY",
+ "uz-Latn-uz",
+ };
+
+ for(i=0; i<sizeof(names)/sizeof(*names); i++) {
+ ret = p_setlocale(LC_ALL, names[i]);
+ todo_wine ok(!!ret, "expected success, but got NULL\n");
+ if(ret) ok(!strcmp(ret, names[i]),
+ "expected %s, got %s\n", names[i], ret);
+ }
+
+ p_setlocale(LC_ALL, "C");
+}
+
+START_TEST(msvcr110)
+{
+ if (!init()) return;
+ test_setlocale();
+}
More information about the wine-cvs
mailing list