os/graphics/graphicsresourceservices/graphicsresource/test/tsgdriver.cpp
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
//
sl@0
    15
sl@0
    16
/**
sl@0
    17
 @file
sl@0
    18
 @test
sl@0
    19
 @internalComponent - Internal Symbian test code 
sl@0
    20
*/
sl@0
    21
sl@0
    22
#include "tsgdriver.h"
sl@0
    23
sl@0
    24
CTSgDriver::CTSgDriver()
sl@0
    25
	{
sl@0
    26
	INFO_PRINTF1(_L("Graphics resource component test - SgDriver Tests.\r\n"));
sl@0
    27
	}
sl@0
    28
sl@0
    29
CTSgDriver::~CTSgDriver()
sl@0
    30
	{
sl@0
    31
	}
sl@0
    32
sl@0
    33
/** 
sl@0
    34
Overrides of base class pure virtual
sl@0
    35
Our implementation only gets called if the base class doTestStepPreambleL() did
sl@0
    36
not leave. That being the case, the current test result value will be EPass.
sl@0
    37
@leave Gets system wide error code
sl@0
    38
@return TVerdict code
sl@0
    39
*/
sl@0
    40
TVerdict CTSgDriver::doTestStepL()
sl@0
    41
	{	
sl@0
    42
	SetTestStepID(_L("GRAPHICS-RESOURCE-0001"));
sl@0
    43
	INFO_PRINTF1(_L("Graphics resource component initialization and shutdown.\r\n"));
sl@0
    44
	TestInitializationAndShutdown();
sl@0
    45
	RecordTestResultL();
sl@0
    46
sl@0
    47
	SetTestStepID(_L("GRAPHICS-RESOURCE-0002"));
sl@0
    48
	INFO_PRINTF1(_L("Graphics resource component shutdown multiple time.\r\n"));
sl@0
    49
	TestInitializeShutdownManyTimes();
sl@0
    50
	RecordTestResultL();
sl@0
    51
	
sl@0
    52
	SetTestStepID(_L("GRAPHICS-RESOURCE-0022"));
sl@0
    53
	INFO_PRINTF1(_L("Shutting down an uninitialised driver.\r\n"));
sl@0
    54
	TestShutdownUninitialized();
sl@0
    55
	RecordTestResultL();
sl@0
    56
sl@0
    57
#ifdef _DEBUG
sl@0
    58
	SetTestStepID(_L("GRAPHICS-RESOURCE-0078"));
sl@0
    59
	INFO_PRINTF1(_L("SgDriver panic test - private heap memory leak.\r\n"));
sl@0
    60
	TestDriverMemoryLeakL();
sl@0
    61
	RecordTestResultL();
sl@0
    62
#ifndef __WINS__
sl@0
    63
	SetTestStepID(_L("GRAPHICS-RESOURCE-0023"));
sl@0
    64
	INFO_PRINTF1(_L("Shutting down without closing all resources.\r\n"));
sl@0
    65
	TestShutdownMemoryLeakL();
sl@0
    66
	RecordTestResultL();
sl@0
    67
#endif
sl@0
    68
	SetTestStepID(_L("GRAPHICS-RESOURCE-0079"));
sl@0
    69
	INFO_PRINTF1(_L("SgDriver panic test - ResourceCount() without initialising the driver.\r\n"));
sl@0
    70
	TestPanicResourceCountNoDriverL();
sl@0
    71
	RecordTestResultL();
sl@0
    72
	
sl@0
    73
	SetTestStepID(_L("GRAPHICS-RESOURCE-0090"));
sl@0
    74
	INFO_PRINTF1(_L("SgDriver panic test - AllocMarkStart() without initialising the driver.\r\n"));
sl@0
    75
	TestPanicAllocMarkStartNoDriverL();
sl@0
    76
	RecordTestResultL();
sl@0
    77
	
sl@0
    78
	SetTestStepID(_L("GRAPHICS-RESOURCE-0091"));
sl@0
    79
	INFO_PRINTF1(_L("SgDriver panic test - AllocMarkEnd() without initialising the driver.\r\n"));
sl@0
    80
	TestPanicAllocMarkEndNoDriverL();
sl@0
    81
	RecordTestResultL();
sl@0
    82
	
sl@0
    83
	SetTestStepID(_L("GRAPHICS-RESOURCE-0092"));
sl@0
    84
	INFO_PRINTF1(_L("SgDriver panic test - SetAllocFail() without initialising the driver.\r\n"));
sl@0
    85
	TestPanicSetAllocFailNoDriverL();
sl@0
    86
	RecordTestResultL();
sl@0
    87
#else
sl@0
    88
	INFO_PRINTF1(_L("Warning: Skipping the panic tests. \r\n"));
sl@0
    89
#endif	
sl@0
    90
	return TestStepResult();
sl@0
    91
	}
sl@0
    92
sl@0
    93
sl@0
    94
/**
sl@0
    95
@SYMTestCaseID			GRAPHICS-RESOURCE-0001
sl@0
    96
@SYMTestCaseDesc		Initialises and shuts down the graphics resource driver.
sl@0
    97
@SYMPREQ				PREQ39
sl@0
    98
@SYMREQ 				REQ8809
sl@0
    99
@SYMREQ 				REQ9175
sl@0
   100
@SYMREQ					REQ9224 
sl@0
   101
@SYMREQ					REQ9233  
sl@0
   102
@SYMREQ					REQ9234
sl@0
   103
@SYMFssID				SgDriver::Open()\n 
sl@0
   104
						RSgImage::Create(const TSgImageInfo&, const TAny*, TInt)\n
sl@0
   105
						SgDriver::Close()\n
sl@0
   106
						SgDriver::ResourceCount()\n
sl@0
   107
@SYMTestPriority		Critical
sl@0
   108
@SYMTestType			Unit Test
sl@0
   109
@SYMTestPurpose			To ensure the graphics resource driver can be initialised successfully
sl@0
   110
@SYMTestActions			Call SgDriver::Open() to start the graphics resource driver, then try 
sl@0
   111
						to call RSgImage::Create(). Call SgDriver::Open() the second time 
sl@0
   112
						and then call RSgImage::Create() again. Close the driver and call 
sl@0
   113
						RSgImage::Create(). Close the driver.
sl@0
   114
@SYMTestExpectedResults	RSgImage::Create() should return:\n
sl@0
   115
						\t 1. KErrNone \n
sl@0
   116
						\t 2. KErrNone \n
sl@0
   117
						\t 3. KErrNone \n
sl@0
   118
						SgDriver::Open() should return KErrNone both times.						
sl@0
   119
@SYMTestStatus			Implemented 
sl@0
   120
 */	
sl@0
   121
void CTSgDriver::TestInitializationAndShutdown()
sl@0
   122
	{
sl@0
   123
	__UHEAP_MARK;
sl@0
   124
	
sl@0
   125
	TSgImageInfo info;
sl@0
   126
	info.iSizeInPixels = TSize(8, 8);
sl@0
   127
	info.iUsage = ESgUsageDirectGdiSource;
sl@0
   128
	info.iPixelFormat = EUidPixelFormatRGB_565;
sl@0
   129
	info.iCpuAccess = ESgCpuAccessReadWrite;
sl@0
   130
	info.iShareable = ETrue;
sl@0
   131
	
sl@0
   132
	RSgImage image;	
sl@0
   133
	TEST(KErrNone == SgDriver::Open());	
sl@0
   134
	TEST(KErrNone == image.Create(info, KImageData, 16));	
sl@0
   135
	TEST(0 < SgDriver::ResourceCount());
sl@0
   136
	image.Close();
sl@0
   137
	
sl@0
   138
	TEST(KErrNone == SgDriver::Open());	
sl@0
   139
	TEST(KErrNone == image.Create(info, KImageData, 16));	
sl@0
   140
	image.Close();
sl@0
   141
	
sl@0
   142
	SgDriver::Close();
sl@0
   143
	TEST(KErrNone == image.Create(info, KImageData, 16));	
sl@0
   144
	image.Close();
sl@0
   145
	
sl@0
   146
	TEST(0 == SgDriver::ResourceCount());
sl@0
   147
	SgDriver::Close();
sl@0
   148
	
sl@0
   149
	__UHEAP_MARKEND;
sl@0
   150
	}
sl@0
   151
sl@0
   152
