kerneltest/e32test/resourceman/t_rescontrolcli.cpp
changeset 135 5e441a173c63
parent 121 661475905584
child 244 a77889bee936
equal deleted inserted replaced
134:95847726fe57 135:5e441a173c63
    25 #include <e32hal.h>
    25 #include <e32hal.h>
    26 #include <e32math.h>
    26 #include <e32math.h>
    27 #include <e32def.h>
    27 #include <e32def.h>
    28 #include <e32def_private.h>
    28 #include <e32def_private.h>
    29 #include "d_rescontrolcli.h"
    29 #include "d_rescontrolcli.h"
       
    30 
       
    31 #include <drivers/resourcecontrol_clientsettings.h>
       
    32 #include <drivers/resourcecontrol_settings.h>
    30 
    33 
    31 #define MAX_STATIC_RESOURCE_NUM 24 //Maximum number of static resources in simulated PSL
    34 #define MAX_STATIC_RESOURCE_NUM 24 //Maximum number of static resources in simulated PSL
    32 #define MAX_STATIC_DEPENDENCY_RESOURCE_NUM 7 //Maximum number of static dependency resources in simulated PSL
    35 #define MAX_STATIC_DEPENDENCY_RESOURCE_NUM 7 //Maximum number of static dependency resources in simulated PSL
    33 #define DEPENDENCY_RESOURCE_BIT_MASK 0x00010000
    36 #define DEPENDENCY_RESOURCE_BIT_MASK 0x00010000
    34 #define DYNAMIC_RESOURCE_BIT_MASK 0x00020000
    37 #define DYNAMIC_RESOURCE_BIT_MASK 0x00020000
  4235 		RmTest.DeRegisterClient(count);
  4238 		RmTest.DeRegisterClient(count);
  4236 	   }
  4239 	   }
  4237 	Clients.Close();
  4240 	Clients.Close();
  4238 	}
  4241 	}
  4239 
  4242 
       
  4243 void TestClientSettings(TInt aClientToken, TUint aExpectedBase)
       
  4244 	{
       
  4245 	TUint clientBase = ElementId_ClientSettingBase(aClientToken);
       
  4246 	test(clientBase == aExpectedBase);
       
  4247 
       
  4248 	HCR::TElementId Id;
       
  4249 
       
  4250 	Id = ElementId_ClientName(aClientToken);
       
  4251 	test(Id == aExpectedBase);
       
  4252 
       
  4253 	Id = ElementId_ClientPropertyFlag(aClientToken);
       
  4254 	test(Id == (aExpectedBase + 1));
       
  4255 
       
  4256 	Id = ElementId_ClientPreallocation(aClientToken);
       
  4257 	test(Id == (aExpectedBase + 2));
       
  4258 
       
  4259 	TInt firstResource = 0;
       
  4260 	Id = ElementId_ClientStaticResource(aClientToken, firstResource);
       
  4261 	test(Id == (aExpectedBase + 3));
       
  4262 	
       
  4263 	TInt thirdResource = 2;
       
  4264 	Id = ElementId_ClientStaticResource(aClientToken, thirdResource);
       
  4265 	test(Id == (aExpectedBase + 5));
       
  4266 	}
       
  4267 	
       
  4268 void TestDynamicResourceSettings(TInt aDynamicResource,  TUint aExpectedBase)
       
  4269 	{
       
  4270 	TUint dynamicResourceBase = ElementId_DynamicResourceBase(aDynamicResource);
       
  4271 	test(dynamicResourceBase == aExpectedBase);
       
  4272 	
       
  4273 	HCR::TElementId Id;	
       
  4274 	
       
  4275 	Id = ElementId_DynamicResourceName(aDynamicResource);
       
  4276 	test(Id == aExpectedBase);
       
  4277 
       
  4278 	Id = ElementId_DynamicResourcePropertyFlag(aDynamicResource);
       
  4279 	test(Id == (aExpectedBase + 1));
       
  4280 
       
  4281 	Id = ElementId_DynamicResourceMaxLevel(aDynamicResource);
       
  4282 	test(Id == (aExpectedBase + 2));
       
  4283 	
       
  4284 	Id = ElementId_DynamicResourceMinLevel(aDynamicResource);
       
  4285 	test(Id == (aExpectedBase + 3));
       
  4286 
       
  4287 	Id = ElementId_DynamicResourceDefaultLevel(aDynamicResource);
       
  4288 	test(Id == (aExpectedBase + 4));
       
  4289 
       
  4290 	Id = ElementId_DynamicResourceDependencyMask1(aDynamicResource);
       
  4291 	test(Id == (aExpectedBase + 5));
       
  4292 
       
  4293 	Id = ElementId_DynamicResourceDependencyMask2(aDynamicResource);
       
  4294 	test(Id == (aExpectedBase + 6));
       
  4295 
       
  4296 	Id = ElementId_DynamicResourceDependencyMask3(aDynamicResource);
       
  4297 	test(Id == (aExpectedBase + 7));
       
  4298 	}
       
  4299 	
       
  4300 void TestClientHCRSettingMacros()
       
  4301 	{
       
  4302 	TInt clientToken = 2; // Random token number
       
  4303 	TUint expectedBase = 80; // refer resourcecontrol_clientsettings.h for calculations
       
  4304 	TestClientSettings(clientToken, expectedBase);
       
  4305 	
       
  4306 	clientToken = 0;
       
  4307 	expectedBase = 16; // refer resourcecontrol_clientsettings.h for calculations
       
  4308 	TestClientSettings(clientToken, expectedBase);
       
  4309 
       
  4310 	// Dynamic Resource settings
       
  4311 	TUint dynamicResource = 3; // Random token number
       
  4312 	expectedBase = 131168; // refer resourcecontrol_clientsettings.h for calculations
       
  4313 	TestDynamicResourceSettings(dynamicResource, expectedBase);
       
  4314 	
       
  4315 	test.Printf(_L("Testing HCR client setting Macro's for Resource Manager successful \n"));
       
  4316 	}
       
  4317 	
  4240 GLDEF_C TInt E32Main()
  4318 GLDEF_C TInt E32Main()
  4241 	{
  4319 	{
  4242 	test.Title();
  4320 	test.Title();
  4243 	test.Start(_L("Testing Resource Manager...\n"));
  4321 	test.Start(_L("Testing Resource Manager...\n"));
       
  4322 	test.Printf(_L("Testing HCR client setting Macro's for Resource Manager \n"));
       
  4323 	TestClientHCRSettingMacros();
  4244 	//
  4324 	//
  4245 	test.Printf(_L("TEST SKIPPED UNTIL FIX FOR DEF145087 IS AVAILABLE TO PREVENT CRASHING\n"));
  4325 	test.Printf(_L("TEST SKIPPED UNTIL FIX FOR DEF145087 IS AVAILABLE TO PREVENT CRASHING\n"));
  4246 	test(0);
  4326 	test(0);
  4247 	//
  4327 	//
  4248 	test.Next(_L("Load Physical device"));
  4328 	test.Next(_L("Load Physical device"));