Sync to trunk (r44789)
authorSamuel Serapion <samuel.serapion@gmail.com>
Mon, 28 Dec 2009 04:55:58 +0000 (04:55 +0000)
committerSamuel Serapion <samuel.serapion@gmail.com>
Mon, 28 Dec 2009 04:55:58 +0000 (04:55 +0000)
svn path=/branches/ros-amd64-bringup/; revision=44790

26 files changed:
1  2 
rostests/tests/directory.rbuild
rostests/winetests/advapi32/crypt.c
rostests/winetests/advapi32/security.c
rostests/winetests/kernel32/file.c
rostests/winetests/kernel32/locale.c
rostests/winetests/kernel32/path.c
rostests/winetests/kernel32/volume.c
rostests/winetests/msacm32/msacm.c
rostests/winetests/msi/db.c
rostests/winetests/msi/format.c
rostests/winetests/msi/install.c
rostests/winetests/msi/msi.c
rostests/winetests/msi/package.c
rostests/winetests/msvcrt/file.c
rostests/winetests/msvcrt/string.c
rostests/winetests/netapi32/apibuf.c
rostests/winetests/ntdll/om.c
rostests/winetests/ntdll/rtlstr.c
rostests/winetests/rsaenh/rsaenh.c
rostests/winetests/setupapi/parser.c
rostests/winetests/setupapi/query.c
rostests/winetests/setupapi/stringtable.c
rostests/winetests/shell32/shlexec.c
rostests/winetests/shell32/shlfileop.c
rostests/winetests/shell32/shlfolder.c
rostests/winetests/shell32/testlist.c

Simple merge
Simple merge
@@@ -1244,9 -1254,10 +1254,10 @@@ static void test_token_attr(void
          ret = LookupAccountSid(NULL, Groups->Groups[i].Sid, Name, &NameLength, Domain, &DomainLength, &SidNameUse);
          if (ret)
          {
+             pConvertSidToStringSidA(Groups->Groups[i].Sid, &SidString);
              trace("%s, %s\\%s use: %d attr: 0x%08x\n", SidString, Domain, Name, SidNameUse, Groups->Groups[i].Attributes);
 -            LocalFree(SidString);
 -        }
 +        LocalFree(SidString);
 +    }
          else trace("attr: 0x%08x LookupAccountSid failed with error %d\n", Groups->Groups[i].Attributes, GetLastError());
      }
      HeapFree(GetProcessHeap(), 0, Groups);
@@@ -2047,10 -2060,11 +2060,11 @@@ static void test_LookupAccountName(void
          domain = HeapAlloc(GetProcessHeap(), 0, domain_size);
          ret = LookupAccountNameA(NULL, computer_name, psid, &sid_size, domain, &domain_size, &sid_use);
          ok(ret, "LookupAccountNameA failed: %d\n", GetLastError());
-         ok(sid_use == SidTypeDomain, "expected SidTypeDomain, got %d\n", sid_use);
+         ok(sid_use == SidTypeDomain ||
+            (sid_use == SidTypeUser && ! strcmp(computer_name, user_name)), "expected SidTypeDomain for %s, got %d\n", computer_name, sid_use);
          HeapFree(GetProcessHeap(), 0, domain);
 -        HeapFree(GetProcessHeap(), 0, psid);
 -    }
 +    HeapFree(GetProcessHeap(), 0, psid);
 +}
  
      /* Well Known names */
      if (!pCreateWellKnownSid)
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -172,17 -172,18 +172,18 @@@ static void test_SetupGetInfInformation
      ok(size == 0xdeadbeef, "Expected size to remain unchanged\n");
  
      /* try an invalid inf filename */