sl@0
   153
/**
sl@0
   154
@SYMTestCaseID			GRAPHICS-RESOURCE-0002
sl@0
   155
@SYMTestCaseDesc		Shuts down graphics resource driver multiple times.
sl@0
   156
@SYMPREQ				PREQ39
sl@0
   157
@SYMREQ 				REQ8809
sl@0
   158
@SYMREQ 				REQ9175
sl@0
   159
@SYMREQ					REQ9224 
sl@0
   160
@SYMREQ					REQ9233  
sl@0
   161
@SYMREQ					REQ9234
sl@0
   162
@SYMFssID				SgDriver::Open()\n 
sl@0
   163
						SgDriver::Close()\n 
sl@0
   164
						SgDriver::ResourceCount()\n
sl@0
   165
						RSgImage::Create(const TSgImageInfo&, const TAny*, TInt)
sl@0
   166
@SYMTestPriority		Critical
sl@0
   167
@SYMTestType			Unit Test
sl@0
   168
@SYMTestPurpose			To ensure the graphics resource driver could be shut down multiple times.
sl@0
   169
@SYMTestActions			Initialise the graphics resource driver. Create an image then close it.
sl@0
   170
						Shutdown the driver twice. Open and driver and create an image. Close the
sl@0
   171
						image and shutdown the driver.
sl@0
   172
@SYMTestExpectedResults	The graphics resource driver is successfully shut down. The calls to
sl@0
   173
						RSgImage::Create() should return:\n
sl@0
   174
						\t 1. KErrNone\n
sl@0
   175
						\t 2. KErrNone\n
sl@0
   176
@SYMTestStatus			Implemented 
sl@0
   177
 */
sl@0
   178
void CTSgDriver::TestInitializeShutdownManyTimes()
sl@0
   179
	{
sl@0
   180
	__UHEAP_MARK;
sl@0
   181
	
sl@0
   182
	TEST(KErrNone == SgDriver::Open());	
sl@0
   183
	
sl@0
   184
	TSgImageInfo info;
sl@0
   185
	info.iSizeInPixels = TSize(8, 8);
sl@0
   186
	info.iUsage = ESgUsageDirectGdiSource;
sl@0
   187
	info.iPixelFormat = EUidPixelFormatRGB_565;
sl@0
   188
	info.iCpuAccess = ESgCpuAccessReadWrite;
sl@0
   189
	info.iShareable = ETrue;
sl@0
   190
	
sl@0
   191
	RSgImage image;
sl@0
   192
	
sl@0
   193
	TEST(KErrNone == image.Create(info, KImageData, 16));	
sl@0
   194
	image.Close();
sl@0
   195
	
sl@0
   196
	SgDriver::Close();
sl@0
   197
	SgDriver::Close();
sl@0
   198
	
sl@0
   199
	TEST(KErrNone == SgDriver::Open());	
sl@0
   200
	TEST(KErrNone == image.Create(info, KImageData, 16));	
sl@0
   201
	image.Close();
sl@0
   202
	
sl@0
   203
	TEST(0 == SgDriver::ResourceCount());
sl@0
   204
	SgDriver::Close();
sl@0
   205
	
sl@0
   206
	__UHEAP_MARKEND;
sl@0
   207
	}
sl@0
   208
sl@0
   209
sl@0
   210
/**
sl@0
   211
@SYMTestCaseID			GRAPHICS-RESOURCE-0022
sl@0
   212
@SYMTestCaseDesc		Shuts down an uninitialised driver.
sl@0
   213
@SYMPREQ				PREQ39
sl@0
   214
@SYMREQ 				REQ8809
sl@0
   215
@SYMREQ 				REQ9175
sl@0
   216
@SYMFssID				SgDriver::Close()
sl@0
   217
@SYMTestPriority		Critical
sl@0
   218
@SYMTestType			Unit Test
sl@0
   219
@SYMTestPurpose			To ensure invalid Close() calls on the driver will cause no errors.
sl@0
   220
@SYMTestActions			Call SgDriver::Close() several times without calling SgDriver::Open().
sl@0
   221
@SYMTestExpectedResults	No errors should be returned.
sl@0
   222
@SYMTestStatus			Implemented 
sl@0
   223
 */	
