Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
78c77ae3
Commit
78c77ae3
authored
Sep 13, 2023
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll/tests: Fix some test failures on ARM64 Windows.
parent
d08723fb
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
46 additions
and
40 deletions
+46
-40
directory.c
dlls/ntdll/tests/directory.c
+3
-3
exception.c
dlls/ntdll/tests/exception.c
+1
-1
file.c
dlls/ntdll/tests/file.c
+11
-11
info.c
dlls/ntdll/tests/info.c
+1
-1
pipe.c
dlls/ntdll/tests/pipe.c
+8
-8
rtl.c
dlls/ntdll/tests/rtl.c
+14
-12
virtual.c
dlls/ntdll/tests/virtual.c
+8
-4
No files found.
dlls/ntdll/tests/directory.c
View file @
78c77ae3
...
...
@@ -387,8 +387,8 @@ static void test_NtQueryDirectoryFile_classes( HANDLE handle, UNICODE_STRING *ma
}
else
{
ok
(
io
.
Status
==
0xdeadbeef
,
"%u: wrong status %lx
\n
"
,
class
,
io
.
Status
);
ok
(
io
.
Information
==
0xdeadbeef
,
"%u: wrong info %Ix
\n
"
,
class
,
io
.
Information
);
ok
(
io
.
Status
==
0xdeadbeef
||
io
.
Status
==
status
,
"%u: wrong status %lx
\n
"
,
class
,
io
.
Status
);
ok
(
io
.
Information
==
(
io
.
Status
==
0xdeadbeef
?
0xdeadbeef
:
0
)
,
"%u: wrong info %Ix
\n
"
,
class
,
io
.
Information
);
ok
(
data
[
0
]
==
0x55555555
,
"%u: wrong offset %lx
\n
"
,
class
,
data
[
0
]
);
}
if
(
status
!=
STATUS_INFO_LENGTH_MISMATCH
)
break
;
...
...
@@ -683,7 +683,7 @@ static void test_NtQueryDirectoryFile(void)
memset
(
data
,
0x55
,
data_size
);
io
.
Status
=
0xdeadbeef
;
io
.
Information
=
0xdeadbeef
;
status
=
pNtQueryDirectoryFile
(
dirh
,
0
,
NULL
,
NULL
,
&
io
,
data
,
(
data_size
+
7
)
&
~
7
,
status
=
pNtQueryDirectoryFile
(
dirh
,
0
,
NULL
,
NULL
,
&
io
,
data
,
data_size
+
16
,
FileBothDirectoryInformation
,
FALSE
,
NULL
,
TRUE
);
ok
(
status
==
STATUS_SUCCESS
,
"wrong status %lx
\n
"
,
status
);
ok
(
io
.
Status
==
STATUS_SUCCESS
,
"wrong status %lx
\n
"
,
io
.
Status
);
...
...
dlls/ntdll/tests/exception.c
View file @
78c77ae3
...
...
@@ -9186,7 +9186,7 @@ static void test_closehandle(DWORD numexc, HANDLE handle)
invalid_handle_exceptions
=
0
;
expectret
=
is_magic_handle
(
handle
)
||
broken
(
numexc
&&
sizeof
(
handle
)
==
4
);
/* < Win10 */
ret
=
CloseHandle
(
handle
);
ok
(
expect
ret
||
(
GetLastError
()
==
ERROR_INVALID_HANDLE
),
ok
(
ret
||
(
GetLastError
()
==
ERROR_INVALID_HANDLE
),
"CloseHandle had wrong GetLastError(), got %lu for %p
\n
"
,
GetLastError
(),
handle
);
ok
(
ret
==
expectret
||
broken
(
HandleToLong
(
handle
)
<
0
)
/* < Win10 */
,
"CloseHandle expected %d, got %d for %p
\n
"
,
expectret
,
ret
,
handle
);
...
...
dlls/ntdll/tests/file.c
View file @
78c77ae3
...
...
@@ -986,7 +986,7 @@ static void test_set_io_completion(void)
count
=
0xdeadbeef
;
res
=
pNtRemoveIoCompletionEx
(
h
,
info
,
2
,
&
count
,
&
timeout
,
FALSE
);
ok
(
res
==
STATUS_TIMEOUT
,
"NtRemoveIoCompletionEx failed: %#lx
\n
"
,
res
);
ok
(
count
=
=
1
,
"wrong count %lu
\n
"
,
count
);
ok
(
count
<
=
1
,
"wrong count %lu
\n
"
,
count
);
res
=
pNtSetIoCompletion
(
h
,
123
,
456
,
789
,
size
);
ok
(
res
==
STATUS_SUCCESS
,
"NtSetIoCompletion failed: %#lx
\n
"
,
res
);
...
...
@@ -1054,12 +1054,12 @@ static void test_set_io_completion(void)
count
=
0xdeadbeef
;
res
=
pNtRemoveIoCompletionEx
(
h
,
info
,
2
,
&
count
,
&
timeout
,
FALSE
);
ok
(
res
==
STATUS_TIMEOUT
,
"NtRemoveIoCompletionEx failed: %#lx
\n
"
,
res
);
ok
(
count
=
=
1
,
"wrong count %lu
\n
"
,
count
);
ok
(
count
<
=
1
,
"wrong count %lu
\n
"
,
count
);
ok
(
!
apc_count
,
"wrong apc count %d
\n
"
,
apc_count
);
res
=
pNtRemoveIoCompletionEx
(
h
,
info
,
2
,
&
count
,
&
timeout
,
TRUE
);
ok
(
res
==
STATUS_USER_APC
,
"NtRemoveIoCompletionEx failed: %#lx
\n
"
,
res
);
ok
(
count
=
=
1
,
"wrong count %lu
\n
"
,
count
);
ok
(
count
<
=
1
,
"wrong count %lu
\n
"
,
count
);
ok
(
apc_count
==
1
,
"wrong apc count %u
\n
"
,
apc_count
);
apc_count
=
0
;
...
...
@@ -1763,7 +1763,7 @@ static void test_file_rename_information(void)
io
.
Status
=
0xdeadbeef
;
res
=
pNtSetInformationFile
(
handle
,
&
io
,
fri
,
sizeof
(
FILE_RENAME_INFORMATION
)
+
fri
->
FileNameLength
,
FileRenameInformation
);
todo_wine
ok
(
io
.
Status
==
0xdeadbeef
,
"io.Status expected 0xdeadbeef,
got %lx
\n
"
,
io
.
Status
);
todo_wine
ok
(
io
.
Status
==
0xdeadbeef
||
io
.
Status
==
STATUS_ACCESS_DENIED
,
"io.Status
got %lx
\n
"
,
io
.
Status
);
todo_wine
ok
(
res
==
STATUS_ACCESS_DENIED
,
"res expected STATUS_ACCESS_DENIED, got %lx
\n
"
,
res
);
fileDeleted
=
GetFileAttributesW
(
oldpath
)
==
INVALID_FILE_ATTRIBUTES
&&
GetLastError
()
==
ERROR_FILE_NOT_FOUND
;
todo_wine
ok
(
!
fileDeleted
,
"file should exist
\n
"
);
...
...
@@ -1803,7 +1803,7 @@ static void test_file_rename_information(void)
io
.
Status
=
0xdeadbeef
;
res
=
pNtSetInformationFile
(
handle
,
&
io
,
fri
,
sizeof
(
FILE_RENAME_INFORMATION
)
+
fri
->
FileNameLength
,
FileRenameInformation
);
todo_wine
ok
(
io
.
Status
==
0xdeadbeef
,
"io.Status expected 0xdeadbeef,
got %lx
\n
"
,
io
.
Status
);
ok
(
io
.
Status
==
0xdeadbeef
||
io
.
Status
==
STATUS_OBJECT_NAME_COLLISION
,
"io.Status
got %lx
\n
"
,
io
.
Status
);
ok
(
res
==
STATUS_OBJECT_NAME_COLLISION
,
"res expected STATUS_OBJECT_NAME_COLLISION, got %lx
\n
"
,
res
);
fileDeleted
=
GetFileAttributesW
(
oldpath
)
==
INVALID_FILE_ATTRIBUTES
&&
GetLastError
()
==
ERROR_FILE_NOT_FOUND
;
ok
(
!
fileDeleted
,
"file should exist
\n
"
);
...
...
@@ -1839,7 +1839,7 @@ static void test_file_rename_information(void)
io
.
Status
=
0xdeadbeef
;
res
=
pNtSetInformationFile
(
handle
,
&
io
,
fri
,
sizeof
(
FILE_RENAME_INFORMATION
)
+
fri
->
FileNameLength
,
FileRenameInformation
);
todo_wine
ok
(
io
.
Status
==
0xdeadbeef
,
"io.Status expected 0xdeadbeef,
got %lx
\n
"
,
io
.
Status
);
ok
(
io
.
Status
==
0xdeadbeef
||
io
.
Status
==
STATUS_OBJECT_NAME_COLLISION
,
"io.Status
got %lx
\n
"
,
io
.
Status
);
ok
(
res
==
STATUS_OBJECT_NAME_COLLISION
,
"res expected STATUS_OBJECT_NAME_COLLISION, got %lx
\n
"
,
res
);
fileDeleted
=
GetFileAttributesW
(
oldpath
)
==
INVALID_FILE_ATTRIBUTES
&&
GetLastError
()
==
ERROR_FILE_NOT_FOUND
;
ok
(
!
fileDeleted
,
"file should exist
\n
"
);
...
...
@@ -1909,7 +1909,7 @@ static void test_file_rename_information(void)
io
.
Status
=
0xdeadbeef
;
res
=
pNtSetInformationFile
(
handle
,
&
io
,
fri
,
sizeof
(
FILE_RENAME_INFORMATION
)
+
fri
->
FileNameLength
,
FileRenameInformation
);
todo_wine
ok
(
io
.
Status
==
0xdeadbeef
,
"io.Status expected 0xdeadbeef,
got %lx
\n
"
,
io
.
Status
);
ok
(
io
.
Status
==
0xdeadbeef
||
io
.
Status
==
STATUS_ACCESS_DENIED
,
"io.Status
got %lx
\n
"
,
io
.
Status
);
ok
(
res
==
STATUS_ACCESS_DENIED
,
"res expected STATUS_ACCESS_DENIED, got %lx
\n
"
,
res
);
fileDeleted
=
GetFileAttributesW
(
oldpath
)
==
INVALID_FILE_ATTRIBUTES
&&
GetLastError
()
==
ERROR_FILE_NOT_FOUND
;
ok
(
!
fileDeleted
,
"file should exist
\n
"
);
...
...
@@ -1946,7 +1946,7 @@ static void test_file_rename_information(void)
io
.
Status
=
0xdeadbeef
;
res
=
pNtSetInformationFile
(
handle
,
&
io
,
fri
,
sizeof
(
FILE_RENAME_INFORMATION
)
+
fri
->
FileNameLength
,
FileRenameInformation
);
todo_wine
ok
(
io
.
Status
==
0xdeadbeef
,
"io.Status expected 0xdeadbeef,
got %lx
\n
"
,
io
.
Status
);
ok
(
io
.
Status
==
0xdeadbeef
||
io
.
Status
==
STATUS_OBJECT_NAME_COLLISION
,
"io.Status
got %lx
\n
"
,
io
.
Status
);
ok
(
res
==
STATUS_OBJECT_NAME_COLLISION
,
"res expected STATUS_OBJECT_NAME_COLLISION, got %lx
\n
"
,
res
);
fileDeleted
=
GetFileAttributesW
(
oldpath
)
==
INVALID_FILE_ATTRIBUTES
&&
GetLastError
()
==
ERROR_FILE_NOT_FOUND
;
ok
(
!
fileDeleted
,
"file should exist
\n
"
);
...
...
@@ -1982,7 +1982,7 @@ static void test_file_rename_information(void)
io
.
Status
=
0xdeadbeef
;
res
=
pNtSetInformationFile
(
handle
,
&
io
,
fri
,
sizeof
(
FILE_RENAME_INFORMATION
)
+
fri
->
FileNameLength
,
FileRenameInformation
);
todo_wine
ok
(
io
.
Status
==
0xdeadbeef
,
"io.Status expected 0xdeadbeef,
got %lx
\n
"
,
io
.
Status
);
ok
(
io
.
Status
==
0xdeadbeef
||
io
.
Status
==
STATUS_ACCESS_DENIED
,
"io.Status
got %lx
\n
"
,
io
.
Status
);
ok
(
res
==
STATUS_ACCESS_DENIED
,
"res expected STATUS_ACCESS_DENIED, got %lx
\n
"
,
res
);
fileDeleted
=
GetFileAttributesW
(
oldpath
)
==
INVALID_FILE_ATTRIBUTES
&&
GetLastError
()
==
ERROR_FILE_NOT_FOUND
;
ok
(
!
fileDeleted
,
"file should exist
\n
"
);
...
...
@@ -2021,7 +2021,7 @@ static void test_file_rename_information(void)
io
.
Status
=
0xdeadbeef
;
res
=
pNtSetInformationFile
(
handle
,
&
io
,
fri
,
sizeof
(
FILE_RENAME_INFORMATION
)
+
fri
->
FileNameLength
,
FileRenameInformation
);
todo_wine
ok
(
io
.
Status
==
0xdeadbeef
,
"io.Status expected 0xdeadbeef,
got %lx
\n
"
,
io
.
Status
);
ok
(
io
.
Status
==
0xdeadbeef
||
io
.
Status
==
STATUS_ACCESS_DENIED
,
"io.Status
got %lx
\n
"
,
io
.
Status
);
ok
(
res
==
STATUS_ACCESS_DENIED
,
"res expected STATUS_ACCESS_DENIED, got %lx
\n
"
,
res
);
fileDeleted
=
GetFileAttributesW
(
oldpath
)
==
INVALID_FILE_ATTRIBUTES
&&
GetLastError
()
==
ERROR_FILE_NOT_FOUND
;
ok
(
!
fileDeleted
,
"file should exist
\n
"
);
...
...
@@ -5330,7 +5330,7 @@ static void test_flush_buffers_file(void)
ok
(
hfileread
!=
INVALID_HANDLE_VALUE
,
"could not open temp file, error %ld.
\n
"
,
GetLastError
());
status
=
pNtFlushBuffersFile
(
hfile
,
NULL
);
ok
(
status
==
STATUS_ACCESS_VIOLATION
,
"expected STATUS_ACCESS_VIOLATION,
got %#lx.
\n
"
,
status
);
ok
(
status
==
STATUS_ACCESS_VIOLATION
||
status
==
STATUS_INVALID_PARAMETER
,
"
got %#lx.
\n
"
,
status
);
status
=
pNtFlushBuffersFile
(
hfile
,
(
IO_STATUS_BLOCK
*
)
0xdeadbeaf
);
ok
(
status
==
STATUS_ACCESS_VIOLATION
,
"expected STATUS_ACCESS_VIOLATION, got %#lx.
\n
"
,
status
);
...
...
dlls/ntdll/tests/info.c
View file @
78c77ae3
...
...
@@ -2887,7 +2887,7 @@ static void test_queryvirtualmemory(void)
char
stackbuf
[
42
];
HMODULE
module
;
void
*
user_shared_data
=
(
void
*
)
0x7ffe0000
;
char
buffer
[
1024
];
void
*
buffer
[
256
];
MEMORY_SECTION_NAME
*
name
=
(
MEMORY_SECTION_NAME
*
)
buffer
;
SYSTEM_BASIC_INFORMATION
sbi
;
...
...
dlls/ntdll/tests/pipe.c
View file @
78c77ae3
...
...
@@ -494,8 +494,8 @@ static void test_alertable(void)
todo_wine
ok
(
res
==
STATUS_CANCELLED
,
"NtFsControlFile returned %lx
\n
"
,
res
);
ok
(
userapc_called
,
"user apc didn't run
\n
"
);
ok
(
iosb
.
Status
==
0x55555555
,
"iosb.Status got changed to %lx
\n
"
,
iosb
.
Status
);
ok
(
WaitForSingleObjectEx
(
hEvent
,
0
,
TRUE
)
==
WAIT_TIMEOUT
,
"hEvent signaled
\n
"
);
ok
(
iosb
.
Status
==
0x55555555
||
iosb
.
Status
==
STATUS_CANCELLED
,
"iosb.Status got changed to %lx
\n
"
,
iosb
.
Status
);
ok
(
WaitForSingleObjectEx
(
hEvent
,
0
,
TRUE
)
==
(
iosb
.
Status
==
STATUS_CANCELLED
?
0
:
WAIT_TIMEOUT
)
,
"hEvent signaled
\n
"
);
ok
(
!
ioapc_called
,
"IOAPC ran
\n
"
);
/* queue an user apc from a different thread */
...
...
@@ -508,8 +508,8 @@ static void test_alertable(void)
todo_wine
ok
(
res
==
STATUS_CANCELLED
,
"NtFsControlFile returned %lx
\n
"
,
res
);
ok
(
userapc_called
,
"user apc didn't run
\n
"
);
ok
(
iosb
.
Status
==
0x55555555
,
"iosb.Status got changed to %lx
\n
"
,
iosb
.
Status
);
ok
(
WaitForSingleObjectEx
(
hEvent
,
0
,
TRUE
)
==
WAIT_TIMEOUT
,
"hEvent signaled
\n
"
);
ok
(
iosb
.
Status
==
0x55555555
||
iosb
.
Status
==
STATUS_CANCELLED
,
"iosb.Status got changed to %lx
\n
"
,
iosb
.
Status
);
ok
(
WaitForSingleObjectEx
(
hEvent
,
0
,
TRUE
)
==
(
iosb
.
Status
==
STATUS_CANCELLED
?
0
:
WAIT_TIMEOUT
)
,
"hEvent signaled
\n
"
);
ok
(
!
ioapc_called
,
"IOAPC ran
\n
"
);
WaitForSingleObject
(
hThread
,
INFINITE
);
...
...
@@ -702,8 +702,8 @@ static void test_cancelsynchronousio(void)
ok
(
ret
==
WAIT_OBJECT_0
,
"wait returned %lx
\n
"
,
ret
);
CloseHandle
(
thread
);
CloseHandle
(
ctx
.
pipe
);
ok
(
ctx
.
iosb
.
Status
==
0xdeadbabe
,
"wrong status %lx
\n
"
,
ctx
.
iosb
.
Status
);
ok
(
ctx
.
iosb
.
Information
==
0xdeadbeef
,
"wrong info %Iu
\n
"
,
ctx
.
iosb
.
Information
);
ok
(
ctx
.
iosb
.
Status
==
0xdeadbabe
||
ctx
.
iosb
.
Status
==
STATUS_CANCELLED
,
"wrong status %lx
\n
"
,
ctx
.
iosb
.
Status
);
ok
(
ctx
.
iosb
.
Information
==
(
ctx
.
iosb
.
Status
==
STATUS_CANCELLED
?
0
:
0xdeadbeef
)
,
"wrong info %Iu
\n
"
,
ctx
.
iosb
.
Information
);
/* specified io */
res
=
create_pipe
(
&
ctx
.
pipe
,
0
,
FILE_SHARE_READ
|
FILE_SHARE_WRITE
,
FILE_SYNCHRONOUS_IO_NONALERT
);
...
...
@@ -736,8 +736,8 @@ static void test_cancelsynchronousio(void)
ok
(
ret
==
WAIT_OBJECT_0
,
"wait returned %lx
\n
"
,
ret
);
CloseHandle
(
thread
);
CloseHandle
(
ctx
.
pipe
);
ok
(
ctx
.
iosb
.
Status
==
0xdeadbabe
,
"wrong status %lx
\n
"
,
ctx
.
iosb
.
Status
);
ok
(
ctx
.
iosb
.
Information
==
0xdeadbeef
,
"wrong info %Iu
\n
"
,
ctx
.
iosb
.
Information
);
ok
(
ctx
.
iosb
.
Status
==
0xdeadbabe
||
ctx
.
iosb
.
Status
==
STATUS_CANCELLED
,
"wrong status %lx
\n
"
,
ctx
.
iosb
.
Status
);
ok
(
ctx
.
iosb
.
Information
==
(
ctx
.
iosb
.
Status
==
STATUS_CANCELLED
?
0
:
0xdeadbeef
)
,
"wrong info %Iu
\n
"
,
ctx
.
iosb
.
Information
);
/* asynchronous i/o */
ctx
.
iosb
.
Status
=
0xdeadbabe
;
...
...
dlls/ntdll/tests/rtl.c
View file @
78c77ae3
...
...
@@ -199,17 +199,17 @@ static void test_RtlCompareMemoryUlong(void)
result
=
RtlCompareMemoryUlong
(
a
,
4
,
0x0123
);
ok
(
result
==
4
,
"RtlCompareMemoryUlong(%p, 4, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
5
,
0x0123
);
ok
(
result
==
4
,
"RtlCompareMemoryUlong(%p, 5, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
ok
(
result
==
4
||
!
result
/* arm64 */
,
"RtlCompareMemoryUlong(%p, 5, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
7
,
0x0123
);
ok
(
result
==
4
,
"RtlCompareMemoryUlong(%p, 7, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
ok
(
result
==
4
||
!
result
/* arm64 */
,
"RtlCompareMemoryUlong(%p, 7, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
8
,
0x0123
);
ok
(
result
==
4
,
"RtlCompareMemoryUlong(%p, 8, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
9
,
0x0123
);
ok
(
result
==
4
,
"RtlCompareMemoryUlong(%p, 9, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
ok
(
result
==
4
||
!
result
/* arm64 */
,
"RtlCompareMemoryUlong(%p, 9, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
4
,
0x0127
);
ok
(
result
==
0
,
"RtlCompareMemoryUlong(%p, 4, 0x0127) returns %lu, expected 0
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
4
,
0x7123
);
ok
(
result
==
0
,
"RtlCompareMemoryUlong(%p, 4, 0x7123) returns %lu, expected 0
\n
"
,
a
,
result
);
ok
(
result
==
0
||
result
==
1
/* arm64 */
,
"RtlCompareMemoryUlong(%p, 4, 0x7123) returns %lu, expected 0
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
16
,
0x4567
);
ok
(
result
==
0
,
"RtlCompareMemoryUlong(%p, 16, 0x4567) returns %lu, expected 0
\n
"
,
a
,
result
);
...
...
@@ -219,13 +219,13 @@ static void test_RtlCompareMemoryUlong(void)
result
=
RtlCompareMemoryUlong
(
a
,
4
,
0x0123
);
ok
(
result
==
4
,
"RtlCompareMemoryUlong(%p, 4, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
5
,
0x0123
);
ok
(
result
==
4
,
"RtlCompareMemoryUlong(%p, 5, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
ok
(
result
==
4
||
!
result
/* arm64 */
,
"RtlCompareMemoryUlong(%p, 5, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
7
,
0x0123
);
ok
(
result
==
4
,
"RtlCompareMemoryUlong(%p, 7, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
ok
(
result
==
4
||
!
result
/* arm64 */
,
"RtlCompareMemoryUlong(%p, 7, 0x0123) returns %lu, expected 4
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
8
,
0x0123
);
ok
(
result
==
8
,
"RtlCompareMemoryUlong(%p, 8, 0x0123) returns %lu, expected 8
\n
"
,
a
,
result
);
result
=
RtlCompareMemoryUlong
(
a
,
9
,
0x0123
);
ok
(
result
==
8
,
"RtlCompareMemoryUlong(%p, 9, 0x0123) returns %lu, expected 8
\n
"
,
a
,
result
);
ok
(
result
==
8
||
!
result
/* arm64 */
,
"RtlCompareMemoryUlong(%p, 9, 0x0123) returns %lu, expected 8
\n
"
,
a
,
result
);
}
#define COPY(len) memset(dest,0,sizeof(dest_aligned_block)); pRtlMoveMemory(dest, src, len)
...
...
@@ -2729,11 +2729,9 @@ static void test_RtlDecompressBuffer(void)
memset
(
buf
,
0x11
,
sizeof
(
buf
));
status
=
RtlDecompressBuffer
(
COMPRESSION_FORMAT_LZNT1
,
buf
,
test_lznt
[
i
].
uncompressed_size
-
1
,
test_lznt
[
i
].
compressed
,
test_lznt
[
i
].
compressed_size
,
&
final_size
);
if
(
test_lznt
[
i
].
broken_flags
&
DECOMPRESS_BROKEN_TRUNCATED
)
todo_wine
ok
(
status
==
STATUS_BAD_COMPRESSION_BUFFER
,
"%d: got wrong status 0x%08lx
\n
"
,
i
,
status
);
else
ok
(
status
==
test_lznt
[
i
].
status
,
"%d: got wrong status 0x%08lx
\n
"
,
i
,
status
);
ok
(
status
==
test_lznt
[
i
].
status
||
broken
(
status
==
STATUS_BAD_COMPRESSION_BUFFER
&&
(
test_lznt
[
i
].
broken_flags
&
DECOMPRESS_BROKEN_TRUNCATED
)),
"%d: got wrong status 0x%08lx
\n
"
,
i
,
status
);
if
(
!
status
)
{
ok
(
final_size
==
test_lznt
[
i
].
uncompressed_size
-
1
,
...
...
@@ -3511,6 +3509,10 @@ static LONG CALLBACK test_heap_destroy_except_handler( EXCEPTION_POINTERS *eptrs
eptrs
->
ContextRecord
->
Rip
+=
1
;
test_heap_destroy_break
=
TRUE
;
return
(
LONG
)
EXCEPTION_CONTINUE_EXECUTION
;
#elif defined( __aarch64__ )
eptrs
->
ContextRecord
->
Pc
+=
4
;
test_heap_destroy_break
=
TRUE
;
return
(
LONG
)
EXCEPTION_CONTINUE_EXECUTION
;
#endif
}
...
...
dlls/ntdll/tests/virtual.c
View file @
78c77ae3
...
...
@@ -976,17 +976,21 @@ struct test_stack_size_thread_args
DWORD
expect_reserved
;
};
static
void
force_stack_grow
(
void
)
static
void
DECLSPEC_NOINLINE
force_stack_grow
(
void
)
{
volatile
int
buffer
[
0x2000
];
buffer
[
0
]
=
0xdeadbeef
;
int
i
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
buffer
);
i
++
)
buffer
[
i
]
=
0xdeadbeef
;
(
void
)
buffer
[
0
];
}
static
void
force_stack_grow_small
(
void
)
static
void
DECLSPEC_NOINLINE
force_stack_grow_small
(
void
)
{
volatile
int
buffer
[
0x400
];
buffer
[
0
]
=
0xdeadbeef
;
int
i
;
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
buffer
);
i
++
)
buffer
[
i
]
=
0xdeadbeef
;
(
void
)
buffer
[
0
];
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment