Author: tkreuzer
Date: Tue May 31 17:26:30 2011
New Revision: 52022

URL: http://svn.reactos.org/svn/reactos?rev=52022&view=rev
Log:
[MSVCRT_APITEST]
Add tests for splitpath

Added:
    trunk/rostests/apitests/msvcrt/   (with props)
    trunk/rostests/apitests/msvcrt/CMakeLists.txt   (with props)
    trunk/rostests/apitests/msvcrt/msvcrt_apitest.rbuild   (with props)
    trunk/rostests/apitests/msvcrt/splitpath.c   (with props)
    trunk/rostests/apitests/msvcrt/testlist.c   (with props)

Propchange: trunk/rostests/apitests/msvcrt/
------------------------------------------------------------------------------
--- bugtraq:logregex (added)
+++ bugtraq:logregex Tue May 31 17:26:30 2011
@@ -1,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)

Propchange: trunk/rostests/apitests/msvcrt/
------------------------------------------------------------------------------
    bugtraq:message = See issue #%BUGID% for more details.

Propchange: trunk/rostests/apitests/msvcrt/
------------------------------------------------------------------------------
    bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%

Propchange: trunk/rostests/apitests/msvcrt/
------------------------------------------------------------------------------
    tsvn:logminsize = 10

Added: trunk/rostests/apitests/msvcrt/CMakeLists.txt
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/msvcrt/CMakeLists.txt?rev=52022&view=auto
==============================================================================
--- trunk/rostests/apitests/msvcrt/CMakeLists.txt (added)
+++ trunk/rostests/apitests/msvcrt/CMakeLists.txt [iso-8859-1] Tue May 31 
17:26:30 2011
@@ -1,0 +1,12 @@
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+
+list(APPEND SOURCE
+    splitpath.c
+    testlist.c)
+
+add_executable(msvcrt_apitest ${SOURCE})
+target_link_libraries(msvcrt_apitest wine)
+set_module_type(msvcrt_apitest win32cui)
+add_importlibs(msvcrt_apitest msvcrt kernel32)
+add_cd_file(TARGET msvcrt_apitest DESTINATION reactos/bin FOR all)

Propchange: trunk/rostests/apitests/msvcrt/CMakeLists.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/rostests/apitests/msvcrt/msvcrt_apitest.rbuild
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/msvcrt/msvcrt_apitest.rbuild?rev=52022&view=auto
==============================================================================
--- trunk/rostests/apitests/msvcrt/msvcrt_apitest.rbuild (added)
+++ trunk/rostests/apitests/msvcrt/msvcrt_apitest.rbuild [iso-8859-1] Tue May 
31 17:26:30 2011
@@ -1,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
+<group>
+<module name="msvcrt_apitest" type="win32cui" installbase="bin" 
installname="msvcrt_apitest.exe">
+       <include base="msvcrt_apitest">.</include>
+       <library>wine</library>
+       <library>pseh</library>
+       <file>testlist.c</file>
+
+       <file>splitpath.c</file>
+
+</module>
+</group>

