Module: wine Branch: master Commit: 49e31d29ca96892e462f6c4a53582f6796505ade URL: http://source.winehq.org/git/wine.git/?a=commit;h=49e31d29ca96892e462f6c4a53...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Fri Aug 23 13:35:04 2013 +0900
ntdll/tests: Add some tests for FILE_USE_FILE_POINTER_POSITION.
---
dlls/ntdll/tests/file.c | 25 ++++++++++++++++++++++--- 1 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index e30ada0..58bcdb1 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -2001,7 +2001,8 @@ static void test_read_write(void)
iob.Status = -1; iob.Information = -1; - status = pNtWriteFile(hfile, 0, NULL, NULL, &iob, "DCBA", 4, NULL, NULL); + offset.QuadPart = (LONGLONG)-2 /* FILE_USE_FILE_POINTER_POSITION */; + status = pNtWriteFile(hfile, 0, NULL, NULL, &iob, "DCBA", 4, &offset, NULL); ok(status == STATUS_SUCCESS, "NtWriteFile error %#x\n", status); ok(iob.Status == STATUS_SUCCESS, "expected STATUS_SUCCESS, got %#x\n", iob.Status); ok(iob.Information == 4, "expected 4, got %lu\n", iob.Information); @@ -2035,7 +2036,7 @@ todo_wine
iob.Status = -1; iob.Information = -1; - offset.QuadPart = sizeof(contents); + offset.QuadPart = (LONGLONG)-2 /* FILE_USE_FILE_POINTER_POSITION */; status = pNtReadFile(hfile, 0, NULL, NULL, &iob, buf, sizeof(buf), &offset, NULL); ok(status == STATUS_END_OF_FILE, "expected STATUS_END_OF_FILE, got %#x\n", status); todo_wine @@ -2139,6 +2140,17 @@ todo_wine
iob.Status = -1; iob.Information = -1; + offset.QuadPart = (LONGLONG)-2 /* FILE_USE_FILE_POINTER_POSITION */; + status = pNtWriteFile(hfile, 0, NULL, NULL, &iob, contents, sizeof(contents), &offset, NULL); +todo_wine + ok(status == STATUS_INVALID_PARAMETER, "expected STATUS_INVALID_PARAMETER, got %#x\n", status); +todo_wine + ok(iob.Status == -1, "expected -1, got %#x\n", iob.Status); +todo_wine + ok(iob.Information == -1, "expected -1, got %ld\n", iob.Information); + + iob.Status = -1; + iob.Information = -1; offset.QuadPart = 0; status = pNtWriteFile(hfile, 0, NULL, NULL, &iob, contents, sizeof(contents), &offset, NULL); todo_wine @@ -2175,8 +2187,15 @@ todo_wine ok(iob.Status == -1, "expected -1, got %#x\n", iob.Status); ok(iob.Information == -1, "expected -1, got %ld\n", iob.Information);
+ iob.Status = -1; + iob.Information = -1; offset.QuadPart = (LONGLONG)-2 /* FILE_USE_FILE_POINTER_POSITION */; - offset.QuadPart = sizeof(contents); /* magic -2 doen't seem to work under win7 */ + status = pNtReadFile(hfile, 0, NULL, NULL, &iob, buf, sizeof(buf), &offset, NULL); + ok(status == STATUS_INVALID_PARAMETER, "expected STATUS_INVALID_PARAMETER, got %#x\n", status); + ok(iob.Status == -1, "expected -1, got %#x\n", iob.Status); + ok(iob.Information == -1, "expected -1, got %ld\n", iob.Information); + + offset.QuadPart = sizeof(contents); S(U(ovl)).Offset = offset.u.LowPart; S(U(ovl)).OffsetHigh = offset.u.HighPart; ovl.Internal = -1;