mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 02:25:17 +00:00
[NTDLL_APITEST] Add minimal test for RTL_DEBUG_INFORMATION allocation
This commit is contained in:
parent
234dfd4f2e
commit
808aea9b72
3 changed files with 91 additions and 0 deletions
|
@ -42,6 +42,7 @@ list(APPEND SOURCE
|
|||
RtlBitmap.c
|
||||
RtlComputePrivatizedDllName_U.c
|
||||
RtlCopyMappedMemory.c
|
||||
RtlDebugInformation.c
|
||||
RtlDeleteAce.c
|
||||
RtlDetermineDosPathNameType.c
|
||||
RtlDoesFileExists.c
|
||||
|
|
88
modules/rostests/apitests/ntdll/RtlDebugInformation.c
Normal file
88
modules/rostests/apitests/ntdll/RtlDebugInformation.c
Normal file
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* PROJECT: ReactOS api tests
|
||||
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||
* PURPOSE: Test for RTL_DEBUG_INFORMATION
|
||||
* COPYRIGHT: Copyright 2020 Mark Jansen (mark.jansen@reactos.org)
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
#ifndef _WIN64
|
||||
C_ASSERT(sizeof(RTL_DEBUG_INFORMATION) == 0x68);
|
||||
#endif
|
||||
|
||||
static void Test_Buffersizes()
|
||||
{
|
||||
PRTL_DEBUG_INFORMATION Buffer;
|
||||
NTSTATUS Status;
|
||||
|
||||
Buffer = RtlCreateQueryDebugBuffer(0, FALSE);
|
||||
ok(Buffer != NULL, "Unable to create default buffer\n");
|
||||
if (!Buffer)
|
||||
return;
|
||||
|
||||
ok_ptr(Buffer->ViewBaseClient, Buffer);
|
||||
ok_hex(Buffer->Flags, 0);
|
||||
ok(Buffer->OffsetFree == sizeof(*Buffer) || Buffer->OffsetFree == 0x60, "Expected %u or %u, got %lu\n", sizeof(*Buffer), 0x60, Buffer->OffsetFree);
|
||||
ok_hex(Buffer->CommitSize, 0x1000);
|
||||
ok_hex(Buffer->ViewSize, 0x400000);
|
||||
|
||||
Status = RtlDestroyQueryDebugBuffer(Buffer);
|
||||
ok_hex(Status, STATUS_SUCCESS);
|
||||
|
||||
Buffer = RtlCreateQueryDebugBuffer(1, FALSE);
|
||||
ok(Buffer != NULL, "Unable to create default buffer\n");
|
||||
if (!Buffer)
|
||||
return;
|
||||
|
||||
ok_ptr(Buffer->ViewBaseClient, Buffer);
|
||||
ok_hex(Buffer->Flags, 0);
|
||||
ok(Buffer->OffsetFree == sizeof(*Buffer) || Buffer->OffsetFree == 0x60, "Expected %u or %u, got %lu\n", sizeof(*Buffer), 0x60, Buffer->OffsetFree);
|
||||
ok_hex(Buffer->CommitSize, 0x1000);
|
||||
ok_hex(Buffer->ViewSize, 0x1000);
|
||||
|
||||
Status = RtlDestroyQueryDebugBuffer(Buffer);
|
||||
ok_hex(Status, STATUS_SUCCESS);
|
||||
|
||||
Buffer = RtlCreateQueryDebugBuffer(0x1000, FALSE);
|
||||
ok(Buffer != NULL, "Unable to create default buffer\n");
|
||||
if (!Buffer)
|
||||
return;
|
||||
|
||||
ok_ptr(Buffer->ViewBaseClient, Buffer);
|
||||
ok_hex(Buffer->Flags, 0);
|
||||
ok(Buffer->OffsetFree == sizeof(*Buffer) || Buffer->OffsetFree == 0x60, "Expected %u or %u, got %lu\n", sizeof(*Buffer), 0x60, Buffer->OffsetFree);
|
||||
ok_hex(Buffer->CommitSize, 0x1000);
|
||||
ok_hex(Buffer->ViewSize, 0x1000);
|
||||
|
||||
Status = RtlDestroyQueryDebugBuffer(Buffer);
|
||||
ok_hex(Status, STATUS_SUCCESS);
|
||||
|
||||
Buffer = RtlCreateQueryDebugBuffer(0x1001, FALSE);
|
||||
ok(Buffer != NULL, "Unable to create default buffer\n");
|
||||
if (!Buffer)
|
||||
return;
|
||||
|
||||
ok_ptr(Buffer->ViewBaseClient, Buffer);
|
||||
ok_hex(Buffer->Flags, 0);
|
||||
ok(Buffer->OffsetFree == sizeof(*Buffer) || Buffer->OffsetFree == 0x60, "Expected %u or %u, got %lu\n", sizeof(*Buffer), 0x60, Buffer->OffsetFree);
|
||||
ok_hex(Buffer->CommitSize, 0x1000);
|
||||
ok_hex(Buffer->ViewSize, 0x2000);
|
||||
|
||||
Status = RtlDestroyQueryDebugBuffer(Buffer);
|
||||
ok_hex(Status, STATUS_SUCCESS);
|
||||
|
||||
Buffer = RtlCreateQueryDebugBuffer(0x7fffffff, FALSE);
|
||||
ok(Buffer == NULL, "Got a valid thing?\n");
|
||||
if (Buffer)
|
||||
{
|
||||
Status = RtlDestroyQueryDebugBuffer(Buffer);
|
||||
ok_hex(Status, STATUS_SUCCESS);
|
||||
}
|
||||
}
|
||||
|
||||
START_TEST(RtlDebugInformation)
|
||||
{
|
||||
Test_Buffersizes();
|
||||
skip("No test for remote debug information yet!\n");
|
||||
}
|
|
@ -41,6 +41,7 @@ extern void func_RtlAllocateHeap(void);
|
|||
extern void func_RtlBitmap(void);
|
||||
extern void func_RtlComputePrivatizedDllName_U(void);
|
||||
extern void func_RtlCopyMappedMemory(void);
|
||||
extern void func_RtlDebugInformation(void);
|
||||
extern void func_RtlDeleteAce(void);
|
||||
extern void func_RtlDetermineDosPathNameType(void);
|
||||
extern void func_RtlDosApplyFileIsolationRedirection_Ustr(void);
|
||||
|
@ -111,6 +112,7 @@ const struct test winetest_testlist[] =
|
|||
{ "RtlBitmapApi", func_RtlBitmap },
|
||||
{ "RtlComputePrivatizedDllName_U", func_RtlComputePrivatizedDllName_U },
|
||||
{ "RtlCopyMappedMemory", func_RtlCopyMappedMemory },
|
||||
{ "RtlDebugInformation", func_RtlDebugInformation },
|
||||
{ "RtlDeleteAce", func_RtlDeleteAce },
|
||||
{ "RtlDetermineDosPathNameType", func_RtlDetermineDosPathNameType },
|
||||
{ "RtlDosApplyFileIsolationRedirection_Ustr", func_RtlDosApplyFileIsolationRedirection_Ustr },
|
||||
|
|
Loading…
Reference in a new issue