Move what's left in trunk here (1/2)

svn path=/trunk/; revision=26019
This commit is contained in:
Aleksey Bragin 2007-03-06 21:44:58 +00:00
parent a6f9762e88
commit 6761d24ea4
13 changed files with 800 additions and 0 deletions

View file

@ -0,0 +1,18 @@
<module name="cmd_test" type="test">
<include base="rtshared">.</include>
<include base="ReactOS">include/reactos/wine</include>
<include base="cmd">.</include>
<define name="__USE_W32API" />
<define name="ANONYMOUSUNIONS" />
<define name="_WIN32_WINNT">0x0501</define>
<library>rtshared</library>
<library>regtests</library>
<library>cmd_base</library>
<library>kernel32</library>
<library>advapi32</library>
<library>cmd_base</library>
<library>pseh</library>
<library>ntdll</library>
<file>setup.c</file>
<xi:include href="stubs.rbuild" />
</module>

View file

@ -0,0 +1,23 @@
/*
* Copyright (C) 2005 Casper S. Hornstrup
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <windows.h>
#include "regtests.h"
_SetupOnce()
{
}

View file

@ -0,0 +1,84 @@
<component name="kernel32.dll">
<symbol>FindFirstFileA@8</symbol>
<symbol>GetLastError@0</symbol>
<symbol>FindNextFileA@8</symbol>
<symbol>FindClose@4</symbol>
<symbol>GetFileAttributesA@4</symbol>
<symbol>GetCurrentDirectoryA@8</symbol>
<symbol>GetFullPathNameA@16</symbol>
<symbol>CloseHandle@4</symbol>
<symbol>CreateFileA@28</symbol>
<symbol>Beep@8</symbol>
<symbol>LoadStringA@16</symbol>
<symbol>SetConsoleCP@4</symbol>
<symbol>SetConsoleOutputCP@4</symbol>
<symbol>WaitForSingleObject@8</symbol>
<symbol>ReadConsoleInputA@16</symbol>
<symbol>GetTickCount@0</symbol>
<symbol>GetConsoleScreenBufferInfo@8</symbol>
<symbol>FillConsoleOutputAttribute@20</symbol>
<symbol>FillConsoleOutputCharacterA@20</symbol>
<symbol>SetConsoleCursorPosition@8</symbol>
<symbol>LoadLibraryA@4</symbol>
<symbol>GetProcAddress@8</symbol>
<symbol>SetCurrentDirectoryA@4</symbol>
<symbol>SetConsoleMode@8</symbol>
<symbol>CreateProcessA@40</symbol>
<symbol>GetExitCodeProcess@8</symbol>
<symbol>GetConsoleOutputCP@0</symbol>
<symbol>GetTempPathA@8</symbol>
<symbol>GetTempFileNameA@16</symbol>
<symbol>GetCurrentProcess@0</symbol>
<symbol>DuplicateHandle@28</symbol>
<symbol>GetFileType@4</symbol>
<symbol>SetFilePointer@16</symbol>
<symbol>GetTimeFormatA@24</symbol>
<symbol>GetDateFormatA@24</symbol>
<symbol>GetEnvironmentVariableA@12</symbol>
<symbol>GenerateConsoleCtrlEvent@8</symbol>
<symbol>SetConsoleCtrlHandler@8</symbol>
<symbol>GetVersionExA@4</symbol>
<symbol>ExitProcess@4</symbol>
<symbol>GetModuleFileNameA@12</symbol>
<symbol>SetEnvironmentVariableA@8</symbol>
<symbol>SetConsoleTextAttribute@8</symbol>
<symbol>FlushConsoleInputBuffer@4</symbol>
<symbol>WriteFile@20</symbol>
<symbol>FormatMessageA@28</symbol>
<symbol>LocalFree@4</symbol>
<symbol>GetConsoleCP@0</symbol>
<symbol>GetStdHandle@4</symbol>
<symbol>FreeLibrary@4</symbol>
<symbol>SetLastError@4</symbol>
<symbol>SetStdHandle@8</symbol>
<symbol>DeleteFileA@4</symbol>
<symbol>FileTimeToLocalFileTime@8</symbol>
<symbol>GetVolumeInformationA@32</symbol>
<symbol>RemoveDirectoryA@4</symbol>
<symbol>CreateDirectoryA@8</symbol>
<symbol>GetLocaleInfoA@16</symbol>
<symbol>GlobalMemoryStatus@4</symbol>
<symbol>GetEnvironmentStrings@0</symbol>
<symbol>FreeEnvironmentStringsA@4</symbol>
<symbol>LocalFree</symbol>
<symbol>SetLocalTime@4</symbol>
<symbol>GetLocalTime@4</symbol>
<symbol>SetFileAttributesA@8</symbol>
<symbol>SetFileApisToOEM@0</symbol>
<symbol>GetConsoleMode@8</symbol>
<symbol>SetConsoleCursorInfo@8</symbol>
<symbol>ReadFile@20</symbol>
<symbol>SetFileTime@16</symbol>
<symbol>FileTimeToSystemTime@8</symbol>
<symbol>GetDiskFreeSpaceA@20</symbol>
<symbol>SetVolumeLabelA@8</symbol>
<symbol>SetConsoleTitleA@4</symbol>
<symbol>MoveFileExA@12</symbol>
<symbol>GetFileTime@16</symbol>
<symbol>Sleep@4</symbol>
<symbol>MoveFileA@8</symbol>
<symbol>CreateSemaphoreA@16</symbol>
<symbol>InterlockedIncrement@4</symbol>
<symbol>InterlockedDecrement@4</symbol>
<symbol>ReleaseSemaphore@12</symbol>
</component>

View file

@ -4,4 +4,7 @@
<directory name="queuetest">
<xi:include href="queuetest/queuetest.rbuild" />
</directory>
<directory name="tests">
<xi:include href="tests/kernel32.rbuild" />
</directory>
</group>

View file

@ -0,0 +1,129 @@
#include <k32.h>
#ifdef __GNUC__
#include "regtests.h"
#define NDEBUG
#include "debug.h"
#define TestFilename L"C:\\File"
#define TestExpectedFilename L"\\??\\" TestFilename
#define TestHandle (HANDLE) 1
typedef struct
{
LPCWSTR lpFileName;
DWORD dwDesiredAccess;
DWORD dwShareMode;
LPSECURITY_ATTRIBUTES lpSecurityAttributes;
DWORD dwCreationDisposition;
DWORD dwFlagsAndAttributes;
HANDLE hTemplateFile;
} CreateFile_PARAMETERS;
typedef struct
{
PWCHAR ObjectName;
ACCESS_MASK DesiredAccess;
ULONG FileAttributes;
ULONG ShareAccess;
ULONG CreateDisposition;
ULONG CreateOptions;
PVOID EaBuffer;
ULONG EaLength;
} NtCreateFile_PARAMETERS;
typedef struct
{
CreateFile_PARAMETERS CreateFileParameters;
NtCreateFile_PARAMETERS NtCreateFileParameters;
} CreateFileTest_Parameters;
static CreateFileTest_Parameters CreateFileTests[] =
{
{
CreateFileParameters:
{
lpFileName: TestFilename,
dwDesiredAccess: GENERIC_ALL,
dwShareMode: FILE_SHARE_WRITE,
lpSecurityAttributes: NULL,
dwCreationDisposition: CREATE_ALWAYS,
dwFlagsAndAttributes: 0,
hTemplateFile: NULL
},
NtCreateFileParameters:
{
ObjectName: TestExpectedFilename,
DesiredAccess: GENERIC_ALL|SYNCHRONIZE|FILE_READ_ATTRIBUTES,
FileAttributes: 0,
ShareAccess: FILE_SHARE_WRITE,
CreateDisposition: FILE_OVERWRITE_IF,
CreateOptions: FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0
}
}
};
static CreateFileTest_Parameters *CurrentTest;
static NTSTATUS STDCALL
MockNtCreateFile(PHANDLE FileHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
PIO_STATUS_BLOCK IoStatusBlock,
PLARGE_INTEGER AllocateSize,
ULONG FileAttributes,
ULONG ShareAccess,
ULONG CreateDisposition,
ULONG CreateOptions,
PVOID EaBuffer,
ULONG EaLength)
{
_AssertEqualWideString(CurrentTest->NtCreateFileParameters.ObjectName,
ObjectAttributes->ObjectName->Buffer);
_AssertEqualValue(CurrentTest->NtCreateFileParameters.DesiredAccess, DesiredAccess);
_AssertEqualValue(CurrentTest->NtCreateFileParameters.FileAttributes, FileAttributes);
_AssertEqualValue(CurrentTest->NtCreateFileParameters.ShareAccess, ShareAccess);
_AssertEqualValue(CurrentTest->NtCreateFileParameters.CreateDisposition, CreateDisposition);
_AssertEqualValue(CurrentTest->NtCreateFileParameters.CreateOptions, CreateOptions);
*FileHandle = TestHandle;
return STATUS_SUCCESS;
}
static _HOOK NtCreateFileHooks[] =
{
{"NtCreateFile", MockNtCreateFile},
{NULL, NULL}
};
static void TestFile()
{
HANDLE FileHandle;
int index;
_SetHooks(NtCreateFileHooks);
for (index = 0; index < sizeof(CreateFileTests) / sizeof(CreateFileTests[0]); index++)
{
CurrentTest = &CreateFileTests[index];
FileHandle = CreateFileW(CurrentTest->CreateFileParameters.lpFileName,
CurrentTest->CreateFileParameters.dwDesiredAccess,
CurrentTest->CreateFileParameters.dwShareMode,
CurrentTest->CreateFileParameters.lpSecurityAttributes,
CurrentTest->CreateFileParameters.dwCreationDisposition,
CurrentTest->CreateFileParameters.dwFlagsAndAttributes,
CurrentTest->CreateFileParameters.hTemplateFile);
_AssertEqualValue(NO_ERROR, GetLastError());
_AssertEqualValue(TestHandle, FileHandle);
}
_UnsetAllHooks();
}
static void RunTest()
{
TestFile();
}
_Dispatcher(CreatefileTest, "CreateFileW")
#endif

View file

@ -0,0 +1,22 @@
<module name="kernel32_test" type="test">
<include base="rtshared">.</include>
<include base="kernel32">.</include>
<define name="_DISABLE_TIDENTS" />
<define name="_SEH_NO_NATIVE_NLG" />
<define name="__USE_W32API" />
<define name="_WIN32_WINNT">0x0502</define>
<define name="__NO_CTYPE_INLINES" />
<define name="WINVER">0x0500</define>
<library>rtshared</library>
<library>regtests</library>
<library>kernel32_base</library>
<library>pseh</library>
<library>intrlck</library>
<library>msvcrt</library>
<linkerflag>-lgcc</linkerflag>
<linkerflag>-nostartfiles</linkerflag>
<linkerflag>-nostdlib</linkerflag>
<file>setup.c</file>
<file>CreateFile.c</file>
<xi:include href="stubs.rbuild" />
</module>

View file

@ -0,0 +1,12 @@
#include <k32.h>
#include <regtests.h>
int
mainCRTStartup(int argc, char *argv[])
{
return WinMain(NULL, NULL, NULL, 0);
}
_SetupOnce()
{
}

View file

@ -0,0 +1,257 @@
<component name="ntdll.dll">
<symbol>CsrCaptureParameterBuffer@16</symbol>
<symbol>CsrClientCallServer@16</symbol>
<symbol>CsrClientConnectToServer@0</symbol>
<symbol>CsrReleaseParameterBuffer@4</symbol>
<symbol>DbgUiContinue@8</symbol>
<symbol newname="RtlAllocateHeap">HeapAlloc@12</symbol>
<symbol newname="RtlFreeHeap">HeapFree@12</symbol>
<symbol>LdrAccessResource@16</symbol>
<symbol>LdrDisableThreadCalloutsForDll@4</symbol>
<symbol>LdrFindResource_U@16</symbol>
<symbol>LdrLoadDll@16</symbol>
<symbol>LdrShutdownProcess@0</symbol>
<symbol>LdrShutdownThread@0</symbol>
<symbol>LdrUnloadDll@4</symbol>
<symbol>NtAllocateVirtualMemory@24</symbol>
<symbol>NtClose@4</symbol>
<symbol>NtCreateDirectoryObject@12</symbol>
<symbol>NtCreateEvent@20</symbol>
<symbol>NtCreateFile@44</symbol>
<symbol>NtCreateKey@28</symbol>
<symbol>NtCreateProcess@32</symbol>
<symbol>NtCreateSection@28</symbol>
<symbol>NtDelayExecution@8</symbol>
<symbol>NtDeviceIoControlFile@40</symbol>
<symbol>NtDuplicateObject@28</symbol>
<symbol>NtFlushBuffersFile@8</symbol>
<symbol>NtFlushInstructionCache@12</symbol>
<symbol>NtFlushVirtualMemory@16</symbol>
<symbol>NtFreeVirtualMemory@16</symbol>
<symbol>NtFsControlFile@40</symbol>
<symbol>NtGetContextThread@8</symbol>
<symbol>NtLockVirtualMemory@16</symbol>
<symbol>NtOpenDirectoryObject@12</symbol>
<symbol>NtOpenEvent@12</symbol>
<symbol>NtOpenFile@24</symbol>
<symbol>NtOpenKey@12</symbol>
<symbol>NtOpenProcess@16</symbol>
<symbol>NtOpenSection@12</symbol>
<symbol>NtOpenThread@16</symbol>
<symbol>NtProtectVirtualMemory@20</symbol>
<symbol>NtPulseEvent@8</symbol>
<symbol>NtQueryDefaultLocale@8</symbol>
<symbol>NtQueryDefaultUILanguage@4</symbol>
<symbol>NtQueryDirectoryFile@44</symbol>
<symbol>NtQueryInformationFile@20</symbol>
<symbol>NtQueryInformationProcess@20</symbol>
<symbol>NtQueryInformationThread@20</symbol>
<symbol>NtQueryObject@20</symbol>
<symbol>NtQuerySystemInformation@16</symbol>
<symbol>NtQuerySystemTime@4</symbol>
<symbol>NtQueryValueKey@24</symbol>
<symbol>NtQueryVirtualMemory@24</symbol>
<symbol>NtQueryVolumeInformationFile@20</symbol>
<symbol>NtReadFile@36</symbol>
<symbol>NtReadVirtualMemory@20</symbol>
<symbol>NtResetEvent@8</symbol>
<symbol>NtResumeThread@8</symbol>
<symbol>NtSetContextThread@8</symbol>
<symbol>NtSetEvent@8</symbol>
<symbol>NtSetInformationFile@20</symbol>
<symbol>NtSetInformationObject@16</symbol>
<symbol>NtSetInformationProcess@16</symbol>
<symbol>NtSetInformationThread@16</symbol>
<symbol>NtSetSystemInformation@12</symbol>
<symbol>NtSetSystemTime@8</symbol>
<symbol>NtSignalAndWaitForSingleObject@16</symbol>
<symbol>NtSuspendThread@8</symbol>
<symbol>NtTerminateThread@8</symbol>
<symbol>NtUnlockVirtualMemory@16</symbol>
<symbol>NtUnmapViewOfSection@8</symbol>
<symbol>NtWaitForMultipleObjects@20</symbol>
<symbol>NtWaitForSingleObject@12</symbol>
<symbol>NtWriteFile@36</symbol>
<symbol>NtWriteVirtualMemory@20</symbol>
<symbol>NtYieldExecution@0</symbol>
<symbol>RtlAcquirePebLock@0</symbol>
<symbol>RtlAnsiStringToUnicodeSize@4</symbol>
<symbol>RtlBaseProcessStartRoutine</symbol>
<symbol>RtlCompactHeap@8</symbol>
<symbol>RtlCopyUnicodeString@8</symbol>
<symbol>RtlCreateHeap@24</symbol>
<symbol>RtlCreateProcessParameters@40</symbol>
<symbol>RtlCreateUnicodeString@8</symbol>
<symbol>RtlCreateUnicodeStringFromAsciiz@8</symbol>
<symbol>RtlDeleteCriticalSection@4</symbol>
<symbol>RtlDestroyHeap@4</symbol>
<symbol>RtlDestroyProcessParameters@4</symbol>
<symbol>RtlDoesFileExists_U@4</symbol>
<symbol>RtlDosPathNameToNtPathName_U@16</symbol>
<symbol>RtlDosSearchPath_U@24</symbol>
<symbol>RtlEnterCriticalSection@4</symbol>
<symbol>RtlExpandEnvironmentStrings_U@16</symbol>
<symbol>RtlFreeHeap@12</symbol>
<symbol>RtlGetCurrentDirectory_U@8</symbol>
<symbol>RtlGetFullPathName_U@16</symbol>
<symbol>RtlGetProcessHeaps@8</symbol>
<symbol>RtlImageNtHeader@4</symbol>
<symbol>RtlInitCodePageTable@8</symbol>
<symbol>RtlInitializeCriticalSection@4</symbol>
<symbol>RtlInitUnicodeString@8</symbol>
<symbol>RtlIntegerToChar@16</symbol>
<symbol>RtlIntegerToUnicodeString@12</symbol>
<symbol>RtlIsNameLegalDOS8Dot3@12</symbol>
<symbol>RtlLeaveCriticalSection@4</symbol>
<symbol>RtlLockHeap@4</symbol>
<symbol>RtlNtStatusToDosError@4</symbol>
<symbol>RtlOemStringToUnicodeSize@4</symbol>
<symbol>RtlOemStringToUnicodeString@12</symbol>
<symbol>RtlOpenCurrentUser@8</symbol>
<symbol>RtlQueryEnvironmentVariable_U@12</symbol>
<symbol>RtlRaiseException@4</symbol>
<symbol>RtlReAllocateHeap@16</symbol>
<symbol>RtlReleasePebLock@0</symbol>
<symbol>RtlRosCreateUserThreadVa</symbol>
<symbol>RtlRosExitUserThread@4</symbol>
<symbol>RtlSetCurrentDirectory_U@4</symbol>
<symbol>RtlSetEnvironmentVariable@12</symbol>
<symbol>RtlSetTimeZoneInformation@4</symbol>
<symbol>RtlTimeFieldsToTime@8</symbol>
<symbol>RtlTimeToTimeFields@8</symbol>
<symbol>RtlUnicodeStringToAnsiSize@4</symbol>
<symbol>RtlUnicodeStringToAnsiString@12</symbol>
<symbol>RtlUnicodeStringToInteger@12</symbol>
<symbol>RtlUnicodeStringToOemString@12</symbol>
<symbol>RtlUnicodeToOemN@20</symbol>
<symbol>RtlUnlockHeap@4</symbol>
<symbol>DbgPrint</symbol>
<symbol>LdrFindResourceDirectory_U@16</symbol>
<symbol>LdrGetDllHandle@16</symbol>
<symbol>LdrGetProcedureAddress@16</symbol>
<symbol>RtlCharToInteger@12</symbol>
<symbol>RtlUpcaseUnicodeString@12</symbol>
<symbol>RtlCreateTimerQueue@4</symbol>
<symbol>ZwAllocateVirtualMemory@24</symbol>
<symbol>ZwProtectVirtualMemory@20</symbol>
<symbol>ZwWriteVirtualMemory@20</symbol>
<symbol>RtlGetVersion@4</symbol>
<symbol>RtlVerifyVersionInfo@16</symbol>
<symbol>RtlNormalizeProcessParams@4</symbol>
<symbol>RtlDestroyEnvironment@4</symbol>
<symbol>NtCreateJobObject@12</symbol>
<symbol>NtOpenJobObject@12</symbol>
<symbol>NtIsProcessInJob@8</symbol>
<symbol>NtAssignProcessToJobObject@8</symbol>
<symbol>NtQueryInformationJobObject@20</symbol>
<symbol>NtSetInformationJobObject@16</symbol>
<symbol>NtTerminateJobObject@8</symbol>
<symbol>NtTerminateProcess@8</symbol>
<symbol>RtlRaiseStatus@4</symbol>
<symbol>RtlValidateHeap@12</symbol>
<symbol>RtlClearBits@12</symbol>
<symbol>RtlAreBitsSet@12</symbol>
<symbol>RtlFindClearBitsAndSet@12</symbol>
<symbol>NtQueueApcThread@20</symbol>
<symbol>NtCreateThread@32</symbol>
<symbol>CsrNewThread@0</symbol>
<symbol>CsrClientConnectToServer@20</symbol>
<symbol>CsrCaptureMessageBuffer@16</symbol>
<symbol>CsrAllocateCaptureBuffer@8</symbol>
<symbol>CsrFreeCaptureBuffer@4</symbol>
<symbol>RtlAllocateHeap@12</symbol>
<symbol>RtlDeleteTimerQueueEx@8</symbol>
<symbol>RtlDeleteTimerQueue@4</symbol>
<symbol>RtlCreateTimer@28</symbol>
<symbol>RtlDeleteTimer@12</symbol>
<symbol>RtlUpdateTimer@16</symbol>
<symbol>RtlIsTextUnicode@12</symbol>
<symbol>RtlCompareUnicodeString@12</symbol>
<symbol>RtlFindMessage@20</symbol>
<symbol>RtlDetermineDosPathNameType_U@4</symbol>
<symbol>RtlQueryProcessDebugInformation@12</symbol>
<symbol>RtlDestroyQueryDebugBuffer@4</symbol>
<symbol>RtlAllocateAndInitializeSid@44</symbol>
<symbol>RtlLengthSid@4</symbol>
<symbol>RtlCreateAcl@12</symbol>
<symbol>RtlAddAccessAllowedAce@16</symbol>
<symbol>RtlCreateSecurityDescriptor@8</symbol>
<symbol>RtlSetDaclSecurityDescriptor@16</symbol>
<symbol>RtlFreeSid@4</symbol>
<symbol>RtlFreeAnsiString@4</symbol>
<symbol>NtNotifyChangeDirectoryFile@36</symbol>
<symbol>NtCreateSymbolicLinkObject@16</symbol>
<symbol>RtlEqualUnicodeString@12</symbol>
<symbol>NtQueryEaFile@36</symbol>
<symbol>NtQueryDirectoryObject@28</symbol>
<symbol>NlsMbCodePageTag</symbol>
<symbol>NlsMbOemCodePageTag</symbol>
<symbol>RtlxUnicodeStringToOemSize@4</symbol>
<symbol>RtlMultiByteToUnicodeN@20</symbol>
<symbol>NtQueryFullAttributesFile@8</symbol>
<symbol>NtQuerySymbolicLinkObject@12</symbol>
<symbol>RtlPrefixUnicodeString@12</symbol>
<symbol>NtCreateIoCompletion@16</symbol>
<symbol>NtRemoveIoCompletion@20</symbol>
<symbol>NtSetIoCompletion@20</symbol>
<symbol>NtCancelIoFile@8</symbol>
<symbol>NtLockFile@40</symbol>
<symbol>NtUnlockFile@20</symbol>
<symbol>NtCreateMailslotFile@32</symbol>
<symbol>NtSetValueKey@24</symbol>
<symbol>NtCreateNamedPipeFile@56</symbol>
<symbol>NtSetVolumeInformationFile@20</symbol>
<symbol>RtlSizeHeap@12</symbol>
<symbol>NtQueryEvent@20</symbol>
<symbol>NtAddAtom@12</symbol>
<symbol>NtDeleteAtom@4</symbol>
<symbol>NtQueryPerformanceCounter@8</symbol>
<symbol>RtlUnwind@16</symbol>
<symbol>RtlInitializeCriticalSectionAndSpinCount@8</symbol>
<symbol>NtCreateTimer@16</symbol>
<symbol>NtOpenTimer@12</symbol>
<symbol>NtCreateMutant@16</symbol>
<symbol>NtQueryInstallUILanguage@4</symbol>
<symbol>NtClearEvent@4</symbol>
<symbol>NtOpenMutant@12</symbol>
<symbol>NtReleaseMutant@8</symbol>
<symbol>NtCreateSemaphore@20@12</symbol>
<symbol>NtOpenSemaphore@12</symbol>
<symbol>NtReleaseSemaphore@12</symbol>
<symbol>NtMapViewOfSection@40</symbol>
<symbol>RtlCreateQueryDebugBuffer@8</symbol>
<symbol>RtlInitAnsiString@8</symbol>
<symbol>RtlAnsiStringToUnicodeString@12</symbol>
<symbol>RtlFreeUnicodeString@4</symbol>
<symbol>NtCancelTimer@8</symbol>
<symbol>NtSetTimer@28</symbol>
<symbol>ZwMapViewOfSection@40</symbol>
<symbol>ZwOpenSection@12</symbol>
<symbol>ZwQuerySection@20</symbol>
<symbol>ZwQuerySystemInformation@16</symbol>
<symbol>ZwReadFile@36</symbol>
<symbol>ZwTerminateProcess@8</symbol>
<symbol>ZwClose@4</symbol>
<symbol>DbgUiIssueRemoteBreakin@4</symbol>
<symbol>NtOpenSymbolicLinkObject@12</symbol>
<symbol>RtlxUnicodeStringToAnsiSize@4</symbol>
<symbol>RtlOemToUnicodeN@20</symbol>
<symbol>RtlUnicodeToMultiByteN@20</symbol>
<symbol>NtFindAtom@12</symbol>
<symbol>NtQueryInformationAtom@20</symbol>
<symbol>RtlCreateAtomTable@8</symbol>
<symbol>RtlAddAtomToAtomTable@12</symbol>
<symbol>RtlDeleteAtomFromAtomTable@8</symbol>
<symbol>RtlLookupAtomInAtomTable@12</symbol>
<symbol>RtlQueryAtomInAtomTable@24</symbol>
<symbol>ZwOpenKey@12</symbol>
<symbol>ZwQueryValueKey@24</symbol>
<symbol>RtlQueryRegistryValues@20</symbol>
<symbol>RtlAppendUnicodeToString@8</symbol>
<symbol>@RtlUshortByteSwap@4</symbol>
<symbol>RtlAppendUnicodeStringToString@8</symbol>
<symbol>NtFlushKey@4</symbol>
<symbol>NtEnumerateValueKey@24</symbol>
<symbol>RtlUpcaseUnicodeChar@4</symbol>
<symbol>NtCreateSemaphore@20</symbol>
</component>

View file

@ -1,6 +1,9 @@
<?xml version="1.0"?>
<!DOCTYPE project SYSTEM "tools/rbuild/project.dtd">
<group>
<directory name="cmd">
<xi:include href="cmd/cmd_test.rbuild" />
</directory>
<directory name="kernel32">
<xi:include href="kernel32/directory.rbuild" />
</directory>
@ -13,4 +16,7 @@
<directory name="user32">
<xi:include href="user32/user32.rbuild" />
</directory>
<directory name="win32k">
<xi:include href="win32k/win32k.rbuild" />
</directory>
</group>

View file

@ -0,0 +1,6 @@
#include <windows.h>
#include "regtests.h"
_SetupOnce()
{
}

View file

@ -0,0 +1,171 @@
<component name="ntdll.dll">
<symbol>DbgPrint</symbol>
<symbol>RtlAssert@16</symbol>
<symbol>ZwAllocateVirtualMemory@24</symbol>
<symbol>RtlImageDirectoryEntryToData@16</symbol>
<symbol>RtlInitAnsiString@8</symbol>
<symbol>RtlInitUnicodeString@8</symbol>
<symbol>NtClose@4</symbol>
<symbol>ZwOpenFile@24</symbol>
<symbol>ZwClose@4</symbol>
<symbol>RtlNtStatusToDosError@4</symbol>
<symbol>NtW32Call@20</symbol>
<symbol>ZwOpenKey@12</symbol>
<symbol>ZwQueryValueKey@24</symbol>
<symbol>RtlUnicodeStringToInteger@12</symbol>
<symbol>RtlQueryAtomInAtomTable@24</symbol>
<symbol>RtlDeleteAtomFromAtomTable@8</symbol>
<symbol>RtlCopyUnicodeString@8</symbol>
<symbol>ZwRequestWaitReplyPort@12</symbol>
<symbol>ZwDuplicateObject@28</symbol>
<symbol>ZwSetSystemInformation@12</symbol>
<symbol>RtlLookupAtomInAtomTable@12</symbol>
<symbol>RtlAddAtomToAtomTable@12</symbol>
<symbol>RtlFreeUnicodeString@4</symbol>
<symbol>ZwConnectPort@32</symbol>
<symbol>ZwOpenProcess@16</symbol>
<symbol>RtlCreateUnicodeString@8</symbol>
<symbol>RtlQueryRegistryValues@20</symbol>
<symbol>RtlGetVersion@4</symbol>
<symbol>NtOpenFile@24</symbol>
<symbol>NtReadFile@36</symbol>
<symbol>NtWaitForSingleObject@12</symbol>
<symbol>NtDeviceIoControlFile@40</symbol>
<symbol>NtAlertThread@4</symbol>
<symbol>ZwQueryDefaultLocale@8</symbol>
<symbol>ZwFreeVirtualMemory@16</symbol>
<symbol>RtlFindClearBitsAndSet@12</symbol>
<symbol>ZwReadFile@36</symbol>
<symbol>RtlAnsiStringToUnicodeString@12</symbol>
<symbol>RtlCompareUnicodeString@12</symbol>
<symbol>ZwCreateDirectoryObject@12</symbol>
<symbol>RtlCreateAtomTable@8</symbol>
<symbol>RtlDestroyAtomTable@4</symbol>
<symbol>ZwOpenDirectoryObject@12</symbol>
<symbol>ZwQueryDirectoryObject@28</symbol>
<symbol>RtlAppendUnicodeToString@8</symbol>
<symbol>ZwCreateEvent@20</symbol>
<symbol>RtlAreBitsSet@12</symbol>
<symbol>RtlClearBits@12</symbol>
<symbol>RtlInitializeBitMap@12</symbol>
<symbol>RtlClearAllBits@4</symbol>
<symbol>RtlAppendUnicodeStringToString@8</symbol>
<symbol>ZwSetValueKey@24</symbol>
<symbol>ZwQueryDirectoryFile@44</symbol>
<symbol>RtlUnwind@16</symbol>
<symbol>NtQueryInformationFile@20</symbol>
</component>
<component name="ntoskrnl.exe">
<symbol>ExAllocatePool@8</symbol>
<symbol>ExFreePool@4</symbol>
<symbol>ExAllocatePoolWithTag@12</symbol>
<symbol>IoBuildDeviceIoControlRequest@36</symbol>
<symbol>IoBuildSynchronousFsdRequest@28</symbol>
<symbol>@IofCallDriver@8</symbol>
<symbol>KeWaitForSingleObject@20</symbol>
<symbol>@ExAcquireFastMutex@4</symbol>
<symbol>PsGetWin32Process@0</symbol>
<symbol>@ExReleaseFastMutex@4</symbol>
<symbol>@ExTryToAcquireFastMutex@4</symbol>
<symbol>KeInitializeEvent@12</symbol>
<symbol>ExEventObjectType</symbol>
<symbol>ObReferenceObjectByHandle@24</symbol>
<symbol>KeSetEvent@12</symbol>
<symbol>@ObfDereferenceObject@4</symbol>
<symbol>KeRestoreFloatingPointState@4</symbol>
<symbol>KeSaveFloatingPointState@4</symbol>
<symbol>MmSecureVirtualMemory@12</symbol>
<symbol>MmUnsecureVirtualMemory@4</symbol>
<symbol>IoGetCurrentProcess@0</symbol>
<symbol>KeQueryPerformanceCounter@4</symbol>
<symbol>ExInitializeResourceLite@4</symbol>
<symbol>ExAcquireResourceExclusiveLite@8</symbol>
<symbol>KeGetCurrentThread@0</symbol>
<symbol>PsGetCurrentProcessId@0</symbol>
<symbol>@InterlockedDecrement@4</symbol>
<symbol>@InterlockedExchange@8</symbol>
<symbol>KeBugCheck@4</symbol>
<symbol>ExDesktopObjectType</symbol>
<symbol>PsEstablishWin32Callouts@24</symbol>
<symbol>MmUnmapViewInSystemSpace@4</symbol>
<symbol>MmCreateSection@32</symbol>
<symbol>MmMapViewInSystemSpace@12</symbol>
<symbol>MmCopyToCaller@12</symbol>
<symbol>PsGetWin32Thread@0</symbol>
<symbol>KeDetachProcess@0</symbol>
<symbol>ExInitializePagedLookasideList@28</symbol>
<symbol>@InterlockedPushEntrySList@8</symbol>
<symbol>ExInterlockedInsertTailList@12</symbol>
<symbol>KeReleaseSpinLock@8</symbol>
<symbol>ObOpenObjectByName@28</symbol>
<symbol>ObOpenObjectByPointer@28</symbol>
<symbol>KeAcquireSpinLock@8</symbol>
<symbol>ExGetPreviousMode@0</symbol>
<symbol>PsGetCurrentThreadId@0</symbol>
<symbol>@ExReleaseResourceLite@4</symbol>
<symbol>ExIsResourceAcquiredExclusiveLite@</symbol>
<symbol>@InterlockedIncrement@4</symbol>
<symbol>@InterlockedCompareExchange@12</symbol>
<symbol>KeAddSystemServiceTable@20</symbol>
<symbol>IoFileObjectType</symbol>
<symbol>ObReferenceObjectByPointer@16</symbol>
<symbol>MmUnmapViewOfSection@8</symbol>
<symbol>MmCopyFromCaller@12</symbol>
<symbol>KiKernelApcDeliveryCheck@0</symbol>
<symbol>ExIsResourceAcquiredExclusiveLite@4</symbol>
<symbol>MmMapViewOfSection@40</symbol>
<symbol>KeAttachProcess@4</symbol>
<symbol>@InterlockedPopEntrySList@4</symbol>
<symbol>ExWindowStationObjectType</symbol>
<symbol>ObInsertObject@24</symbol>
<symbol>KeInitializeSpinLock@4</symbol>
<symbol>PsThreadType</symbol>
<symbol>PsCreateSystemThread@28</symbol>
<symbol>KeQueryTickCount@4</symbol>
<symbol>PsLookupThreadByThreadId@8</symbol>
<symbol>KeInitializeMutex@8</symbol>
<symbol>KeWaitForMutexObject@20</symbol>
<symbol>KeReleaseMutex@8</symbol>
<symbol>KeDelayExecutionThread@12</symbol>
<symbol>PsGetProcessId@4</symbol>
<symbol>ObCreateObject@36</symbol>
<symbol>KeClearEvent@4</symbol>
<symbol>PsLookupProcessByProcessId@8</symbol>
<symbol>PsProcessType</symbol>
<symbol>KeWaitForMultipleObjects@32</symbol>
<symbol>KeQuerySystemTime@4</symbol>
<symbol>ObReferenceObjectByName@32</symbol>
<symbol>HalQueryDisplayOwnership@0</symbol>
<symbol>IoDeviceObjectType</symbol>
<symbol>@KfReleaseSpinLock@8</symbol>
<symbol>@KfAcquireSpinLock@4</symbol>
<symbol>KeEnterCriticalRegion@0</symbol>
<symbol>KeLeaveCriticalRegion@0</symbol>
<symbol>KeGetCurrentIrql@0</symbol>
<symbol>ExFreePoolWithTag@8</symbol>
<symbol>PsGetProcessWin32Process@4</symbol>
<symbol>ObFindHandleForObject@20</symbol>
<symbol>PsSetProcessWin32Process@8</symbol>
<symbol>PsGetThreadWin32Thread@4</symbol>
<symbol>PsEstablishWin32Callouts@4</symbol>
<symbol>PsSetThreadWin32Thread@8</symbol>
<symbol>ProbeForRead@12</symbol>
<symbol>ProbeForWrite@12</symbol>
<symbol>@ExEnterCriticalRegionAndAcquireFastMutexUnsafe@4</symbol>
<symbol>@ExReleaseFastMutexUnsafeAndLeaveCriticalRegion@4</symbol>
</component>
<component name="freetype.dll">
<symbol>FT_Init_FreeType</symbol>
<symbol>FT_New_Memory_Face</symbol>
<symbol>FT_Done_Face</symbol>
<symbol>FT_MulFix</symbol>
<symbol>FT_Get_Sfnt_Table</symbol>
<symbol>FT_Get_First_Char</symbol>
<symbol>FT_Set_Pixel_Sizes</symbol>
<symbol>FT_Get_Char_Index</symbol>
<symbol>FT_Load_Glyph</symbol>
<symbol>FT_Get_Kerning</symbol>
<symbol>FT_Render_Glyph</symbol>
<symbol>FT_Set_Charmap</symbol>
<symbol>FT_Load_Sfnt_Table</symbol>
</component>

View file

@ -0,0 +1,48 @@
#include <ntddk.h>
#include <winddi.h>
#include "regtests.h"
static void RunTest()
{
#if 0
VOID *pmem1, *pmem2;
ULONG AllocSize1, AllocSize2;
ULONG AllocTag1, AllocTag2;
HANDLE Handle1, Handle2;
/* Allocate memory with EngAllocMem */
pmem1 = 0;
AllocSize1 = 1024;
AllocTag1 = TAG('D','x','y','z');
pmem1 = EngAllocMem(FL_ZERO_MEMORY, AllocSize1, AllocTag1);
_AssertNotEqualValue(pmem1, NULL);
/* Allocate memory with EngAllocMem */
pmem2 = 0;
AllocSize2 = 1024;
AllocTag2 = TAG('D','x','y','z');
pmem2 = EngAllocUserMem(AllocSize2, AllocTag2);
_AssertNotEqualValue(pmem1, NULL);
/* Lock down memory with EngSecureMem
** Dependant functions in ntoskrnl.exe are currently unimplemented
Handle1 = EngSecureMem(pmem1, AllocSize1);
_AssertNotEqualValue(pmem1, NULL);
Handle2 = EngSecureMem(pmem2, AllocSize2);
_AssertNotEqualValue(pmem2, NULL);
/* Unlock down memory with EngSecureMem
** Dependant functions in ntoskrnl.exe are currently unimplemented
EngUnsecureMem(Handle1);
EngUnsecureMem(Handle2); */
/* Free memory with EngFreeMem */
EngFreeMem(pmem1);
/* Free memory with EngFreeUserMem */
EngFreeUserMem(pmem2);
#endif
}
_Dispatcher(Eng_mem_1Test, "Win32k Engine Memory API")

View file

@ -0,0 +1,21 @@
<module name="win32k_test" type="test">
<include base="rtshared">.</include>
<include base="win32k">.</include>
<include base="win32k">include</include>
<include base="ntoskrnl">include</include>
<include base="freetype">include</include>
<define name="UNICODE" />
<define name="__USE_W32API" />
<define name="_WIN32_WINNT">0x0501</define>
<define name="WINVER">0x600</define>
<define name="_SEH_NO_NATIVE_NLG" />
<define name="_WIN32K_" />
<library>rtshared</library>
<library>regtests</library>
<library>win32k_base</library>
<library>pseh</library>
<library>freetype</library>
<library>ntoskrnl</library>
<file>setup.c</file>
<xi:include href="stubs.rbuild" />
</module>