diff -r c1f20ce4abcf -r 3e88ff8f41d5 kerneltest/e32test/mmu/t_shadow.cpp --- a/kerneltest/e32test/mmu/t_shadow.cpp Tue Aug 31 16:34:26 2010 +0300 +++ b/kerneltest/e32test/mmu/t_shadow.cpp Wed Sep 01 12:34:56 2010 +0100 @@ -195,28 +195,25 @@ { test.Start(_L("Test allocating a shadow page when all free RAM is in 'chunk caches'")); + test.Next(_L("Load gobbler LDD")); + TInt r = User::LoadLogicalDevice(KGobblerLddFileName); + test_Value(r, r==KErrNone || r==KErrAlreadyExists); + RGobbler gobbler; + test_KErrNone(gobbler.Open()); + TUint32 taken = gobbler.GobbleRAM(496*1024*1024); + test.Printf(_L(" Gobbled: %dK\n"), taken/1024); + test.Printf(_L(" Free RAM 0x%08X bytes\n"),FreeRam()); + // Remove limit on max size of live list TUint originalMin = 0; TUint originalMax = 0; TUint currentSize = 0; - TInt r = DPTest::CacheSize(originalMin, originalMax, currentSize); + r = DPTest::CacheSize(originalMin, originalMax, currentSize); test_Value(r, r == KErrNone || r == KErrNotSupported); TBool resizeCache = r == KErrNone; if (resizeCache) test_KErrNone(DPTest::SetCacheSize(originalMin, KMaxTUint)); - test.Next(_L("Load gobbler LDD")); - r = User::LoadLogicalDevice(KGobblerLddFileName); - test_Value(r, r==KErrNone || r==KErrAlreadyExists); - RGobbler gobbler, gobbler2; - test_KErrNone(gobbler.Open()); - TUint32 taken = gobbler.GobbleRAM(496*1024*1024); - test.Printf(_L(" Gobbled: %dK\n"), taken/1024); - test.Printf(_L(" Free RAM 0x%08X bytes\n"),FreeRam()); - // Open 2nd globber here, while we still have some free pages. - test_KErrNone(gobbler2.Open()); - - // put all of free RAM in a chunk... TChunkCreateInfo createInfo; createInfo.SetCache(512*1024*1024); @@ -226,14 +223,7 @@ while(KErrNone==(r=testChunk.Commit(commitEnd,PageSize))) commitEnd += PageSize; test_Equal(KErrNoMemory,r); - - // Now we have some memory in a cache chunk ensure definitely no - // other free pages. - taken = gobbler2.GobbleRAM(0); - test.Printf(_L(" Gobbled: %dK\n"), taken/1024); - test_Equal(0, FreeRam()); - - + // no memory to allocate shadow page... test_Equal(KErrNoMemory,Shadow.Alloc(aPageAddr)); // unlock all of RAM in chunk... @@ -249,7 +239,6 @@ test_KErrNone(DPTest::SetCacheSize(originalMin, originalMax)); gobbler.Close(); - gobbler2.Close(); test.End(); }