Propchange: trunk/rostests/apitests/msvcrt/msvcrt_apitest.rbuild
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/rostests/apitests/msvcrt/splitpath.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/msvcrt/splitpath.c?rev=52022&view=auto
==============================================================================
--- trunk/rostests/apitests/msvcrt/splitpath.c (added)
+++ trunk/rostests/apitests/msvcrt/splitpath.c [iso-8859-1] Tue May 31 17:26:30 
2011
@@ -1,0 +1,94 @@
+/*
+ * PROJECT:         ReactOS api tests
+ * LICENSE:         GPL - See COPYING in the top level directory
+ * PURPOSE:         Test for _splitpath
+ * PROGRAMMER:      Timo Kreuzer
+ */
+
+#include <wine/test.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <strings.h>
+#include <stdarg.h>
+
+#define ok_str(x, y) \
+    ok(strcmp(x, y) == 0, "got '%s', expected '%s'\n", x, y);
+
+#define ok_int(x, y) \
+    ok(x == y, "got %d, expected %d\n", x, y);
+
+START_TEST(splitpath)
+{
+    char drive[5];
+    char dir[64];
+    char fname[32];
+    char ext[10];
+
+    _splitpath("c:\\dir1\\dir2\\file.ext", drive, dir, fname, ext);
+    ok_str(drive, "c:");
+    ok_str(dir, "\\dir1\\dir2\\");
+    ok_str(fname, "file");
+    ok_str(ext, ".ext");
+
+    *_errno() = 0;
+    _splitpath("c:\\dir1\\dir2\\file.ext", 0, 0, 0, 0);
+    ok_int(*_errno(), 0);
+
+    *_errno() = 0;
+    _splitpath(0, drive, dir, fname, ext);
+    ok_int(*_errno(), EINVAL);
+    ok_str(drive, "");
+    ok_str(dir, "");
+    ok_str(fname, "");
+    ok_str(ext, "");
+
+    _splitpath("\\\\?\\c:\\dir1\\dir2\\file.ext", drive, dir, fname, ext);
+    ok_str(drive, "c:");
+    ok_str(dir, "\\dir1\\dir2\\");
+    ok_str(fname, "file");
+    ok_str(ext, ".ext");
+
+    _splitpath("ab:\\dir1\\..\\file", drive, dir, fname, ext);
+    ok_str(drive, "");
+    ok_str(dir, "ab:\\dir1\\..\\");
+    ok_str(fname, "file");
+    ok_str(ext, "");
+
+    _splitpath("//?/c:/dir1/dir2/file.ext", drive, dir, fname, ext);
+    ok_str(drive, "");
+    ok_str(dir, "//?/c:/dir1/dir2/");
+    ok_str(fname, "file");
+    ok_str(ext, ".ext");
+
+    _splitpath("\\\\?\\0:/dir1\\dir2/file.", drive, dir, fname, ext);
+    ok_str(drive, "0:");
+    ok_str(dir, "/dir1\\dir2/");
+    ok_str(fname, "file");
+    ok_str(ext, ".");
+
+    _splitpath("\\\\.\\c:\\dir1\\dir2\\.ext.ext2", drive, dir, fname, ext);
+    ok_str(drive, "");
+    ok_str(dir, "\\\\.\\c:\\dir1\\dir2\\");
+    ok_str(fname, ".ext");
+    ok_str(ext, ".ext2");
+
+    _splitpath("\\??\\c:\\dir1\\dir2\\file. ~ ", drive, dir, fname, ext);
+    ok_str(drive, "");
+    ok_str(dir, "\\??\\c:\\dir1\\dir2\\");
+    ok_str(fname, "file");
+    ok_str(ext, ". ~ ");
+
+    _splitpath("x: dir1\\/dir2 \\.blub", drive, dir, fname, ext);
+    ok_str(drive, "x:");
+    ok_str(dir, " dir1\\/dir2 \\");
+    ok_str(fname, "");
+    ok_str(ext, ".blub");
+
+    _splitpath("/:\\dir1\\dir2\\file.ext", drive, dir, fname, ext);
+    ok_str(drive, "/:");
+    ok_str(dir, "\\dir1\\dir2\\");
+    ok_str(fname, "file");
+    ok_str(ext, ".ext");
+
+}
+

Propchange: trunk/rostests/apitests/msvcrt/splitpath.c
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/rostests/apitests/msvcrt/testlist.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/msvcrt/testlist.c?rev=52022&view=auto
==============================================================================
--- trunk/rostests/apitests/msvcrt/testlist.c (added)
+++ trunk/rostests/apitests/msvcrt/testlist.c [iso-8859-1] Tue May 31 17:26:30 
2011
@@ -1,0 +1,16 @@
+#define WIN32_LEAN_AND_MEAN
+#define __ROS_LONG64__
+#include <windows.h>
+
+#define STANDALONE
+#include "wine/test.h"
+
+extern void func_splitpath(void);
+
+const struct test winetest_testlist[] =
+{
+    { "splitpath", func_splitpath },
+
+    { 0, 0 }
+};
+

Propchange: trunk/rostests/apitests/msvcrt/testlist.c
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to