|
|
@@ -1,125 +1,116 @@ |
|
|
From aea7dcfb0b09794b4925c5e8f0ca2a28b783e8f1 Mon Sep 17 00:00:00 2001 |
|
|
From ada6b6d8363f2eeac8d8ed99d50f61610b047efe Mon Sep 17 00:00:00 2001 |
|
|
From: Andrew Wesie <awesie@gmail.com> |
|
|
Date: Mon, 27 Apr 2020 15:32:22 +0300 |
|
|
Subject: [PATCH] kernel32/tests, psapi/tests: Update tests. |
|
|
|
|
|
--- |
|
|
dlls/kernel32/tests/virtual.c | 19 ++----------------- |
|
|
dlls/psapi/tests/psapi_main.c | 5 +++++ |
|
|
2 files changed, 7 insertions(+), 17 deletions(-) |
|
|
dlls/psapi/tests/psapi_main.c | 3 +++ |
|
|
2 files changed, 5 insertions(+), 17 deletions(-) |
|
|
|
|
|
diff --git a/dlls/kernel32/tests/virtual.c b/dlls/kernel32/tests/virtual.c |
|
|
index f576d132d8b..70824d771ed 100644 |
|
|
index 365194b9065..8055e93faa0 100644 |
|
|
--- a/dlls/kernel32/tests/virtual.c |
|
|
+++ b/dlls/kernel32/tests/virtual.c |
|
|
@@ -3572,9 +3572,7 @@ static void test_CreateFileMapping_protection(void) |
|
|
@@ -3604,9 +3604,7 @@ static void test_CreateFileMapping_protection(void) |
|
|
SetLastError(0xdeadbeef); |
|
|
ret = VirtualQuery(base, &info, sizeof(info)); |
|
|
ok(ret, "VirtualQuery failed %d\n", GetLastError()); |
|
|
ok(ret, "VirtualQuery failed %ld\n", GetLastError()); |
|
|
- /* FIXME: remove the condition below once Wine is fixed */ |
|
|
- todo_wine_if (td[i].prot == PAGE_WRITECOPY || td[i].prot == PAGE_EXECUTE_WRITECOPY) |
|
|
- ok(info.Protect == td[i].prot_after_write, "%d: got %#x != expected %#x\n", i, info.Protect, td[i].prot_after_write); |
|
|
+ ok(info.Protect == td[i].prot_after_write, "%d: got %#x != expected %#x\n", i, info.Protect, td[i].prot_after_write); |
|
|
- ok(info.Protect == td[i].prot_after_write, "%ld: got %#lx != expected %#lx\n", i, info.Protect, td[i].prot_after_write); |
|
|
+ ok(info.Protect == td[i].prot_after_write, "%ld: got %#lx != expected %#lx\n", i, info.Protect, td[i].prot_after_write); |
|
|
} |
|
|
} |
|
|
else |
|
|
@@ -3588,9 +3586,7 @@ static void test_CreateFileMapping_protection(void) |
|
|
@@ -3620,9 +3618,7 @@ static void test_CreateFileMapping_protection(void) |
|
|
SetLastError(0xdeadbeef); |
|
|
ret = VirtualProtect(base, si.dwPageSize, PAGE_NOACCESS, &old_prot); |
|
|
ok(ret, "%d: VirtualProtect error %d\n", i, GetLastError()); |
|
|
ok(ret, "%ld: VirtualProtect error %ld\n", i, GetLastError()); |
|
|
- /* FIXME: remove the condition below once Wine is fixed */ |
|
|
- todo_wine_if (td[i].prot == PAGE_WRITECOPY || td[i].prot == PAGE_EXECUTE_WRITECOPY) |
|
|
- ok(old_prot == td[i].prot_after_write, "%d: got %#x != expected %#x\n", i, old_prot, td[i].prot_after_write); |
|
|
+ ok(old_prot == td[i].prot_after_write, "%d: got %#x != expected %#x\n", i, old_prot, td[i].prot_after_write); |
|
|
- ok(old_prot == td[i].prot_after_write, "%ld: got %#lx != expected %#lx\n", i, old_prot, td[i].prot_after_write); |
|
|
+ ok(old_prot == td[i].prot_after_write, "%ld: got %#lx != expected %#lx\n", i, old_prot, td[i].prot_after_write); |
|
|
|
|
|
UnmapViewOfFile(base); |
|
|
} |
|
|
@@ -3943,15 +3939,12 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags, BOOL readonly ) |
|
|
@@ -3975,15 +3971,12 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags, BOOL readonly ) |
|
|
continue; |
|
|
} |
|
|
|
|
|
- todo_wine_if(readonly && page_prot[k] == PAGE_WRITECOPY && view[j].prot != PAGE_WRITECOPY) |
|
|
ok(ret, "VirtualProtect error %d, map %#x, view %#x, requested prot %#x\n", GetLastError(), page_prot[i], view[j].prot, page_prot[k]); |
|
|
ok(ret, "VirtualProtect error %ld, map %#lx, view %#lx, requested prot %#lx\n", GetLastError(), page_prot[i], view[j].prot, page_prot[k]); |
|
|
- todo_wine_if(readonly && page_prot[k] == PAGE_WRITECOPY && view[j].prot != PAGE_WRITECOPY) |
|
|
ok(old_prot == prev_prot, "got %#x, expected %#x\n", old_prot, prev_prot); |
|
|
ok(old_prot == prev_prot, "got %#lx, expected %#lx\n", old_prot, prev_prot); |
|
|
prev_prot = actual_prot; |
|
|
|
|
|
ret = VirtualQuery(base, &info, sizeof(info)); |
|
|
ok(ret, "%d: VirtualQuery failed %d\n", j, GetLastError()); |
|
|
ok(ret, "%ld: VirtualQuery failed %ld\n", j, GetLastError()); |
|
|
- todo_wine_if(readonly && page_prot[k] == PAGE_WRITECOPY && view[j].prot != PAGE_WRITECOPY) |
|
|
ok(info.Protect == actual_prot, |
|
|
"VirtualProtect wrong prot, map %#x, view %#x, requested prot %#x got %#x\n", |
|
|
"VirtualProtect wrong prot, map %#lx, view %#lx, requested prot %#lx got %#lx\n", |
|
|
page_prot[i], view[j].prot, page_prot[k], info.Protect ); |
|
|
@@ -4006,15 +3999,12 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags, BOOL readonly ) |
|
|
@@ -4038,15 +4031,12 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags, BOOL readonly ) |
|
|
if (!anon_mapping && is_compatible_protection(alloc_prot, PAGE_WRITECOPY)) |
|
|
{ |
|
|
ret = VirtualProtect(base, sec_flags & SEC_IMAGE ? si.dwPageSize : 2*si.dwPageSize, PAGE_WRITECOPY, &old_prot); |
|
|
- todo_wine_if(readonly && view[j].prot != PAGE_WRITECOPY) |
|
|
ok(ret, "VirtualProtect error %d, map %#x, view %#x\n", GetLastError(), page_prot[i], view[j].prot); |
|
|
ok(ret, "VirtualProtect error %ld, map %#lx, view %#lx\n", GetLastError(), page_prot[i], view[j].prot); |
|
|
if (ret) *(DWORD*)base = 0xdeadbeef; |
|
|
ret = VirtualQuery(base, &info, sizeof(info)); |
|
|
ok(ret, "%d: VirtualQuery failed %d\n", j, GetLastError()); |
|
|
ok(ret, "%ld: VirtualQuery failed %ld\n", j, GetLastError()); |
|
|
- todo_wine |
|
|
ok(info.Protect == PAGE_READWRITE, "VirtualProtect wrong prot, map %#x, view %#x got %#x\n", |
|
|
ok(info.Protect == PAGE_READWRITE, "VirtualProtect wrong prot, map %#lx, view %#lx got %#lx\n", |
|
|
page_prot[i], view[j].prot, info.Protect ); |
|
|
- todo_wine_if (!(sec_flags & SEC_IMAGE)) |
|
|
ok(info.RegionSize == si.dwPageSize, "wrong region size %#lx after write, map %#x, view %#x got %#x\n", |
|
|
ok(info.RegionSize == si.dwPageSize, "wrong region size %#Ix after write, map %#lx, view %#lx got %#lx\n", |
|
|
info.RegionSize, page_prot[i], view[j].prot, info.Protect ); |
|
|
|
|
|
@@ -4025,7 +4015,6 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags, BOOL readonly ) |
|
|
@@ -4057,7 +4047,6 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags, BOOL readonly ) |
|
|
{ |
|
|
ret = VirtualQuery((char*)base + si.dwPageSize, &info, sizeof(info)); |
|
|
ok(ret, "%d: VirtualQuery failed %d\n", j, GetLastError()); |
|
|
ok(ret, "%ld: VirtualQuery failed %ld\n", j, GetLastError()); |
|
|
- todo_wine_if(readonly && view[j].prot != PAGE_WRITECOPY) |
|
|
ok(info.Protect == PAGE_WRITECOPY, "wrong prot, map %#x, view %#x got %#x\n", |
|
|
ok(info.Protect == PAGE_WRITECOPY, "wrong prot, map %#lx, view %#lx got %#lx\n", |
|
|
page_prot[i], view[j].prot, info.Protect); |
|
|
} |
|
|
@@ -4045,14 +4034,11 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags, BOOL readonly ) |
|
|
@@ -4077,14 +4066,11 @@ static void test_mapping( HANDLE hfile, DWORD sec_flags, BOOL readonly ) |
|
|
continue; |
|
|
} |
|
|
|
|
|
- todo_wine_if(readonly && page_prot[k] == PAGE_WRITECOPY && view[j].prot != PAGE_WRITECOPY) |
|
|
ok(ret, "VirtualProtect error %d, map %#x, view %#x, requested prot %#x\n", GetLastError(), page_prot[i], view[j].prot, page_prot[k]); |
|
|
ok(ret, "VirtualProtect error %ld, map %#lx, view %#lx, requested prot %#lx\n", GetLastError(), page_prot[i], view[j].prot, page_prot[k]); |
|
|
- todo_wine_if(readonly && page_prot[k] == PAGE_WRITECOPY && view[j].prot != PAGE_WRITECOPY) |
|
|
ok(old_prot == prev_prot, "got %#x, expected %#x\n", old_prot, prev_prot); |
|
|
ok(old_prot == prev_prot, "got %#lx, expected %#lx\n", old_prot, prev_prot); |
|
|
|
|
|
ret = VirtualQuery(base, &info, sizeof(info)); |
|
|
ok(ret, "%d: VirtualQuery failed %d\n", j, GetLastError()); |
|
|
ok(ret, "%ld: VirtualQuery failed %ld\n", j, GetLastError()); |
|
|
- todo_wine_if( map_prot_written( page_prot[k] ) != actual_prot ) |
|
|
ok(info.Protect == map_prot_written( page_prot[k] ), |
|
|
"VirtualProtect wrong prot, map %#x, view %#x, requested prot %#x got %#x\n", |
|
|
"VirtualProtect wrong prot, map %#lx, view %#lx, requested prot %#lx got %#lx\n", |
|
|
page_prot[i], view[j].prot, page_prot[k], info.Protect ); |
|
|
@@ -4093,7 +4079,6 @@ static void test_mappings(void) |
|
|
@@ -4125,7 +4111,6 @@ static void test_mappings(void) |
|
|
SetFilePointer(hfile, 0, NULL, FILE_BEGIN); |
|
|
ok(ReadFile(hfile, &data, sizeof(data), &num_bytes, NULL), "ReadFile failed\n"); |
|
|
ok(num_bytes == sizeof(data), "num_bytes = %d\n", num_bytes); |
|
|
ok(num_bytes == sizeof(data), "num_bytes = %ld\n", num_bytes); |
|
|
- todo_wine |
|
|
ok(!data, "data = %x\n", data); |
|
|
ok(!data, "data = %lx\n", data); |
|
|
|
|
|
CloseHandle( hfile ); |
|
|
diff --git a/dlls/psapi/tests/psapi_main.c b/dlls/psapi/tests/psapi_main.c |
|
|
index c92423ee193..d85099455aa 100644 |
|
|
index 185a4062092..1721968395d 100644 |
|
|
--- a/dlls/psapi/tests/psapi_main.c |
|
|
+++ b/dlls/psapi/tests/psapi_main.c |
|
|
@@ -830,6 +830,8 @@ static void test_QueryWorkingSetEx(void) |
|
|
DWORD prot; |
|
|
BOOL ret; |
|
|
|
|
|
+ static char tmp_data[0x2000] = { 0x41 }; |
|
|
+ |
|
|
if (pQueryWorkingSetEx == NULL) |
|
|
{ |
|
|
win_skip("QueryWorkingSetEx not found, skipping tests\n"); |
|
|
@@ -848,6 +850,9 @@ static void test_QueryWorkingSetEx(void) |
|
|
@@ -821,6 +821,9 @@ static void test_QueryWorkingSetEx(void) |
|
|
check_QueryWorkingSetEx(addr, "exe,readonly1", 0, 0, 1, TRUE); |
|
|
|
|
|
*(volatile char *)addr; |
|
|
+ check_QueryWorkingSetEx(addr, "exe,readonly2", 1, PAGE_READONLY, 1, FALSE); |
|
|
+ |
|
|
+ ret = VirtualProtect(addr, 0x1000, PAGE_EXECUTE_READWRITE, &prot); |
|
|
ok(ret, "VirtualProtect failed with %d\n", GetLastError()); |
|
|
ok(ret, "VirtualProtect failed with %ld\n", GetLastError()); |
|
|
check_QueryWorkingSetEx(addr, "exe,readonly2", 1, PAGE_READONLY, 1, FALSE); |
|
|
|
|
|
-- |
|
|
2.27.0 |
|
|
2.35.1 |
|
|
|