sl@0
   224
void CTSgDriver::TestShutdownUninitialized()
sl@0
   225
	{
sl@0
   226
	__UHEAP_MARK;	
sl@0
   227
	
sl@0
   228
	SgDriver::Close();
sl@0
   229
	SgDriver::Close();
sl@0
   230
	SgDriver::Close();
sl@0
   231
	
sl@0
   232
	__UHEAP_MARKEND;
sl@0
   233
	}
sl@0
   234
sl@0
   235
/**
sl@0
   236
@SYMTestCaseID			GRAPHICS-RESOURCE-0023
sl@0
   237
@SYMTestCaseDesc		Shuts down the driver without closing all resources.
sl@0
   238
@SYMPREQ				PREQ39
sl@0
   239
@SYMREQ 				REQ8809
sl@0
   240
@SYMREQ 				REQ9175
sl@0
   241
@SYMREQ					REQ9224 
sl@0
   242
@SYMREQ					REQ9233  
sl@0
   243
@SYMREQ					REQ9234
sl@0
   244
@SYMFssID				SgDriver::Open()\n 
sl@0
   245
						RSgImage::Create(const TSgImageInfo&, const TAny*, TInt)\n 
sl@0
   246
						SgDriver::Close()
sl@0
   247
@SYMTestPriority		Critical
sl@0
   248
@SYMTestType			Unit Test
sl@0
   249
@SYMTestPurpose			To ensure calling Close() without closing all resources will cause a panic.
sl@0
   250
@SYMTestActions			Initialise the graphics resource component and create an image in a second thread. 
sl@0
   251
						Try to shutdown the component.
sl@0
   252
@SYMTestExpectedResults The function should panic in the second thread with panic code SGRES 1(ESgPanicUnclosedResources).
sl@0
   253
@SYMTestStatus			Implemented 
sl@0
   254
 */
sl@0
   255
void CTSgDriver::TestShutdownMemoryLeakL()
sl@0
   256
	{
sl@0
   257
	TestOpenDriverL();
sl@0
   258
	//run the test in another process
sl@0
   259
	TSgImageInfo info;
sl@0
   260
	TSgresTestInfo processInfo = {KSgNullDrawableId, info, 0, ESgresSecondProcessPanicDriverUnclosedResources, ETrue};
sl@0
   261
	TExitCategoryName exitCategoryName(KSgTestGenericPanicCategory);
sl@0
   262
	_LIT(KTestName, "TestShutdownMemoryLeakL");
sl@0
   263
	CreateSecondProcessAndCheckPanicL(processInfo, 1, exitCategoryName, KTestName);
sl@0
   264
 	TestCloseDriver();
sl@0
   265
	}
sl@0
   266
sl@0
   267
/**
sl@0
   268
@SYMTestCaseID			GRAPHICS-RESOURCE-0078
sl@0
   269
@SYMTestCaseDesc		Calls SgDriver::AllocMarkEnd() without shutting down all the resources.
sl@0
   270
@SYMPREQ				PREQ39
sl@0
   271
@SYMREQ 				REQ8809
sl@0
   272
@SYMREQ 				REQ9175
sl@0
   273
@SYMREQ					REQ9224 
sl@0
   274
@SYMREQ					REQ9233  
sl@0
   275
@SYMREQ					REQ9234
sl@0
   276
@SYMFssID				SgDriver::AllocMarkStart()\n
sl@0
   277
						SgDriver::AllocMarkEnd()
sl@0
   278
@SYMTestPriority		Critical
sl@0
   279
@SYMTestType			Unit Test
sl@0
   280
@SYMTestPurpose			To ensure calling SgDriver::AllocMarkEnd() without closing all resources will cause a panic.
sl@0
   281
@SYMTestActions			Initialise the graphics resource component in a second process and call SgDriver::AllocMarkStart().
sl@0
   282
						Create an image and call SgDriver::AllocMarkEnd().
sl@0
   283
@SYMTestExpectedResults The function should panic in the second process with panic code SGRES-ADAPTER 0.
sl@0
   284
@SYMTestStatus			Implemented 
sl@0
   285
 */
sl@0
   286
