os/kernelhwsrv/kerneltest/e32test/symc/tsymc.cpp
changeset 1 260cb5ec6c19
parent 0 bde4ae8d615e
     1.1 --- a/os/kernelhwsrv/kerneltest/e32test/symc/tsymc.cpp	Fri Jun 15 03:10:57 2012 +0200
     1.2 +++ b/os/kernelhwsrv/kerneltest/e32test/symc/tsymc.cpp	Tue Jun 10 14:32:02 2014 +0200
     1.3 @@ -7,6 +7,11 @@
     1.4  #include <e32base.h>
     1.5  #include <f32file.h>
     1.6  
     1.7 +#define TEST_SUSTAIN
     1.8 +
     1.9 +TTime startTime;
    1.10 +
    1.11 +
    1.12  
    1.13  TInt IdleCallBack(TAny* aParam)
    1.14  	{
    1.15 @@ -14,16 +19,10 @@
    1.16  
    1.17  	count++;
    1.18  
    1.19 -	if (count>5)
    1.20 -		{
    1.21 -		//Stop it there
    1.22 -		CActiveScheduler::Stop();
    1.23 -		return EFalse;
    1.24 -		}
    1.25 -
    1.26 -	
    1.27 +    //Only do this on first run
    1.28  	if (count==1)
    1.29  		{
    1.30 +        startTime.HomeTime();
    1.31  		//Quick file system test
    1.32  		RFs fs;
    1.33  		User::LeaveIfError(fs.Connect());
    1.34 @@ -48,11 +47,11 @@
    1.35  				//file.Close();
    1.36  				}
    1.37  
    1.38 -			//Test write			
    1.39 +			//Test write
    1.40  			TInt writeErr=file.Write(KWriteThat);
    1.41  			file.Close();
    1.42  			}
    1.43 -		
    1.44 +
    1.45  		//Test file creation
    1.46  		TInt createErr=file.Create(fs,KFileNameToCreate,EFileWrite);
    1.47  		if (!createErr)
    1.48 @@ -66,9 +65,23 @@
    1.49  		CleanupStack::PopAndDestroy(1,&fs);
    1.50  		}
    1.51  
    1.52 +    //Check our exit condition
    1.53 +    TTime time;
    1.54 +    time.HomeTime();
    1.55 +    TTimeIntervalSeconds seconds;
    1.56 +    User::LeaveIfError(time.SecondsFrom(startTime,seconds));
    1.57 +
    1.58 +    //Just run for a few seconds
    1.59 +    if (seconds.Int()>5)
    1.60 +    {
    1.61 +        //Stop it there
    1.62 +        CActiveScheduler::Stop();
    1.63 +        return EFalse;
    1.64 +    }
    1.65 +
    1.66  
    1.67  	//Keep playing
    1.68 -	return ETrue;		
    1.69 +	return ETrue;
    1.70  	}
    1.71  
    1.72  
    1.73 @@ -89,7 +102,7 @@
    1.74  	CleanupStack::PushL(base);
    1.75  	CleanupStack::PopAndDestroy(2,other);
    1.76  	//delete base;
    1.77 -	
    1.78 +
    1.79  	//Testing cleanup stack
    1.80  	TRAPD(err,
    1.81  	base=new(ELeave) CBase();
    1.82 @@ -121,14 +134,14 @@
    1.83  
    1.84     //TODO:
    1.85     //RHashSet<TUint32> hash;
    1.86 -	
    1.87 +
    1.88     //Testing AOs
    1.89     //Install an active scheduler
    1.90     CActiveScheduler* activeScheduler = new(ELeave) CActiveScheduler;
    1.91     CActiveScheduler::Install(activeScheduler);
    1.92     CleanupStack::PushL(activeScheduler);
    1.93  
    1.94 -   CIdle* idle = CIdle::NewL(CActive::EPriorityIdle);	
    1.95 +   CIdle* idle = CIdle::NewL(CActive::EPriorityIdle);
    1.96     CleanupStack::PushL(idle);
    1.97  
    1.98     idle->Start(TCallBack(IdleCallBack,NULL));
    1.99 @@ -150,7 +163,7 @@
   1.100  	{
   1.101  	//What do we do then
   1.102  	//SetReturnedHandle
   1.103 -	
   1.104 +
   1.105  	__UHEAP_MARK;
   1.106  
   1.107  	//CBase* base=new(ELeave) CBase();
   1.108 @@ -177,11 +190,10 @@
   1.109  
   1.110  	TInt err=KErrNone;
   1.111  	TRAP(err,MainL());
   1.112 -	
   1.113 +
   1.114  	delete cleanupStack;
   1.115  
   1.116  	__UHEAP_MARKEND;
   1.117  
   1.118  	return err;
   1.119 -	}
   1.120 -
   1.121 +	}
   1.122 \ No newline at end of file