-     /* do not use NULL as absolute inf filename on win9x (crash) */
+     /* do not use NULL as absolute inf filename on win9x/winMe (crash) */
      if ((GetLastError() != ERROR_BAD_PATHNAME) &&   /* win95 */
-         (GetLastError() != ERROR_FILE_NOT_FOUND))  /* win98 */
+         (GetLastError() != ERROR_FILE_NOT_FOUND) &&  /* win98 */
+         (GetLastError() != ERROR_GENERAL_SYNTAX))  /* winMe */
      {
 -        size = 0xdeadbeef;
 -        SetLastError(0xbeefcafe);
 -        ret = SetupGetInfInformationA(NULL, INFINFO_INF_NAME_IS_ABSOLUTE, NULL, 0, &size);
 -        ok(ret == FALSE, "Expected SetupGetInfInformation to fail\n");
 -        ok(GetLastError() == ERROR_INVALID_PARAMETER,
 -           "Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
 -        ok(size == 0xdeadbeef, "Expected size to remain unchanged\n");
 +    size = 0xdeadbeef;
 +    SetLastError(0xbeefcafe);
 +    ret = SetupGetInfInformationA(NULL, INFINFO_INF_NAME_IS_ABSOLUTE, NULL, 0, &size);
 +    ok(ret == FALSE, "Expected SetupGetInfInformation to fail\n");
 +    ok(GetLastError() == ERROR_INVALID_PARAMETER,
 +       "Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
 +    ok(size == 0xdeadbeef, "Expected size to remain unchanged\n");
      }
  
      create_inf_file(inf_filename, inf_data1, sizeof(inf_data1) - 1);
Simple merge
@@@ -1523,13 -1529,31 +1529,31 @@@ static void test_ITEMIDLIST_format(void
                  ok (pFileStructA->uFileDate == pFileStructW->uDate &&
                      pFileStructA->uFileTime == pFileStructW->uTime,
                      "Last write time should match creation time!\n");
 -
 +    
-                 ok (pFileStructA->uFileDate == pFileStructW->uDate2 &&
-                     pFileStructA->uFileTime == pFileStructW->uTime2,
-                     "Last write time should match last access time!\n");
+                 /* On FAT filesystems the last access time is midnight
+                    local time, so the values of uDate2 and uTime2 will
+                    depend on the local timezone.  If the times are exactly
+                    equal then the dates should be identical for both FAT
+                    and NTFS as no timezone is more than 1 day away from UTC.
+                 */
+                 if (pFileStructA->uFileTime == pFileStructW->uTime2)
+                 {
+                     ok (pFileStructA->uFileDate == pFileStructW->uDate2,
+                         "Last write date and time should match last access date and time!\n");
+                 }
+                 else
+                 {
+                     /* Filesystem may be FAT. Check date within 1 day
+                        and seconds are zero. */
+                     trace ("Filesystem may be FAT. Performing less strict atime test.\n");
+                     ok ((pFileStructW->uTime2 & 0x1F) == 0,
+                         "Last access time on FAT filesystems should have zero seconds.\n");
+                     /* TODO: Perform check for date being within one day.*/
+                 }
  
                  ok (!lstrcmpW(wszFile[i], pFileStructW->wszName) ||
-                     !lstrcmpW(wszFile[i], (WCHAR *)(pFileStructW->abFooBar2 + 22)), /* Vista */
+                     !lstrcmpW(wszFile[i], (WCHAR *)(pFileStructW->abFooBar2 + 22)) || /* Vista */
+                     !lstrcmpW(wszFile[i], (WCHAR *)(pFileStructW->abFooBar2 + 26)), /* Win7 */
                      "The filename should be stored in unicode at this position!\n");
              }
          }
@@@ -23,7 -24,8 +24,8 @@@ const struct test winetest_testlist[] 
  {
      { "appbar", func_appbar },  
        { "autocomplete", func_autocomplete },
 -      { "generated", func_generated },
 +    { "generated", func_generated },
+       { "progman_dde", func_progman_dde },
      { "shelllink", func_shelllink },
      { "shellpath", func_shellpath },
      { "shfldr_netplaces", func_shfldr_netplaces },