[ADVAPI32_APITEST]

- Add tests for RtlEncrypt/DecryptMemory

svn path=/trunk/; revision=64162
This commit is contained in:
Timo Kreuzer 2014-09-15 21:04:03 +00:00
parent abaedf0591
commit 34f49b3d4b
3 changed files with 41 additions and 0 deletions

View file

@ -3,6 +3,7 @@ list(APPEND SOURCE
CreateService.c
LockDatabase.c
QueryServiceConfig2.c
RtlEncryptMemory.c
SaferIdentifyLevel.c
testlist.c)

View file

@ -0,0 +1,38 @@
/*
* PROJECT: ReactOS api tests
* LICENSE: GPLv2+ - See COPYING in the top level directory
* PURPOSE: Test for RtlEncrypt/DecryptMemory
* PROGRAMMER: Timo Kreuzer <timo.kreuzer@reactos.org>
*/
#include <apitest.h>
#define WIN32_NO_STATUS
#include <windows.h>
#include <ndk/ntndk.h>
#include <winsafer.h>
#include <Ntsecapi.h>
START_TEST(RtlEncryptMemory)
{
static const CHAR const TestData[32] = "This is some test Message!!!";
CHAR Buffer[32];
NTSTATUS Status;
/* Size must be aligned to 8 bytes */
Status = RtlEncryptMemory(Buffer, 7, RTL_ENCRYPT_OPTION_SAME_PROCESS);
ok_ntstatus(Status, STATUS_INVALID_PARAMETER);
/* Buffer must not be aligned to 8 bytes */
Status = RtlEncryptMemory(&Buffer[1], 8, RTL_ENCRYPT_OPTION_SAME_PROCESS);
ok_ntstatus(Status, STATUS_SUCCESS);
RtlCopyMemory(Buffer, TestData, sizeof(Buffer));
Status = RtlEncryptMemory(Buffer, sizeof(Buffer), RTL_ENCRYPT_OPTION_SAME_PROCESS);
ok_ntstatus(Status, STATUS_SUCCESS);
ok_int(RtlEqualMemory(Buffer, TestData, sizeof(Buffer)), 0);
Status = RtlDecryptMemory(Buffer, sizeof(Buffer), RTL_ENCRYPT_OPTION_SAME_PROCESS);
ok_ntstatus(Status, STATUS_SUCCESS);
ok_int(RtlEqualMemory(Buffer, TestData, sizeof(Buffer)), 1);
}

View file

@ -6,6 +6,7 @@
extern void func_CreateService(void);
extern void func_LockDatabase(void);
extern void func_QueryServiceConfig2(void);
extern void func_RtlEncryptMemory(void);
extern void func_SaferIdentifyLevel(void);
const struct test winetest_testlist[] =
@ -13,6 +14,7 @@ const struct test winetest_testlist[] =
{ "CreateService", func_CreateService },
{ "LockDatabase" , func_LockDatabase },
{ "QueryServiceConfig2", func_QueryServiceConfig2 },
{ "RtlEncryptMemory", func_RtlEncryptMemory },
{ "SaferIdentifyLevel", func_SaferIdentifyLevel },
{ 0, 0 }