Author: tkreuzer
Date: Tue Sep 30 21:10:15 2014
New Revision: 64425
URL:
http://svn.reactos.org/svn/reactos?rev=64425&view=rev
Log:
[CRT_APITEST]
Fix some tests based on Windows 2003 SP1 behavior. Patch by Victor Martinez.
Modified:
trunk/rostests/apitests/crt/_vsnprintf.c
trunk/rostests/apitests/crt/_vsnwprintf.c
Modified: trunk/rostests/apitests/crt/_vsnprintf.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/crt/_vsnprintf.c…
==============================================================================
--- trunk/rostests/apitests/crt/_vsnprintf.c [iso-8859-1] (original)
+++ trunk/rostests/apitests/crt/_vsnprintf.c [iso-8859-1] Tue Sep 30 21:10:15 2014
@@ -31,37 +31,54 @@
call_varargs(buffer, 255, 12, "%S world!", L"hello");
call_varargs(buffer, 255, 12, "%s world!", "hello");
call_varargs(buffer, 255, 11, "%u cookies", 100);
- /* This is how WINE implements _vcsprintf, and they are obviously wrong */
+
StartSeh()
+#if defined(TEST_CRTDLL)||defined(TEST_USER32)
call_varargs(NULL, INT_MAX, -1, "%s it really work?",
"does");
-#if defined(TEST_CRTDLL) || defined(TEST_USER32)
+#else
+ call_varargs(NULL, INT_MAX, 20, "%s it really work?",
"does");
+#endif
+
+#if defined(TEST_CRTDLL)||defined(TEST_USER32)
EndSeh(STATUS_ACCESS_VIOLATION);
#else
EndSeh(STATUS_SUCCESS);
#endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
+
+#if defined(TEST_USER32) /* NTDLL doesn't use/set errno */
ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
+#else
+ ok(errno == 0, "Expected 0, got %u \n", errno);
#endif
+
/* This one is no better */
StartSeh()
+#if defined(TEST_CRTDLL)||defined(TEST_USER32)
call_varargs(NULL, 0, -1, "%s it really work?", "does");
-#if defined(TEST_CRTDLL) || defined(TEST_USER32)
+#else
+ call_varargs(NULL, 0, 20, "%s it really work?", "does");
+#endif
+
+#if defined(TEST_USER32)
EndSeh(STATUS_ACCESS_VIOLATION);
-#else
+#else
EndSeh(STATUS_SUCCESS);
#endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
+
+#if defined(TEST_USER32) /* NTDLL doesn't use/set errno */
ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
+#else
+ ok(errno == 0, "Expected 0, got %u \n", errno);
#endif
+
/* One more NULL checks */
StartSeh()
call_varargs(buffer, 255, -1, NULL);
-#if defined(TEST_CRTDLL)
EndSeh(STATUS_ACCESS_VIOLATION);
+
+#if defined(TEST_USER32) /* NTDLL doesn't use/set errno */
+ ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
#else
- EndSeh(STATUS_SUCCESS);
-#endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
- ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
+ ok(errno == 0, "Expected 0, got %u \n", errno);
#endif
}
Modified: trunk/rostests/apitests/crt/_vsnwprintf.c
URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/crt/_vsnwprintf.…
==============================================================================
--- trunk/rostests/apitests/crt/_vsnwprintf.c [iso-8859-1] (original)
+++ trunk/rostests/apitests/crt/_vsnwprintf.c [iso-8859-1] Tue Sep 30 21:10:15 2014
@@ -1,7 +1,7 @@
/*
* PROJECT: ReactOS api tests
* LICENSE: GPL - See COPYING in the top level directory
- * PURPOSE: Test for _vsnprintf
+ * PURPOSE: Test for _vsnwprintf
*/
#include <apitest.h>
@@ -28,40 +28,43 @@
wchar_t buffer[255];
/* Test basic functionality */
- call_varargs(buffer, 255, 19, L"%s world!", "hello");
+ call_varargs(buffer, 255, 10, L"%s world!", "hello");
call_varargs(buffer, 255, 12, L"%s world!", L"hello");
call_varargs(buffer, 255, 11, L"%u cookies", 100);
/* This is how WINE implements _vcsprintf, and they are obviously wrong */
StartSeh()
+#if defined(TEST_CRTDLL)
call_varargs(NULL, INT_MAX, -1, L"%s it really work?",
L"does");
-#if defined(TEST_CRTDLL)
+#else
+ call_varargs(NULL, INT_MAX, 20, L"%s it really work?",
L"does");
+#endif
+
+#if defined(TEST_USER32)
EndSeh(STATUS_ACCESS_VIOLATION);
-#else
+#else
EndSeh(STATUS_SUCCESS);
#endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
+
+#if defined(TEST_USER32)/* NTDLL doesn't use/set errno */
ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
+#else
+ ok(errno == 0, "Expected 0, got %u\n", errno);
#endif
+
/* This one is no better */
StartSeh()
+#if defined(TEST_CRTDLL)
call_varargs(NULL, 0, -1, L"%s it really work?", L"does");
-#if defined(TEST_CRTDLL)
- EndSeh(STATUS_ACCESS_VIOLATION);
-#else
+#else
+ call_varargs(NULL, 0, 20, L"%s it really work?", L"does");
+#endif
EndSeh(STATUS_SUCCESS);
-#endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
- ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
-#endif
+ ok(errno == 0, "Expected 0, got %u\n", errno);
+
+
/* One more NULL checks */
StartSeh()
call_varargs(buffer, 255, -1, NULL);
-#if defined(TEST_CRTDLL)
EndSeh(STATUS_ACCESS_VIOLATION);
-#else
- EndSeh(STATUS_SUCCESS);
-#endif
-#if defined(TEST_MSVCRT) /* NTDLL doesn't use/set errno */
- ok(errno == EINVAL, "Expected EINVAL, got %u\n", errno);
-#endif
+ ok(errno == 0, "Expected 0, got %u\n", errno);
}