diff options
Diffstat (limited to 'private/oleutest/perform/cairole/tests/bm_nstg.hxx')
-rw-r--r-- | private/oleutest/perform/cairole/tests/bm_nstg.hxx | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/private/oleutest/perform/cairole/tests/bm_nstg.hxx b/private/oleutest/perform/cairole/tests/bm_nstg.hxx new file mode 100644 index 000000000..0215d12e4 --- /dev/null +++ b/private/oleutest/perform/cairole/tests/bm_nstg.hxx @@ -0,0 +1,111 @@ +//+------------------------------------------------------------------------ +// +// Microsoft Windows +// Copyright (C) Microsoft Corporation, 1993. +// +// File: bm_nstg.hxx +// +// Contents: Nested storage test class definition +// +// Classes: CNestedStorageTest +// +// Functions: +// +// History: 09-June-94 t-vadims Created +// +//-------------------------------------------------------------------------- + +#ifndef _BM_NSTG_HXX_ +#define _BM_NSTG_HXX_ + +#include <bm_base.hxx> + +// Maximum allowed branching and nesting factors +// Using both maximums at the same time is not recommended, +// due to exponetial growth of time requirements +#define MAX_BRANCHING 7 +#define MAX_NESTING 7 + +class CNestedStorageTest : public CTestBase +{ +public: + virtual TCHAR *Name (); + virtual SCODE Setup (CTestInput *input); + virtual SCODE Run (); + virtual SCODE Report (CTestOutput &OutputFile); + virtual SCODE Cleanup (); + +private: + + ULONG m_ulIterations; + + // timing arrays + + ULONG m_ulStgCreateDocfile[TEST_MAX_ITERATIONS]; + ULONG m_ulFinalStorageCommit[TEST_MAX_ITERATIONS]; + ULONG m_ulFinalStorageRelease[TEST_MAX_ITERATIONS]; + + ULONG m_ulCreateStorageMin[MAX_NESTING][TEST_MAX_ITERATIONS]; + ULONG m_ulCreateStorageMax[MAX_NESTING][TEST_MAX_ITERATIONS]; + ULONG m_ulCreateStorageAverage[TEST_MAX_ITERATIONS]; + ULONG m_ulCreateStorageTotal[TEST_MAX_ITERATIONS]; + + ULONG m_ulStorageReleaseMin[MAX_NESTING][TEST_MAX_ITERATIONS]; + ULONG m_ulStorageReleaseMax[MAX_NESTING][TEST_MAX_ITERATIONS]; + ULONG m_ulStorageReleaseAverage[TEST_MAX_ITERATIONS]; + ULONG m_ulStorageReleaseTotal[TEST_MAX_ITERATIONS]; + + ULONG m_ulCreateStreamMin[TEST_MAX_ITERATIONS]; + ULONG m_ulCreateStreamMax[TEST_MAX_ITERATIONS]; + ULONG m_ulCreateStreamAverage[TEST_MAX_ITERATIONS]; + ULONG m_ulCreateStreamTotal[TEST_MAX_ITERATIONS]; + + ULONG m_ulStreamWriteMin[TEST_MAX_ITERATIONS]; + ULONG m_ulStreamWriteMax[TEST_MAX_ITERATIONS]; + ULONG m_ulStreamWriteAverage[TEST_MAX_ITERATIONS]; + ULONG m_ulStreamWriteTotal[TEST_MAX_ITERATIONS]; + + ULONG m_ulStreamReleaseMin[TEST_MAX_ITERATIONS]; + ULONG m_ulStreamReleaseMax[TEST_MAX_ITERATIONS]; + ULONG m_ulStreamReleaseAverage[TEST_MAX_ITERATIONS]; + ULONG m_ulStreamReleaseTotal[TEST_MAX_ITERATIONS]; + + ULONG m_ulDestroyElementMin[TEST_MAX_ITERATIONS]; + ULONG m_ulDestroyElementMax[TEST_MAX_ITERATIONS]; + ULONG m_ulDestroyElementAverage[TEST_MAX_ITERATIONS]; + ULONG m_ulDestroyElementTotal[TEST_MAX_ITERATIONS]; + + ULONG m_ulStorageCommitMin[MAX_NESTING][TEST_MAX_ITERATIONS]; + ULONG m_ulStorageCommitMax[MAX_NESTING][TEST_MAX_ITERATIONS]; + ULONG m_ulStorageCommitAverage[TEST_MAX_ITERATIONS]; + ULONG m_ulStorageCommitTotal[TEST_MAX_ITERATIONS]; + + + ULONG m_ulTotal[TEST_MAX_ITERATIONS]; + + + BYTE *m_pbData; // data to be written + + OLECHAR m_pwszFile[MAX_PATH]; // file name to be written for OLE + TCHAR m_pszFile[MAX_PATH]; // file name to be written for WIN32 + TCHAR m_pszFileMode[15]; // file access mode (TRANSACTED / DIRECTED) + + ULONG m_flCreateFlags; // Creation flag (STGM_TRANSACTED / STGM_DIRECT) + BOOL m_bDelete; // flag if we are to delete streams + + ULONG m_cbSize; // number of bytes in data + + ULONG m_cBranching; // Branching factor + ULONG m_cNesting; // nesting factor + ULONG m_cParentFactor; + + + ULONG m_cStorages; // number of storages + ULONG m_cStreams; // number of streams + LPSTORAGE *m_piStorages; // array of storages + + LPMALLOC m_piMalloc; // pointer of task allocator. + +}; + +#endif |