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