[MSVCRT_APITEST]

- add basic test for _vsnprintf
This is mostly to verify if WINE's implementation of _vcsprintf is correct

svn path=/trunk/; revision=56924
This commit is contained in:
Jérôme Gardou 2012-07-21 16:31:03 +00:00
parent b8244617b9
commit 7ee4b9f4f0
3 changed files with 35 additions and 0 deletions

View file

@ -2,6 +2,7 @@
add_definitions(-D_DLL -D__USE_CRTIMP)
list(APPEND SOURCE
_vsnprintf.c
ieee.c
splitpath.c
testlist.c)

View file

@ -0,0 +1,32 @@
/*
* PROJECT: ReactOS api tests
* LICENSE: GPL - See COPYING in the top level directory
* PURPOSE: Test for _vsnprintf
*/
#include <wine/test.h>
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <stdarg.h>
void call_varargs(char* buf, size_t buf_size, int expected_ret, LPCSTR formatString, ...)
{
va_list args;
int ret;
/* Test the basic functionality */
va_start(args, formatString);
ret = _vsnprintf(buf, 255, formatString, args);
ok(expected_ret == ret, "Test failed: expected %i, got %i.\n", expected_ret, ret);
}
START_TEST(_vsnprintf)
{
char buffer[255];
/* Test basic functionality */
call_varargs(buffer, 255, 12, "%s world!", "hello");
/* This is how WINE implements _vcsprintf, and they are obviously wrong */
call_varargs(NULL, INT_MAX, -1, "%s it really work?", "does");
/* This one is no better */
call_varargs(NULL, 0, -1, "%s it really work?", "does");
}

View file

@ -5,11 +5,13 @@
#define STANDALONE
#include "wine/test.h"
extern void func__vsnprintf(void);
extern void func_ieee(void);
extern void func_splitpath(void);
const struct test winetest_testlist[] =
{
{ "_vsnprintf", func__vsnprintf},
{ "ieee", func_ieee },
{ "splitpath", func_splitpath },