diff -r c1f20ce4abcf -r 3e88ff8f41d5 kerneltest/f32test/fileshare/t_handshare.cpp --- a/kerneltest/f32test/fileshare/t_handshare.cpp Tue Aug 31 16:34:26 2010 +0300 +++ b/kerneltest/f32test/fileshare/t_handshare.cpp Wed Sep 01 12:34:56 2010 +0100 @@ -15,7 +15,6 @@ // // -#define __E32TEST_EXTENSION__ #include #include #include "t_server.h" @@ -42,49 +41,49 @@ r=handsvr.Connect(); } while(r==KErrNotFound); - test_KErrNone(r); + test(r==KErrNone); r=handsvr.SetTestDrive(drivenum); - test_KErrNone(r); + test(r==KErrNone); TInt ssh; RFs fs1; TInt fsh = handsvr.GetFileHandle(ssh, EFileRead); r = fs1.SetReturnedHandle(fsh); - test_KErrNone(r); + test(r==KErrNone); RFile file; r=file.Adopt(fs1,ssh); - test_KErrNone(r); + test(r==KErrNone); TBuf8<100> rbuf; r=file.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); r=rbuf.CompareF(KTestData1()); - test_KErrNone(r); + test(r==KErrNone); r=file.Write(KTestData()); - test_Value(r, r==KErrAccessDenied); + test(r==KErrAccessDenied); r=file.ChangeMode(EFileWrite); - test_Value(r, r==KErrArgument); + test(r==KErrArgument); r=file.Rename(_L("\\newname.txt")); - test_Value(r, r==KErrPermissionDenied || r==KErrAccessDenied); + test(r==KErrPermissionDenied || r==KErrAccessDenied); file.Close(); fsh = handsvr.GetFileHandle(ssh, EFileRead); r = fs1.SetReturnedHandle(fsh); - test_KErrNone(r); + test(r==KErrNone); // Adopt a bad sub-session handle r=file.Adopt(fs1, KNullHandle); - test_Value(r, r==KErrBadHandle); + test(r==KErrBadHandle); r=file.Adopt(fs1, -1); - test_Value(r, r==KErrBadHandle); + test(r==KErrBadHandle); handsvr.Close(); @@ -102,43 +101,43 @@ RFs fs; TInt r=fs.Connect(); - test_KErrNone(r); + test(r==KErrNone); // Check the number of open file handles TInt resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 0); + test(resCount == 0); // create a file & fill it with data RFile file1; r=file1.Replace(fs,KCliFileName,EFileWrite); - test_KErrNone(r); + test(r==KErrNone); r=file1.Write(KTestData()); - test_KErrNone(r); + test(r==KErrNone); file1.Close(); // open the file for read r = file1.Open(fs,KCliFileName,EFileRead); - test_KErrNone(r); + test(r==KErrNone); TBuf8<100> rbuf; r = file1.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); r=rbuf.CompareF(KTestData); - test_KErrNone(r); + test(r==KErrNone); // clone the file RFile file2; r = file2.Duplicate(file1); - test_Value(r, r==0); + test(r==0); // make sure file positions are the same TInt pos1 = 0; r = file1.Seek(ESeekCurrent, pos1); - test_KErrNone(r); + test(r==KErrNone); TInt pos2 = 0; r = file2.Seek(ESeekCurrent, pos2); - test_KErrNone(r); - test_Value(pos1, pos1 == pos2); + test(r==KErrNone); + test(pos1 == pos2); // change the position on the duplcated file handle & // verify that the original file handle's position is unchanged @@ -147,25 +146,25 @@ const TInt newPos2 = 5; pos2 = newPos2; r = file2.Seek(ESeekStart, pos2); - test_KErrNone(r); + test(r==KErrNone); pos1 = 0; r = file1.Seek(ESeekCurrent, pos1); - test_KErrNone(r); - test_Value(pos1, pos1 == oldPos1); + test(r==KErrNone); + test(pos1 == oldPos1); pos2 = 0; r = file2.Seek(ESeekCurrent, pos2); - test_KErrNone(r); - test_Value(pos2, pos2 == newPos2); - test_Value(pos1, pos1 != pos2); + test(r==KErrNone); + test(pos2 == newPos2); + test(pos1 != pos2); // close the parent file and check we can still use the duplicated one. file1.Close(); // Check the number of open file handles - should be 1 (the duplicated one) resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 1); + test(resCount == 1); fs.Close(); @@ -174,36 +173,36 @@ // reset to pos 0 pos2 = 0; r = file2.Seek(ESeekStart, pos2); - test_KErrNone(r); + test(r==KErrNone); r=file2.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); r=rbuf.CompareF(KTestData); - test_KErrNone(r); + test(r==KErrNone); file2.Close(); // start again - this time we're going to close the duplicated file first // and check we can still use the parent file r = fs.Connect(); - test_KErrNone(r); + test(r==KErrNone); // Make a note of the number of open resources fs.ResourceCountMarkStart(); // open the file for read r = file1.Open(fs,KCliFileName,EFileRead); - test_KErrNone(r); + test(r==KErrNone); // clone the file & check we can read it r = file2.Duplicate(file1, EOwnerThread); - test_Value(r, r==0); + test(r==0); rbuf.FillZ(); r = file2.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); r=rbuf.CompareF(KTestData); - test_KErrNone(r); + test(r==KErrNone); // close the duplicated file and check we can still use the parent one. @@ -213,9 +212,9 @@ // check we can read the parent file r=file1.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); r=rbuf.CompareF(KTestData); - test_KErrNone(r); + test(r==KErrNone); // close the parent file1.Close(); @@ -223,7 +222,7 @@ // Check the number of open file handles fs.ResourceCountMarkEnd(); resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 0); + test(resCount == 0); fs.Close(); } @@ -240,10 +239,10 @@ r=handsvr.Connect(); } while(r==KErrNotFound); - test_KErrNone(r); + test(r==KErrNone); r=handsvr.SetTestDrive(drivenum); - test_KErrNone(r); + test(r==KErrNone); TInt ssh; TInt fsh = handsvr.GetFileHandle2(ssh, EFileWrite); @@ -261,57 +260,57 @@ RFile file; r=file.AdoptFromServer(fsh, ssh); - test_KErrNone(r); + test(r==KErrNone); TBuf8<100> rbuf; r=file.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); // server should write KTestData1 ("Server Write Server Write") to file r=rbuf.CompareF(KTestData1); - test_KErrNone(r); + test(r==KErrNone); // reset to pos 0 TInt pos = 0; r = file.Seek(ESeekStart, pos); - test_KErrNone(r); + test(r==KErrNone); // overwrite with KTestData ("Client Write Client Write") to file r=file.Write(KTestData()); - test_KErrNone(r); + test(r==KErrNone); rbuf.FillZ(); r=file.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); r=rbuf.CompareF(KTestData); - test_KErrNone(r); + test(r==KErrNone); // !!! Disable platform security tests until we get the new APIs // r=file.Rename(_L("\\newname.txt")); -// test_Value(r, r==KErrPermissionDenied); +// test(r==KErrPermissionDenied); test.Next(_L("RFile::Name()")); // retrieve the file name from the server TFileName name; r = file.Name(name); - test_KErrNone(r); + test(r==KErrNone); r = name.Compare(KSvrFileName()); - test_Value(r, r==0); + test(r==0); test.Next(_L("RFile::Duplicate()")); RFile file2; r = file2.Duplicate(file); - test_Value(r, r==0); + test(r==0); TInt pos1 = 0; r = file.Seek(ESeekCurrent, pos1); - test_KErrNone(r); + test(r==KErrNone); TInt pos2 = 0; r = file2.Seek(ESeekCurrent, pos2); - test_KErrNone(r); - test_Value(pos1, pos1 == pos2); + test(r==KErrNone); + test(pos1 == pos2); // close the parent file and check we can still use the duplicated one. file.Close(); @@ -321,12 +320,12 @@ // reset to pos 0 pos2 = 0; r = file2.Seek(ESeekStart, pos2); - test_KErrNone(r); + test(r==KErrNone); r=file2.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); r=rbuf.CompareF(KTestData); - test_KErrNone(r); + test(r==KErrNone); file2.Close(); } @@ -340,9 +339,9 @@ RFs fs; r=fs.Connect(); - test_KErrNone(r); + test(r==KErrNone); r=fs.ShareProtected(); - test_KErrNone(r); + test(r==KErrNone); // define a filename in our private path @@ -353,7 +352,7 @@ newFileName.Append(_L("newname.txt")); r=fs.CreatePrivatePath(drivenum); - test_KErrNone(r); + test(r==KErrNone); r=fs.SetSessionToPrivate(drivenum); RFileHandleSharer handsvr; @@ -362,10 +361,10 @@ r=handsvr.Connect(); } while(r==KErrNotFound); - test_KErrNone(r); + test(r==KErrNone); r=handsvr.SetTestDrive(drivenum); - test_KErrNone(r); + test(r==KErrNone); // Next verify that we can copy a file retrieved from the server // using CFileMan::Copy() @@ -378,35 +377,35 @@ RFile file; r=file.AdoptFromServer(fsh, ssh); - test_KErrNone(r); + test(r==KErrNone); CFileMan* fileMan = NULL; TRAP(r, fileMan = CFileMan::NewL(fs)); - test_Value(r, r == KErrNone && fileMan != NULL); + test(r == KErrNone && fileMan != NULL); // copy to file, overwrite r = fileMan->Copy(file, newFileName, CFileMan::EOverWrite); - test_KErrNone(r); + test(r == KErrNone); // copy to file, don't overwrite r = fileMan->Copy(file, newFileName, 0); - test_Value(r, r == KErrAlreadyExists); + test(r == KErrAlreadyExists); // copy to file, overwrite r = fileMan->Copy(file, newFileName, CFileMan::EOverWrite); - test_KErrNone(r); + test(r == KErrNone); // copy to path r = fileMan->Copy(file, newPath, CFileMan::EOverWrite); - test_KErrNone(r); + test(r == KErrNone); // copy to file, overwrite, asynchnonous TRequestStatus status(KRequestPending); r = fileMan->Copy(file, newFileName, CFileMan::EOverWrite, status); - test_KErrNone(r); + test(r == KErrNone); User::WaitForRequest(status); - test_KErrNone(status.Int()); + test(status == KErrNone); // Negative tests... @@ -419,7 +418,7 @@ for (len=newLongPath.Length(); len< KMaxPath -4; len = newLongPath.Length()) newLongPath.Append(_L("x\\")); r = fileMan->Copy(file, newLongPath, CFileMan::EOverWrite); - test_Value(r, r == KErrBadName); + test(r == KErrBadName); // copy to very long but valid path (no filename) which will overflow // when drive letter is pre-pended to it @@ -427,25 +426,25 @@ for (len=newLongPath.Length(); len< KMaxPath -2; len = newLongPath.Length()) newLongPath.Append(_L("x\\")); r = fileMan->Copy(file, newLongPath, CFileMan::EOverWrite); - test_Value(r, r == KErrBadName); + test(r == KErrBadName); // copy to very long but valid path and filename which will overflow // when drive letter is pre-pended to it newLongPath.Append(_L("y")); r = fileMan->Copy(file, newLongPath, CFileMan::EOverWrite); - test_Value(r, r == KErrBadName); + test(r == KErrBadName); // copy to badly formed path newLongPath = newPath; newLongPath.Append(_L("\\y")); r = fileMan->Copy(file, newLongPath, CFileMan::EOverWrite); - test_Value(r, r == KErrBadName); + test(r == KErrBadName); // copy to correctly formed path which doesn't exist newLongPath = newPath; newLongPath.Append(_L("x\\y\\z")); r = fileMan->Copy(file, newLongPath, CFileMan::EOverWrite); - test_Value(r, r == KErrPathNotFound); + test(r == KErrPathNotFound); delete fileMan; fileMan = NULL; @@ -462,17 +461,17 @@ // adopt the file handle from FHServer r=file.AdoptFromServer(fsh, ssh); - test_KErrNone(r); + test(r==KErrNone); r=file.Rename(_L("newname.txt")); - test_Value(r, r==KErrPermissionDenied || r==KErrAccessDenied); + test(r==KErrPermissionDenied || r==KErrAccessDenied); // delete the file before we try to rename anything to it r = fs.Delete(newFileName); - test_Value(r, r == KErrNone || r == KErrNotFound); + test(r == KErrNone || r == KErrNotFound); r=file.Rename(newFileName); - test_Value(r, r==KErrPermissionDenied || r==KErrAccessDenied); + test(r==KErrPermissionDenied || r==KErrAccessDenied); file.Close(); @@ -486,14 +485,14 @@ test (fsh >= 0); r=file.AdoptFromServer(fsh, ssh); - test_KErrNone(r); + test(r==KErrNone); // delete the file before we try to rename anything to it r = fs.Delete(newFileName); - test_Value(r, r == KErrNone || r == KErrNotFound); + test(r == KErrNone || r == KErrNotFound); r=file.Rename(newFileName); - test_KErrNone(r); + test(r==KErrNone); file.Close(); @@ -501,7 +500,7 @@ // have been moved to our private directory) test.Next(_L("RFs::Delete()")); r = fs.Delete(newFileName); - test_KErrNone(r); + test(r == KErrNone); handsvr.Close(); @@ -516,25 +515,25 @@ { RFs fs; TInt r=fs.Connect(); - test_KErrNone(r); + test(r==KErrNone); // Check the number of open file handles TInt resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 0); + test(resCount == 0); r=fs.ShareProtected(); - test_KErrNone(r); + test(r==KErrNone); r=fs.CreatePrivatePath(drivenum); - test_KErrNone(r); + test(r==KErrNone); r=fs.SetSessionToPrivate(drivenum); RFile file1; r=file1.Replace(fs,KCliFileName,EFileWrite); - test_KErrNone(r); + test(r==KErrNone); r=file1.Write(KTestData()); - test_KErrNone(r); + test(r==KErrNone); file1.Close(); RFileHandleSharer handsvr; @@ -543,16 +542,16 @@ r=handsvr.Connect(); } while(r==KErrNotFound); - test_KErrNone(r); + test(r==KErrNone); r=handsvr.SetTestDrive(drivenum); - test_KErrNone(r); + test(r==KErrNone); r=fs.SetSessionToPrivate(drivenum); - test_KErrNone(r); + test(r==KErrNone); r=file1.Open(fs,KCliFileName,EFileRead); - test_KErrNone(r); + test(r==KErrNone); // pass the file handle to FHServer test.Next(_L("RFile::TransferToServer()")); @@ -566,13 +565,13 @@ // verify that the original file handle's position is unchanged TInt pos = 0; r = file1.Seek(ESeekCurrent, pos); - test_KErrNone(r); - test_Value(pos, pos == 0); + test(r==KErrNone); + test(pos == 0); // make sure we can still use it TBuf8<100> rbuf; r=file1.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); // Close the file file1.Close(); @@ -580,11 +579,11 @@ handsvr.Close(); r=fs.MkDir(_L("C:\\mdir")); - test_Value(r, r==KErrNone || r==KErrAlreadyExists); + test(r==KErrNone || r==KErrAlreadyExists); // Check the number of open file handles resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 0); + test(resCount == 0); fs.Close(); } @@ -599,25 +598,25 @@ RFs fs; TInt r=fs.Connect(); - test_KErrNone(r); + test(r==KErrNone); // Check the number of open file handles TInt resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 0); + test(resCount == 0); r=fs.ShareProtected(); - test_KErrNone(r); + test(r==KErrNone); r=fs.CreatePrivatePath(drivenum); - test_KErrNone(r); + test(r==KErrNone); r=fs.SetSessionToPrivate(drivenum); RFile file1; r=file1.Replace(fs,KCliFileName,EFileWrite); - test_KErrNone(r); + test(r==KErrNone); r=file1.Write(KTestData()); - test_KErrNone(r); + test(r==KErrNone); file1.Close(); RFileHandleSharer handsvr; @@ -626,20 +625,20 @@ r=handsvr.Connect(); } while(r==KErrNotFound); - test_KErrNone(r); + test(r==KErrNone); r=handsvr.SetTestDrive(drivenum); - test_KErrNone(r); + test(r==KErrNone); r=fs.SetSessionToPrivate(drivenum); - test_KErrNone(r); + test(r==KErrNone); r=file1.Open(fs,KCliFileName,EFileRead); - test_KErrNone(r); + test(r==KErrNone); // check the resoure count - there should be 1 open file handle resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 1); + test(resCount == 1); // pass an invalid file handle to FHServer // by overwriting the IPC slots @@ -652,35 +651,35 @@ // check the resoure count - there should be 2 open file handles resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 2); + test(resCount == 2); ipcArgs.Set(0, 0); // invalidate the RFs handle r = handsvr.PassInvalidFileHandle(ipcArgs); - test_Value(r, r == KErrBadHandle); + test (r == KErrBadHandle); // Pass a bad RFile handle file1.TransferToServer(ipcArgs, 0, 1); // check the resoure count - there should be 3 open file handles resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 3); + test(resCount == 3); ipcArgs.Set(1, 0); // invalidate the RFile handle r = handsvr.PassInvalidFileHandle(ipcArgs); - test_Value(r, r == KErrBadHandle); + test (r == KErrBadHandle); // Pass bad RFs and RFile handles file1.TransferToServer(ipcArgs, 0, 1); // check the resoure count - there should be 4 open file handles resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 4); + test(resCount == 4); ipcArgs.Set(0, 0); // invalidate the RFs handle ipcArgs.Set(1, 0); // invalidate the RFile handle r = handsvr.PassInvalidFileHandle(ipcArgs); - test_Value(r, r == KErrBadHandle); + test (r == KErrBadHandle); // Close the file handsvr.Close(); @@ -688,7 +687,7 @@ // Check the number of open file handles resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 3); + test(resCount == 3); fs.Close(); } @@ -703,30 +702,30 @@ RFs fs; TInt r=fs.Connect(); - test_KErrNone(r); + test(r==KErrNone); // Check the number of open file handles TInt resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 0); + test(resCount == 0); r=fs.ShareProtected(); - test_KErrNone(r); + test(r==KErrNone); r=fs.CreatePrivatePath(drivenum); - test_KErrNone(r); + test(r==KErrNone); r=fs.SetSessionToPrivate(drivenum); RFile file1; r=file1.Replace(fs,KCliFileName,EFileWrite); - test_KErrNone(r); + test(r==KErrNone); r=file1.Write(KTestData()); - test_KErrNone(r); + test(r==KErrNone); file1.Close(); r=file1.Open(fs, KCliFileName, EFileWrite); - test_KErrNone(r); + test(r==KErrNone); // NB slot 0 is reserved for the command line @@ -735,26 +734,26 @@ r = file1.TransferToProcess(aProcess, 1, 2); r = aProcess.SetParameter(3, drivenum); - test_KErrNone(r); + test(r==KErrNone); r=fs.SetSessionToPrivate(drivenum); - test_KErrNone(r); + test(r==KErrNone); // make sure we can still read from the file TBuf8<100> rbuf; r=file1.Read(0,rbuf); - test_KErrNone(r); + test(r==KErrNone); r=rbuf.CompareF(KTestData()); - test_KErrNone(r); + test(r==KErrNone); file1.Close(); r=fs.MkDir(_L("C:\\mdir")); - test_Value(r, r==KErrNone || r==KErrAlreadyExists); + test(r==KErrNone || r==KErrAlreadyExists); // Check the number of open file handles - // should be 1 (the one duplicated for the other process) resCount = fs.ResourceCount(); - test_Value(resCount, resCount == 1); + test(resCount == 1); fs.Close(); @@ -770,15 +769,15 @@ r=handsvr.Connect(); } while(r==KErrNotFound); - test_KErrNone(r); + test(r==KErrNone); r=handsvr.SetTestDrive(drivenum); - test_KErrNone(r); + test(r==KErrNone); // wait for server to read the file r = handsvr.PassFileHandleProcess(); - test_KErrNone(r); + test (r == KErrNone); handsvr.Close(); } @@ -792,12 +791,12 @@ // make sure the session path exists RFs fs; TInt r = fs.Connect(); - test_KErrNone(r); + test(r==KErrNone); TFileName sessionp; fs.SessionPath(sessionp); r = fs.MkDirAll(sessionp); - test_Value(r, r==KErrNone || r==KErrAlreadyExists); + test(r==KErrNone || r==KErrAlreadyExists); fs.Close(); // Remember the number of open handles. Just for a sanity check .... @@ -808,7 +807,7 @@ //create test server RProcess p; r = p.Create(_L("FHServer.exe"), KNullDesC); - test_KErrNone(r); + test(r==KErrNone); // RFile::Duplicate() tests Duplicate(); @@ -826,6 +825,7 @@ // Get an open writeable file from FHServer2 via FHServer // using RFile::AdoptFromServer() RequestFileWrite(); + // Deprecated RFile::Adopt() test RequestFileDeprecatedAdopt(); @@ -842,19 +842,19 @@ // stop the servers RFileHandleSharer handsvr; r=handsvr.Connect(); - test_KErrNone(r); + test(r==KErrNone); r = handsvr.Exit(); - test_KErrNone(r); + test(r == KErrNone); handsvr.Close(); // delete the test file RFs cleanupfs; r=cleanupfs.Connect(); - test_KErrNone(r); + test(r==KErrNone); r=cleanupfs.SetSessionToPrivate(drivenum); - test_KErrNone(r); + test(r==KErrNone); r=cleanupfs.Delete(KCliFileName); - test_Value(r, r==KErrNone || r==KErrNotFound); + test(r==KErrNone || r==KErrNotFound); cleanupfs.Close(); @@ -872,11 +872,11 @@ RThread().HandleCount(end_phc, end_thc); test.Printf(_L("Handles: end_phc %d, end_thc %d\n"), end_phc, end_thc); - test_Value(start_thc, start_thc == end_thc); - test_Value(start_phc, start_phc == end_phc); + test(start_thc == end_thc); + test(start_phc == end_phc); // and also for pending requests ... - test_Value(RThread().RequestCount(), RThread().RequestCount() == 0); + test(RThread().RequestCount() == 0); RDebug::Print(_L("End Of Tests"));