Update contrib.
16 TInt IdleCallBack(TAny* aParam)
22 //Only do this on first run
26 //Quick file system test
28 User::LeaveIfError(fs.Connect());
29 CleanupClosePushL(fs);
31 _LIT(KFileName,"c:\\tsymc\\tsymc.txt");
32 _LIT(KFileNameToCreate,"c:\\tsymc\\created.txt");
33 _LIT8(KWriteThat,"Write is working too!\n");
36 TInt err=file.Open(fs,KFileName,EFileRead|EFileWrite);
40 TInt sizeErr=file.Size(size);
43 HBufC8* content=HBufC8::NewLC(size);
44 TPtr8 ptr=content->Des();
45 TInt readErr=file.Read(ptr,size);
46 CleanupStack::PopAndDestroy(1,content);
51 TInt writeErr=file.Write(KWriteThat);
56 TInt createErr=file.Create(fs,KFileNameToCreate,EFileWrite);
59 TInt writeErr=file.Write(KWriteThat);
65 CleanupStack::PopAndDestroy(1,&fs);
68 //Check our exit condition
71 TTimeIntervalSeconds seconds;
72 User::LeaveIfError(time.SecondsFrom(startTime,seconds));
74 //Just run for a few seconds
78 CActiveScheduler::Stop();
89 class CBaseTest: public CBase
98 //Testing CBase object
99 CBase* other=new(ELeave) CBase();
100 CleanupStack::PushL(other);
101 CBase* base=new(ELeave) CBase();
102 CleanupStack::PushL(base);
103 CleanupStack::PopAndDestroy(2,other);
106 //Testing cleanup stack
108 base=new(ELeave) CBase();
109 CleanupStack::PushL(base);
110 User::Leave(KErrCancel);
113 ASSERT(err==KErrCancel);
115 //Testing alloc failure
118 TUint8* shouldFail=new(ELeave) TUint8[1024*1024*10];
123 ASSERT(err==KErrNoMemory);
125 //Testing alloc failure without leave
126 TUint8* tooLarge=new TUint8[1024*1024*10];
127 ASSERT(tooLarge==NULL);
130 //Testing simple alloc of T class
131 TUint8* tinyAlloc=new TUint8;
132 ASSERT(tinyAlloc!=NULL);
136 //RHashSet<TUint32> hash;
139 //Install an active scheduler
140 CActiveScheduler* activeScheduler = new(ELeave) CActiveScheduler;
141 CActiveScheduler::Install(activeScheduler);
142 CleanupStack::PushL(activeScheduler);
144 CIdle* idle = CIdle::NewL(CActive::EPriorityIdle);
145 CleanupStack::PushL(idle);
147 idle->Start(TCallBack(IdleCallBack,NULL));
149 CActiveScheduler::Start();
151 CleanupStack::PopAndDestroy(idle);
152 CActiveScheduler::Install(NULL);
153 CleanupStack::PopAndDestroy(activeScheduler);
156 //Testing unbalanced cleanup stack
157 //base=new(ELeave) CBase();
158 //CleanupStack::PushL(base);
162 GLDEF_C TInt E32Main()
169 //CBase* base=new(ELeave) CBase();
170 CBase* base=new CBase();
173 CBaseTest* baseTest=new CBaseTest();
176 HBufC* buf=HBufC::New(10);
179 CArrayFix<TInt>* active=new CArrayFixFlat<TInt>(10);
182 TUint8* test=new TUint8[1024*9];
185 CTrapCleanup* cleanupStack = CTrapCleanup::New();