void CTSgDriver::TestDriverMemoryLeakL()
sl@0
   287
	{
sl@0
   288
	TestOpenDriverL();
sl@0
   289
	//run the test in another process
sl@0
   290
	TSgImageInfo info;
sl@0
   291
	TSgresTestInfo processInfo = {KSgNullDrawableId, info, 0, ESgresSecondProcessPanicMemoryLeak, ETrue};
sl@0
   292
	TExitCategoryName exitCategoryName(_L("SGALLOC"));
sl@0
   293
	_LIT(KTestName, "TestDriverMemoryLeakL");
sl@0
   294
	CreateSecondProcessAndCheckPanicL(processInfo, 0, exitCategoryName, KTestName);
sl@0
   295
 	TestCloseDriver();
sl@0
   296
	}
sl@0
   297
sl@0
   298
sl@0
   299
/**
sl@0
   300
@SYMTestCaseID			GRAPHICS-RESOURCE-0079
sl@0
   301
@SYMTestCaseDesc		Calls SgDriver::ResourceCount() without initialising the driver.
sl@0
   302
@SYMPREQ				PREQ39
sl@0
   303
@SYMREQ 				REQ8809
sl@0
   304
@SYMREQ 				REQ9175
sl@0
   305
@SYMFssID				SgDriver::ResourceCount())\n 
sl@0
   306
@SYMTestPriority		Critical
sl@0
   307
@SYMTestType			Unit Test
sl@0
   308
@SYMTestPurpose			To ensure calling SgDriver::ResourceCount() without initialising
sl@0
   309
						the driver first will cause a panic in the debug mode.
sl@0
   310
@SYMTestActions			Do not Initialise the graphics resource component and call 
sl@0
   311
						SgDriver::ResourceCount() in a second thread. 
sl@0
   312
@SYMTestExpectedResults The function should panic in the second thread with panic code SGRES 5 (ESgPanicNoDriver).
sl@0
   313
@SYMTestStatus			Implemented 
sl@0
   314
 */
sl@0
   315
void CTSgDriver::TestPanicResourceCountNoDriverL()
sl@0
   316
	{
sl@0
   317
	TSgImageInfo info;
sl@0
   318
	TSgresTestInfo threadInfo = {KSgNullDrawableId, info, 0, ESgresSecondThreadPanicResourceCountNoDriver, ETrue};
sl@0
   319
 	TExitCategoryName exitCategoryName(KSgTestGenericPanicCategory);
sl@0
   320
	_LIT(KTestName, "TestPanicResourceCountNoDriverL");
sl@0
   321
 	CreateSecondThreadAndCheckPanicL(threadInfo, 5, exitCategoryName, KTestName);
sl@0
   322
	}
sl@0
   323
sl@0
   324
/**
sl@0
   325
@SYMTestCaseID			GRAPHICS-RESOURCE-0090
sl@0
   326
@SYMTestCaseDesc		Calls SgDriver::AllocMarkStart() without initialising the driver.
sl@0
   327
@SYMPREQ				PREQ39
sl@0
   328
@SYMREQ 				REQ8809
sl@0
   329
@SYMREQ 				REQ9175
sl@0
   330
@SYMFssID				SgDriver::AllocMarkStart())\n 
sl@0
   331
@SYMTestPriority		Critical
sl@0
   332
@SYMTestType			Unit Test
sl@0
   333
@SYMTestPurpose			To ensure calling SgDriver::AllocMarkStart() without initialising
sl@0
   334
						the driver first will cause a panic in the debug mode.
sl@0
   335
@SYMTestActions			Do not Initialise the graphics resource component and call 
sl@0
   336
						SgDriver::AllocMarkStart() in a second thread. 
sl@0
   337
@SYMTestExpectedResults The function should panic in the second thread with panic code SGRES 5 (ESgPanicNoDriver).
sl@0
   338
@SYMTestStatus			Implemented 
sl@0
   339
 */
sl@0
   340
void CTSgDriver::TestPanicAllocMarkStartNoDriverL()
sl@0
   341
	{
sl@0
   342
	TSgImageInfo info;
sl@0
   343
	TSgresTestInfo threadInfo = {KSgNullDrawableId, info, 0, ESgresSecondThreadPanicAllocMarkStartNoDriver, ETrue};
sl@0
   344
 	TExitCategoryName exitCategoryName(KSgTestGenericPanicCategory);
sl@0
   345
	_LIT(KTestName, "TestPanicAllocMarkStartNoDriverL");
sl@0
   346
 	CreateSecondThreadAndCheckPanicL(threadInfo, 5, exitCategoryName, KTestName);
sl@0
   347
	}
