[6/6] msvcr80/tests: _itow_s tests

Vincas Miliūnas vincas.miliunas at gmail.com
Tue Nov 2 19:07:02 CDT 2010


qsort_s and _itow_s implementation and tests for bug #24925.

---
  dlls/msvcr80/tests/msvcr80.c |   26 ++++++++++++++++++++++++++
  1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/dlls/msvcr80/tests/msvcr80.c b/dlls/msvcr80/tests/msvcr80.c
index 89037f7..db3dee2 100644
--- a/dlls/msvcr80/tests/msvcr80.c
+++ b/dlls/msvcr80/tests/msvcr80.c
@@ -28,6 +28,7 @@
  typedef int (CDECL *_QSORT_S_COMPARE_FN)(void *, const void *, const 
void *);

  static void (__cdecl *p_qsort_s)(void *, size_t, size_t, 
_QSORT_S_COMPARE_FN, void *);
+static errno_t (__cdecl *p_itow_s)(int, wchar_t *, size_t, int);

  static int g_context_counter;

@@ -128,6 +129,29 @@ static void test_qsort_s(void)

  /* ########## */

+static void test__itow_s(void)
+{
+    wchar_t actual[128], expected[128];
+    char buffer[128];
+    errno_t err;
+
+#define PERFORM(input, output, radix) \
+    err = p_itow_s(input, actual, 128, radix); \
+    ok(err == 0, "err = %u\n", err); \
+    mbstowcs(expected, #output, 128); \
+    wcstombs(buffer, actual, 128); \
+    ok(wcscmp(expected, actual) == 0, "invalid: expected = " #output ", 
actual = %s\n", buffer);
+
+    PERFORM(42, 42, 10)
+    PERFORM(-42, -42, 10)
+    PERFORM(42, 101010, 2)
+    PERFORM(42, 2a, 16)
+
+#undef PERFORM
+}
+
+/* ########## */
+
  START_TEST(msvcr80)
  {
      HMODULE hcrt;
@@ -140,7 +164,9 @@ START_TEST(msvcr80)
      }

      p_qsort_s = (void *) GetProcAddress(hcrt, "qsort_s");
+    p_itow_s = (void *) GetProcAddress(hcrt, "_itow_s");

      test_qsort_s();
+    test__itow_s();
  }

-- 
1.7.2.3




More information about the wine-patches mailing list