James Hawkins : ole32: Fix a few file access discrepancies between platforms.
Module: wine Branch: master Commit: 6f7c2b94d4d612905377bf934a6a9a0f68991279 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6f7c2b94d4d612905377bf934a... Author: James Hawkins <jhawkins(a)codeweavers.com> Date: Mon Sep 8 22:49:51 2008 -0500 ole32: Fix a few file access discrepancies between platforms. --- dlls/ole32/tests/storage32.c | 98 ++++++++++++++++++++++-------------------- 1 files changed, 51 insertions(+), 47 deletions(-) diff --git a/dlls/ole32/tests/storage32.c b/dlls/ole32/tests/storage32.c index d825ab6..6a7158b 100644 --- a/dlls/ole32/tests/storage32.c +++ b/dlls/ole32/tests/storage32.c @@ -1003,65 +1003,66 @@ struct access_res { BOOL gothandle; DWORD lasterr; + BOOL ignore; }; static const struct access_res create[16] = { - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { TRUE, ERROR_SUCCESS }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { TRUE, ERROR_SUCCESS }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { TRUE, ERROR_SUCCESS } + { TRUE, ERROR_SUCCESS, TRUE }, + { TRUE, ERROR_SUCCESS, TRUE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { TRUE, ERROR_SUCCESS, TRUE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { TRUE, ERROR_SUCCESS, TRUE } }; static const struct access_res create_commit[16] = { - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { TRUE, ERROR_SUCCESS }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { TRUE, ERROR_SUCCESS }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { FALSE, ERROR_SHARING_VIOLATION }, - { TRUE, ERROR_SUCCESS } + { TRUE, ERROR_SUCCESS, TRUE }, + { TRUE, ERROR_SUCCESS, TRUE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { TRUE, ERROR_SUCCESS, TRUE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { FALSE, ERROR_SHARING_VIOLATION, FALSE }, + { TRUE, ERROR_SUCCESS, TRUE } }; static const struct access_res create_close[16] = { - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, - { TRUE, ERROR_SUCCESS }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, + { TRUE, ERROR_SUCCESS, FALSE }, { TRUE, ERROR_SUCCESS } }; @@ -1081,6 +1082,9 @@ static void _test_file_access(LPCSTR file, const struct access_res *ares, DWORD for (j = 0; j < 4; j++) { + if (ares[idx].ignore) + continue; + if (j == 0) share = 0; if (j == 1) share = FILE_SHARE_READ; if (j == 2) share = FILE_SHARE_WRITE;
participants (1)
-
Alexandre Julliard