sl@0
   348
sl@0
   349
/**
sl@0
   350
@SYMTestCaseID			GRAPHICS-RESOURCE-0091
sl@0
   351
@SYMTestCaseDesc		Calls SgDriver::AllocMarkEnd() without initialising the driver.
sl@0
   352
@SYMPREQ				PREQ39
sl@0
   353
@SYMREQ 				REQ8809
sl@0
   354
@SYMREQ 				REQ9175
sl@0
   355
@SYMFssID				SgDriver::AllocMarkEnd())\n 
sl@0
   356
@SYMTestPriority		Critical
sl@0
   357
@SYMTestType			Unit Test
sl@0
   358
@SYMTestPurpose			To ensure calling SgDriver::AllocMarkEnd() without initialising
sl@0
   359
						the driver first will cause a panic in the debug mode.
sl@0
   360
@SYMTestActions			Do not Initialise the graphics resource component and call 
sl@0
   361
						SgDriver::AllocMarkEnd() in a second thread. 
sl@0
   362
@SYMTestExpectedResults The function should panic in the second thread with panic code SGRES 5 (ESgPanicNoDriver).
sl@0
   363
@SYMTestStatus			Implemented 
sl@0
   364
 */
sl@0
   365
void CTSgDriver::TestPanicAllocMarkEndNoDriverL()
sl@0
   366
	{
sl@0
   367
	TSgImageInfo info;
sl@0
   368
	TSgresTestInfo threadInfo = {KSgNullDrawableId, info, 0, ESgresSecondThreadPanicAllocMarkEndNoDriver, ETrue};
sl@0
   369
 	TExitCategoryName exitCategoryName(KSgTestGenericPanicCategory);
sl@0
   370
	_LIT(KTestName, "TestPanicAllocMarkEndNoDriverL");
sl@0
   371
 	CreateSecondThreadAndCheckPanicL(threadInfo, 5, exitCategoryName, KTestName);
sl@0
   372
	}
sl@0
   373
sl@0
   374
/**
sl@0
   375
@SYMTestCaseID			GRAPHICS-RESOURCE-0092
sl@0
   376
@SYMTestCaseDesc		Calls SgDriver::SetAllocFail() without initialising the driver.
sl@0
   377
@SYMPREQ				PREQ39
sl@0
   378
@SYMREQ 				REQ8809
sl@0
   379
@SYMREQ 				REQ9175
sl@0
   380
@SYMFssID				SgDriver::SetAllocFail())\n 
sl@0
   381
@SYMTestPriority		Critical
sl@0
   382
@SYMTestType			Unit Test
sl@0
   383
@SYMTestPurpose			To ensure calling SgDriver::SetAllocFail() without initialising
sl@0
   384
						the driver first will cause a panic in the debug mode.
sl@0
   385
@SYMTestActions			Do not Initialise the graphics resource component and call 
sl@0
   386
						SgDriver::SetAllocFail() in a second thread. 
sl@0
   387
@SYMTestExpectedResults The function should panic in the second thread with panic code SGRES 5 (ESgPanicNoDriver).
sl@0
   388
@SYMTestStatus			Implemented 
sl@0
   389
 */
sl@0
   390
void CTSgDriver::TestPanicSetAllocFailNoDriverL()
sl@0
   391
	{
sl@0
   392
	TSgImageInfo info;
sl@0
   393
	TSgresTestInfo threadInfo = {KSgNullDrawableId, info, 0, ESgresSecondThreadPanicSetAllocFailNoDriver, ETrue};
sl@0
   394
 	TExitCategoryName exitCategoryName(KSgTestGenericPanicCategory);
sl@0
   395
	_LIT(KTestName, "TestPanicSetAllocFailNoDriverL");
sl@0
   396
 	CreateSecondThreadAndCheckPanicL(threadInfo, 5, exitCategoryName, KTestName);
sl@0
   397
	}