Re: New _lcreat tests (patch included)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andreas Mohr <andi@rhlx01.fht-esslingen.de> wrote:

> I'd rather say that this is a test of whether or not you
> manage to include the patch ;)

and I really wondered what that may mean, until I read that

Mike Hearn <mike@theoretic.com> wrote:

> it seems you forget the attachment?

when I slapped my head.  I even checked that my post got
into the archives.  So thank you, and let me try again...

                                              Feri.


These are to reveal the difference to the DOS interface
(interrupt 21 sevice 3c), which does not pass a similar
test.  If anybody knows how to include a test for that (I
have got a 16 bit DOS program for now), let me know.

Changelog:
  New _lcreat test for filename ending in a slash.
  New _lcreat test for volume label attribute.

Index: dlls/kernel/tests/file.c
===================================================================
RCS file: /home/wine/wine/dlls/kernel/tests/file.c,v
retrieving revision 1.16
diff -u -r1.16 file.c
--- dlls/kernel/tests/file.c	17 Apr 2003 02:10:04 -0000	1.16
+++ dlls/kernel/tests/file.c	17 May 2003 16:17:57 -0000
@@ -193,6 +193,8 @@
     HFILE filehandle;
     char buffer[10000];
     WIN32_FIND_DATAA search_results;
+    char slashname[] = "testfi/";
+    HANDLE find;
 
     filehandle = _lcreat( filename, 0 );
     if (filehandle == HFILE_ERROR)
@@ -257,6 +259,48 @@
     ok( INVALID_HANDLE_VALUE != FindFirstFileA( filename, &search_results ), "should STILL be able to find file" );
 
     ok( DeleteFileA( filename ) != 0, "DeleteFile failed (%ld)", GetLastError(  ) );
+
+    filehandle=_lcreat (slashname, 0); /* illegal name */
+    if (HFILE_ERROR==filehandle)
+      ok (0, "couldn't create file \"%s\" (err=%ld)", slashname,
+          GetLastError ());
+    else {
+      _lclose(filehandle);
+      find=FindFirstFileA (slashname, &search_results);
+      if (INVALID_HANDLE_VALUE==find)
+        ok (0, "file \"%s\" not found", slashname);
+      else {
+        ok (0!=FindClose (find), "FindClose complains (%ld)", GetLastError ());
+        slashname[strlen(slashname)-1]=0;
+        ok (!strcmp (slashname, search_results.cFileName),
+            "found unexpected name \"%s\"", search_results.cFileName);
+        ok (FILE_ATTRIBUTE_ARCHIVE==search_results.dwFileAttributes,
+            "attributes of file \"%s\" are 0x%04lx", search_results.cFileName,
+            search_results.dwFileAttributes);
+      }
+      ok (0!=DeleteFileA (slashname), "Can't delete \"%s\" (%ld)", slashname,
+          GetLastError ());
+    }
+
+    filehandle=_lcreat (filename, 8); /* illegal attribute */
+    if (HFILE_ERROR==filehandle)
+      ok (0, "couldn't create volume label \"%s\"", filename);
+    else {
+      _lclose(filehandle);
+      find=FindFirstFileA (filename, &search_results);
+      if (INVALID_HANDLE_VALUE==find)
+        ok (0, "file \"%s\" not found", filename);
+      else {
+        ok (0!=FindClose (find), "FindClose complains (%ld)", GetLastError ());
+        ok (!strcmp (filename, search_results.cFileName),
+            "found unexpected name \"%s\"", search_results.cFileName);
+        ok (FILE_ATTRIBUTE_ARCHIVE==search_results.dwFileAttributes,
+            "attributes of file \"%s\" are 0x%04lx", search_results.cFileName,
+            search_results.dwFileAttributes);
+      }
+      ok (0!=DeleteFileA (filename), "Can't delete \"%s\" (%ld)", slashname,
+          GetLastError ());
+    }
 }
 
 


[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux