139 lines
3.4 KiB
C++
139 lines
3.4 KiB
C++
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
|
//
|
|
// File: memory.cxx
|
|
//
|
|
// Contents: Memory allocation tests
|
|
//
|
|
// Functions:
|
|
//
|
|
// History: 13-Aug-93 CarlH Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
#include "memtest.hxx"
|
|
#pragma hdrstop
|
|
|
|
|
|
static char g_szMemory[] = "memory";
|
|
|
|
// WARNING: Do not just start whacking on the elements of this
|
|
// array. The third element of each structure may hold
|
|
// the index of another entry in the array. If elements
|
|
// are inserted, these indices may get hosed!
|
|
//
|
|
static SMemTask g_amemtskStandard[] =
|
|
{
|
|
{memopAlloc, 128, 0, S_OK},
|
|
{memopFree, 0, 0, S_OK},
|
|
{memopAlloc, 12, 0, S_OK},
|
|
{memopAlloc, 1423, 0, S_OK},
|
|
{memopFree, 0, 2, S_OK},
|
|
{memopAlloc, 12, 0, S_OK},
|
|
{memopFree, 0, 3, S_OK},
|
|
{memopFree, 0, 5, S_OK}
|
|
};
|
|
|
|
static ULONG g_cmemtskStandard =
|
|
sizeof(g_amemtskStandard) / sizeof(g_amemtskStandard[0]);
|
|
|
|
|
|
// WARNING: See warning on the above array definition.
|
|
//
|
|
static SMemTask g_amemtskMIDL[] =
|
|
{
|
|
{memopMIDLAlloc, 128, 0, S_OK},
|
|
{memopMIDLFree, 0, 0, S_OK},
|
|
{memopMIDLAlloc, 12, 0, S_OK},
|
|
{memopMIDLAlloc, 1423, 0, S_OK},
|
|
{memopMIDLFree, 0, 2, S_OK},
|
|
{memopMIDLAlloc, 12, 0, S_OK},
|
|
{memopMIDLFree, 0, 3, S_OK},
|
|
{memopMIDLFree, 0, 5, S_OK}
|
|
};
|
|
|
|
static ULONG g_cmemtskMIDL =
|
|
sizeof(g_amemtskMIDL) / sizeof(g_amemtskMIDL[0]);
|
|
|
|
|
|
BOOL TestStandard(DWORD grfOptions);
|
|
BOOL TestMIDL(DWORD grfOptions);
|
|
|
|
|
|
//+-------------------------------------------------------------------------
|
|
//
|
|
// Function: TestMemory, public
|
|
//
|
|
// Synopsis: Tests simple memory allocation functionality
|
|
//
|
|
// Arguments: [grfOptions] - options for test
|
|
//
|
|
// Returns: TRUE if successful, FALSE otherwise
|
|
//
|
|
// History: 17-Aug-93 CarlH Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
BOOL TestMemory(DWORD grfOptions)
|
|
{
|
|
BOOL fPassed;
|
|
|
|
PrintHeader(g_szMemory);
|
|
|
|
if (!(fPassed = TestStandard(grfOptions)))
|
|
goto done;
|
|
|
|
#ifdef TEST_MIDL
|
|
if (!(fPassed = TestMIDL(grfOptions)))
|
|
goto done;
|
|
#endif // TEST_MIDL
|
|
|
|
done:
|
|
PrintResult(g_szMemory, fPassed);
|
|
|
|
return (fPassed);
|
|
}
|
|
|
|
|
|
//+-------------------------------------------------------------------------
|
|
//
|
|
// Function: TestStandard, public
|
|
//
|
|
// Synopsis: Tests standard memory allocation routines (not linked)
|
|
//
|
|
// Arguments: [grfOptions] - options for test
|
|
//
|
|
// Returns: TRUE if successful, FALSE otherwise
|
|
//
|
|
// History: 17-Aug-93 CarlH Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
BOOL TestStandard(DWORD grfOptions)
|
|
{
|
|
PrintTrace(g_szMemory, "testing standard allocations\n");
|
|
|
|
return (RunMemoryTasks(g_szMemory, g_amemtskStandard, g_cmemtskStandard));
|
|
}
|
|
|
|
|
|
//+-------------------------------------------------------------------------
|
|
//
|
|
// Function: TestMIDL, public
|
|
//
|
|
// Synopsis: Tests RPC memory allocation routines (not linked)
|
|
//
|
|
// Arguments: [grfOptions] - options for test
|
|
//
|
|
// Returns: TRUE if successful, FALSE otherwise
|
|
//
|
|
// History: 17-Aug-93 CarlH Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
BOOL TestMIDL(DWORD grfOptions)
|
|
{
|
|
PrintTrace(g_szMemory, "testing MIDL allocations\n");
|
|
|
|
return (RunMemoryTasks(g_szMemory, g_amemtskMIDL, g_cmemtskMIDL));
|
|
}
|
|
|