--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/kerneltest/f32test/server/t_fatcharsetconv_SpecificCases.cpp Thu Dec 17 09:24:54 2009 +0200
@@ -0,0 +1,610 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#define __E32TEST_EXTENSION__
+
+#include "T_Fatcharsetconv_aux.h"
+#include <f32file.h>
+#include <e32test.h>
+#include <HAL.H>
+#include <f32fsys.h>
+#include <f32dbg.h>
+#include "..\server\t_server.h"
+
+//#include "fat_utils.h"
+
+extern RFile TheFile;
+
+#if defined(_DEBUG) || defined(_DEBUG_RELEASE)
+void TestIllegalCharsWithDll()
+ {
+ test.Next(_L("Test Illegal Character handling with DLL"));
+ __UHEAP_MARK;
+
+ // logging for failure
+ gTCType = ESymbianFATSpecific;
+ RBuf failedOnBuf;
+ failedOnBuf.CreateL(gLogFailureData.iFuncName);
+ gTCId = 0;
+ RBuf tcUniquePath;
+ tcUniquePath.CreateL(KNone());
+
+ QuickFormat();
+ CreateTestDirectory(_L("\\F32-TST\\T_FATCHARSETCONV\\"));
+
+ TInt r = TheFs.ControlIo(CurrentDrive(), KControlIoEnableFatUtilityFunctions);
+ testAndLog(r==KErrNone);
+
+ r = UserSvr::ChangeLocale(KTestLocale);
+ testAndLog(r==KErrNone);
+
+ _LIT(KTestNormalUnicodeFileName, "\x65B0\x6587\x4EF6.TXT");
+ _LIT(KTestNormalUnicodeFileNameShortDefualt, "\x65B0\x6587\x4EF6.TXT");
+ _LIT(KTestFileNameWithIllegalChars, "\x222F\x2F3A\x3C3E\x7C00.TXT");
+ _LIT(KFileNameWithIllegalCharsShort, "___\x7C00.TXT");
+ _LIT(KTestFileNameWithWildChars, "\x235B\x245C\x255D\x265E.TXT");
+ _LIT(KTestFileNameWithWildCharsShort, "____.TXT");
+
+ TFileName shn;
+
+ MakeFile(KTestNormalUnicodeFileName);
+ r = TheFs.GetShortName(KTestNormalUnicodeFileName, shn);
+ testAndLog(r==KErrNone);
+ r = shn.Compare(KTestNormalUnicodeFileNameShortDefualt);
+ testAndLog(r==0);
+
+ TFileName lgn;
+ r = TheFs.GetLongName(KTestNormalUnicodeFileNameShortDefualt, lgn);
+ testAndLog(r==KErrNone);
+ r = lgn.Compare(KTestNormalUnicodeFileName);
+ testAndLog(r==0);
+
+ // Test illegal 8-bit ASCII chars in 16-bit Unicode chars.
+ MakeFile(KTestFileNameWithIllegalChars);
+ r = TheFs.GetShortName(KTestFileNameWithIllegalChars, shn);
+ testAndLog(r==KErrNone);
+ r = shn.Compare(KFileNameWithIllegalCharsShort);
+ testAndLog(r==0);
+
+ // Test wildcards, 8-bit ASCII chars in 16-bit Unicode chars.
+ MakeFile(KTestFileNameWithWildChars);
+ r = TheFs.GetShortName(KTestFileNameWithWildChars, shn);
+ test_KErrNone(r);
+ r = shn.Compare(KTestFileNameWithWildCharsShort);
+ testAndLog(r==0);
+
+ r=TheFs.Delete(KTestFileNameWithIllegalChars);
+ testAndLog(r==0);
+ r=TheFs.Delete(KTestNormalUnicodeFileName);
+ testAndLog(r==0);
+ r=TheFs.Delete(KTestFileNameWithWildChars);
+ testAndLog(r==0);
+
+ r = TheFs.ControlIo(CurrentDrive(), KControlIoDisableFatUtilityFunctions);
+ testAndLog(r==KErrNone);
+ failedOnBuf.Close();
+ tcUniquePath.Close();
+ __UHEAP_MARKEND;
+ }
+
+void TestIllegalCharsWithoutDLL()
+ {
+ test.Next(_L("Test Illegal Character handling without DLL"));
+ __UHEAP_MARK;
+
+ // logging for failure
+ gTCType = ESymbianFATSpecific;
+ RBuf failedOnBuf;
+ failedOnBuf.CreateL(gLogFailureData.iFuncName);
+ gTCId = 0;
+ RBuf tcUniquePath;
+ tcUniquePath.CreateL(KNone());
+
+ QuickFormat();
+ CreateTestDirectory(_L("\\F32-TST\\T_FATCHARSETCONV\\"));
+
+ TInt r = TheFs.ControlIo(CurrentDrive(), KControlIoDisableFatUtilityFunctions);
+ testAndLog(r==KErrNone);
+
+ _LIT(KTestNormalUnicodeFileName, "\x65B0\x6587\x4EF6.TXT");
+ _LIT(KTestNormalUnicodeFileNameShortDefualt, "___.TXT");
+ _LIT(KTestFileNameWithIllegalChars, "\x222F\x2F3A\x3C3E\x7C00.TXT");
+ _LIT(KFileNameWithIllegalCharsShort, "____.TXT");
+ _LIT(KTestFileNameWithWildChars, "\x235B\x245C\x255D\x265E.TXT");
+ _LIT(KTestFileNameWithWildCharsShort, "____~1.TXT");
+
+ TFileName shn;
+
+ MakeFile(KTestNormalUnicodeFileName);
+ r = TheFs.GetShortName(KTestNormalUnicodeFileName, shn);
+ testAndLog(r==KErrNone);
+ r = shn.Compare(KTestNormalUnicodeFileNameShortDefualt);
+ testAndLog(r==0);
+
+ TFileName lgn;
+ r = TheFs.GetLongName(KTestNormalUnicodeFileNameShortDefualt, lgn);
+ testAndLog(r==KErrNone);
+ r = lgn.Compare(KTestNormalUnicodeFileName);
+ testAndLog(r==0);
+
+ // Test illegal 8-bit ASCII chars in 16-bit Unicode chars.
+ MakeFile(KTestFileNameWithIllegalChars);
+ r = TheFs.GetShortName(KTestFileNameWithIllegalChars, shn);
+ testAndLog(r==KErrNone);
+ r = shn.Compare(KFileNameWithIllegalCharsShort);
+ testAndLog(r==0);
+
+ // Test illegal 8-bit ASCII chars in 16-bit Unicode chars.
+ MakeFile(KTestFileNameWithWildChars);
+ r = TheFs.GetShortName(KTestFileNameWithWildChars, shn);
+ testAndLog(r==KErrNone);
+ r = shn.Compare(KTestFileNameWithWildCharsShort);
+ testAndLog(r==0);
+
+ r=TheFs.Delete(KTestFileNameWithIllegalChars);
+ testAndLog(r==0);
+ r=TheFs.Delete(KTestNormalUnicodeFileName);
+ testAndLog(r==0);
+ r=TheFs.Delete(KTestFileNameWithWildChars);
+ testAndLog(r==0);
+
+ failedOnBuf.Close();
+ tcUniquePath.Close();
+ __UHEAP_MARKEND;
+ }
+
+void TestFileLengthMax()
+ {
+ test.Next(_L("Test accesing a long file with filename length <250 characters"));
+ __UHEAP_MARK;
+
+ // logging for failure
+ gTCType = ESymbianFATSpecific;
+ RBuf failedOnBuf;
+ failedOnBuf.CreateL(gLogFailureData.iFuncName);
+ gTCId = 0;
+ RBuf tcUniquePath;
+ tcUniquePath.CreateL(KNone());
+
+ QuickFormat();
+ CreateTestDirectory(_L("\\F32-TST\\T_FATCHARSETCONV\\"));
+
+
+ TBuf<KMaxFileName> longName;
+
+ _LIT(KTestDir1, "\\TEST\\TESTLONGFILENAMELENGTH\\TESTMORETHAN250CHARACTERS\\") ;
+ _LIT(KTestDir2, "\x65B0\x6587\x4EF6\x4EF6(ABCDEFGH)\\(\x65B0\x6587\x4EF6\x4EF6)PQRST\\");
+ _LIT(KTestDir3, "MULTILEVEL-FOLDER1\\MULTILEVEL-FOLDER2\\MULTILEVEL-FOLDER3\\");
+ _LIT(KTestDir4, "\x65B0\x65B0\x65B0\x65B0(x6587)\\(\x6587\x6587\x6587\x6587)PQRST\\");
+ _LIT(KTestDir5, "\x4EF6\x4EF6\x4EF6\x4EF6(x4EF6)\\(\x6587\x6587\x6587\x6587)XYZ\\");
+ _LIT(KTestDir6, "TESTINGINPROGRESS\\");
+ _LIT(KTestLongFileLength, "\x4EF6\x4EF6\x4EF6\x4EF6(x4EF6).TXT");
+
+ longName += KTestDir1;
+ longName += KTestDir2;
+ longName += KTestDir3;
+ longName += KTestDir4;
+ longName += KTestDir5;
+ longName += KTestDir6;
+
+ test.Printf(_L("longName count is %d "), longName.Length());
+ TInt r=TheFs.MkDirAll(longName);
+
+ longName += KTestLongFileLength;
+ test.Printf(_L("longName count is %d "), longName.Length());
+
+ testAndLog(longName.Length()<256);
+
+ r=TheFile.Create(TheFs,longName ,EFileWrite);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ r=TheFile.Open(TheFs,longName ,EFileWrite);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ TheFs.Delete(longName);
+
+ failedOnBuf.Close();
+ tcUniquePath.Close();
+ __UHEAP_MARKEND;
+ }
+
+void TestFileLengthExceedMax()
+ {
+ test.Next(_L("Test accesing a long file with filename length >250 characters"));
+ __UHEAP_MARK;
+
+ // logging for failure
+ gTCType = ESymbianFATSpecific;
+ RBuf failedOnBuf;
+ failedOnBuf.CreateL(gLogFailureData.iFuncName);
+ gTCId = 0;
+ RBuf tcUniquePath;
+ tcUniquePath.CreateL(KNone());
+
+ QuickFormat();
+ CreateTestDirectory(_L("\\F32-TST\\T_FATCHARSETCONV\\"));
+
+ TInt r = TheFs.SessionPath(gSessionPath);
+ testAndLog(r==KErrNone);
+
+ TBuf<350> longName;
+
+ _LIT(KTestDir1, "\\TEST\\TESTLONGFILENAMELENGTH\\TESTMORETHAN260CHARACTERS\\") ;
+ _LIT(KTestDir2, "\x65B0\x6587\x4EF6\x4EF6(ABCDEFGH)\\(\x65B0\x6587\x4EF6\x4EF6)PQRST\\");
+ _LIT(KTestDir3, "MULTILEVEL-FOLDER1\\MULTILEVEL-FOLDER2\\MULTILEVEL-FOLDER3\\");
+ _LIT(KTestDir4, "\x65B0\x65B0\x65B0\x65B0(x6587)\\(\x6587\x6587\x6587\x6587)PQRST\\");
+ _LIT(KTestDir5, "\x4EF6\x4EF6\x4EF6\x4EF6(x4EF6)\\(\x6587\x6587\x6587\x6587)XYZ\\");
+ _LIT(KTestDir6, "TESTINGINPROGRESS(TESTLENGTH)>256\\");
+ _LIT(KTestLongFileLength, "\x4EF6\x4EF6\x4EF6\x4EF6(x4EF6).TXT");
+
+ longName = gSessionPath;
+ longName += KTestDir1;
+ longName += KTestDir2;
+ longName += KTestDir3;
+ longName += KTestDir4;
+ longName += KTestDir5;
+ longName += KTestDir6;
+
+ test.Printf(_L("longName length is %d "), longName.Length());
+ r=TheFs.MkDirAll(longName);
+
+ longName += KTestLongFileLength;
+ test.Printf(_L("longName count is %d "), longName.Length());
+
+ testAndLog(longName.Length()>256);
+
+ r=TheFile.Create(TheFs,longName ,EFileWrite);
+ testAndLog(r==KErrBadName);
+ // TheFile.Close();
+
+ r=TheFile.Open(TheFs,longName ,EFileWrite);
+ testAndLog(r==KErrBadName);
+ // TheFile.Close();
+
+ TheFs.Delete(longName);
+ failedOnBuf.Close();
+ tcUniquePath.Close();
+ __UHEAP_MARKEND;
+ }
+
+void TestLeadingE5Handling()
+ {
+ test.Next(_L("Test Leading \'E5\' byte handling"));
+ __UHEAP_MARK;
+
+ // logging for failure
+ gTCType = ESymbianFATSpecific;
+ RBuf failedOnBuf;
+ failedOnBuf.CreateL(gLogFailureData.iFuncName);
+ gTCId = 0;
+ RBuf tcUniquePath;
+ tcUniquePath.CreateL(KNone());
+
+ QuickFormat();
+ CreateTestDirectory(_L("\\F32-TST\\T_FATCHARSETCONV\\"));
+
+ // Enables codepage dll implementation of LocaleUtils functions for this test only
+ TInt r = TheFs.ControlIo(CurrentDrive(), KControlIoEnableFatUtilityFunctions);
+ testAndLog(r==KErrNone);
+
+ r = UserSvr::ChangeLocale(KTestLocale);
+ testAndLog(r==KErrNone);
+
+ r=TheFs.SessionPath(gSessionPath);
+ testAndLog(r==KErrNone);
+
+ _LIT(KTestFilePathAndName, "\\F32-TST\\T_FATCHARSETCONV\\\x88F9.TXT");
+ _LIT(KTestFileShortName, "\x88F9.TXT");
+
+ MakeFile(KTestFilePathAndName);
+ TFileName sn;
+ r = TheFs.GetShortName(KTestFilePathAndName, sn);
+ testAndLog(r==KErrNone);
+ r = sn.Compare(KTestFileShortName);
+ testAndLog(r==KErrNone);
+
+ r=TheFs.Delete(KTestFilePathAndName);
+ testAndLog(r==KErrNone);
+
+ // Disables codepage dll implementation of LocaleUtils functions for other base tests
+ r = TheFs.ControlIo(CurrentDrive(), KControlIoDisableFatUtilityFunctions);
+ testAndLog(r==KErrNone);
+ failedOnBuf.Close();
+ tcUniquePath.Close();
+ __UHEAP_MARKEND;
+ }
+
+void TestVFATCase3()
+ {
+ test.Next(_L("Test With VFAT entry, and DOS entry using Non-CP932 Japanese file's access"));
+ __UHEAP_MARK;
+
+ // logging for failure
+ gTCType = ESymbianFATSpecific;
+ RBuf failedOnBuf;
+ failedOnBuf.CreateL(gLogFailureData.iFuncName);
+ gTCId = 0;
+ RBuf tcUniquePath;
+ tcUniquePath.CreateL(KNone());
+
+ QuickFormat();
+ CreateTestDirectory(_L("\\F32-TST\\T_FATCHARSETCONV\\"));
+
+ _LIT(KTestNormalFileName, "\x65B0\x6587\x4EF6.TXT");
+ _LIT(KTestNormalFileNameWithUnicode, "___.TXT");
+
+
+ test.Printf(_L("Create a file without the DLL installed, and get the shortname"));
+ TInt r=TheFile.Create(TheFs,KTestNormalFileName,EFileRead|EFileWrite);
+ testAndLog(r==KErrNone);
+ TFileName sn;
+ r = TheFs.GetShortName(KTestNormalFileName, sn);
+ testAndLog(r==KErrNone);
+ r = sn.Compare(KTestNormalFileNameWithUnicode);
+ testAndLog(r==0);
+ TheFile.Close();
+
+ test.Printf(_L("Access the file without the DLL installed"));
+ r=TheFile.Open(TheFs,KTestNormalFileName,EFileWrite);
+ testAndLog(r==KErrNone);
+
+ TBuf<50> name;
+ r=TheFile.FullName(name);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ r=TheFile.Open(TheFs,KTestNormalFileNameWithUnicode,EFileWrite);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ //load the dll
+
+ r = TheFs.ControlIo(CurrentDrive(), KControlIoEnableFatUtilityFunctions);
+ testAndLog(r==KErrNone);
+
+ r = UserSvr::ChangeLocale(KTestLocale);
+ testAndLog(r==KErrNone);
+
+ test.Printf(_L("Access the file with the DLL installed"));
+ r=TheFile.Open(TheFs,KTestNormalFileName,EFileWrite);
+ testAndLog(r==KErrNone);
+
+ r=TheFile.FullName(name);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ r=TheFile.Open(TheFs,KTestNormalFileNameWithUnicode,EFileWrite);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ r=TheFs.Delete(KTestNormalFileName);
+
+ r = TheFs.ControlIo(CurrentDrive(), KControlIoDisableFatUtilityFunctions);
+ testAndLog(r==KErrNone);
+ failedOnBuf.Close();
+ tcUniquePath.Close();
+ __UHEAP_MARKEND;
+ }
+
+void TestVFATCase2()
+ {
+ test.Next(_L("Test With VFAT entry, and DOS entry using CP932 Japanese file's access"));
+ __UHEAP_MARK;
+
+ // logging for failure
+ gTCType = ESymbianFATSpecific;
+ RBuf failedOnBuf;
+ failedOnBuf.CreateL(gLogFailureData.iFuncName);
+ gTCId = 0;
+ RBuf tcUniquePath;
+ tcUniquePath.CreateL(KNone());
+
+ QuickFormat();
+ CreateTestDirectory(_L("\\F32-TST\\T_FATCHARSETCONV\\"));
+
+ TInt r = TheFs.ControlIo(CurrentDrive(), KControlIoEnableFatUtilityFunctions);
+ test_KErrNone(r);
+
+ r = UserSvr::ChangeLocale(KTestLocale);
+ test_KErrNone(r);
+ r=TheFs.SetSessionPath(gSessionPath);
+ testAndLog(r==KErrNone);
+
+ _LIT(KTestNormalFileName, "\x65B0\x6587\x4EF6.TXT");
+ _LIT(KTestNormalFileShortName, "\x65B0\x6587\x4EF6.TXT");
+
+ test.Printf(_L("Create a file with the DLL installed, and get the shortname"));
+ r=TheFile.Create(TheFs,KTestNormalFileName,EFileRead|EFileWrite);
+ testAndLog(r==KErrNone);
+ TFileName sn;
+ r = TheFs.GetShortName(KTestNormalFileName, sn);
+ testAndLog(r==KErrNone);
+ r = sn.Compare(KTestNormalFileShortName);
+ testAndLog(r==0);
+ TheFile.Close();
+
+ test.Printf(_L("Access the file with the DLL installed"));
+ r=TheFile.Open(TheFs,KTestNormalFileName,EFileWrite);
+ testAndLog(r==KErrNone);
+
+ TBuf<50> name;
+ r=TheFile.FullName(name);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ r=TheFile.Open(TheFs,KTestNormalFileShortName,EFileWrite);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ r = TheFs.ControlIo(CurrentDrive(), KControlIoDisableFatUtilityFunctions);
+ testAndLog(r==KErrNone);
+
+ test.Printf(_L("Access the file without the DLL installed"));
+
+ r=TheFile.Open(TheFs,KTestNormalFileName,EFileWrite);
+ testAndLog(r==KErrNone);
+
+ r=TheFile.FullName(name);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ r=TheFile.Open(TheFs,KTestNormalFileShortName,EFileWrite);
+ testAndLog(r==KErrNone);
+ TheFile.Close();
+
+ r=TheFs.Delete(KTestNormalFileName);
+ failedOnBuf.Close();
+ tcUniquePath.Close();
+ __UHEAP_MARKEND;
+ }
+
+void TestVFATCase1()
+ {
+ test.Next(_L("Test Without VFAT entry, but DOS entry uses CP932 Japanese file's access"));
+ __UHEAP_MARK;
+
+ // logging for failure
+ gTCType = ESymbianFATSpecific;
+ RBuf failedOnBuf;
+ failedOnBuf.CreateL(gLogFailureData.iFuncName);
+ gTCId = 0;
+ RBuf tcUniquePath;
+ tcUniquePath.CreateL(KNone());
+
+ QuickFormat();
+ CreateTestDirectory(_L("\\F32-TST\\T_FATCHARSETCONV\\"));
+
+ GetBootInfo();
+
+ RFile file;
+ TFileName fn = _L("\\ABCD");
+
+ TInt r=file.Create(TheFs,fn,EFileRead);
+ testAndLog(r==KErrNone);
+ file.Close();
+
+ // Assume this file is the first entry in the root directory
+ r=TheDisk.Open(TheFs,CurrentDrive());
+ testAndLog(r==KErrNone);
+
+ //-- read the 1st dir entry, it should be a DOS entry
+ const TInt posEntry1=gBootSector.RootDirStartSector() << KDefaultSectorLog2; //-- dir entry1 position
+
+ TFatDirEntry fatEntry1;
+ TPtr8 ptrEntry1((TUint8*)&fatEntry1,sizeof(TFatDirEntry));
+ testAndLog(TheDisk.Read(posEntry1, ptrEntry1)==KErrNone);
+ testAndLog(!fatEntry1.IsVFatEntry());
+
+ // Manually modify the short name into unicode characters
+ // Unicode: 0x(798F 5C71 96C5 6CBB)
+ // Shift-JIS: 0x(959F 8E52 89EB 8EA1)
+
+ TBuf8<8> unicodeSN = _L8("ABCD1234");
+ unicodeSN[0] = 0x95;
+ unicodeSN[1] = 0x9F;
+ unicodeSN[2] = 0x8E;
+ unicodeSN[3] = 0x52;
+ unicodeSN[4] = 0x89;
+ unicodeSN[5] = 0xEB;
+ unicodeSN[6] = 0x8E;
+ unicodeSN[7] = 0xA1;
+
+ fatEntry1.SetName(unicodeSN);
+ testAndLog(TheDisk.Write(posEntry1, ptrEntry1)==KErrNone);
+ TheDisk.Close();
+
+ // The Unicode file name of the file that is created
+ fn = _L("\\ABCD");
+ fn[1] = 0x798F;
+ fn[2] = 0x5C71;
+ fn[3] = 0x96C5;
+ fn[4] = 0x6CBB;
+
+ // Access the file using its unicode file name without the DLL loaded.
+ r = TheFs.ControlIo(CurrentDrive(), KControlIoDisableFatUtilityFunctions);
+ test_KErrNone(r);
+
+ TEntry entry;
+ TInt err = TheFs.Entry(fn, entry);
+ testAndLog(err==KErrNotFound);
+
+ // Access the file using its unicode file name with the DLL loaded.
+ r = TheFs.ControlIo(CurrentDrive(), KControlIoEnableFatUtilityFunctions);
+ test_KErrNone(r);
+ r = UserSvr::ChangeLocale(KTestLocale);
+ test_KErrNone(r);
+
+ err = TheFs.Entry(fn, entry);
+ testAndLog(err==KErrNone);
+
+ //file is no more required,delete it.
+ err = TheFs.Delete(fn);
+ testAndLog(err==KErrNone);
+
+ r = TheFs.ControlIo(CurrentDrive(), KControlIoDisableFatUtilityFunctions);
+ test_KErrNone(r);
+
+ r=TheFs.SessionPath(gSessionPath);
+ test_KErrNone(r);
+ failedOnBuf.Close();
+ tcUniquePath.Close();
+ __UHEAP_MARKEND;
+ }
+
+void DoSymbianSpecificCases()
+ {
+ gLogFailureData.iTCTypeName = KSymbianFATSpecific;
+ gLogFailureData.iAPIName= KNone;
+
+ // Store current file name
+ TFileName fileName;
+ TInt i=0;
+ while(__FILE__[i]!='\0')
+ {
+ fileName.SetLength(i+1);
+ fileName[i] = __FILE__[i++];
+ }
+ gFileName = fileName;
+
+ gLogFailureData.iFuncName = KTestLeadingE5Handling;
+ TestLeadingE5Handling();
+
+ gLogFailureData.iFuncName = KTestIllegalCharsWithDll;
+ TestIllegalCharsWithDll();
+
+ gLogFailureData.iFuncName = KTestIllegalCharsWithoutDLL;
+ TestIllegalCharsWithoutDLL();
+
+ gLogFailureData.iFuncName = KTestFileLengthMax;
+ TestFileLengthMax();
+
+ gLogFailureData.iFuncName = KTestFileLengthExceedMax;
+ TestFileLengthExceedMax();
+
+ gLogFailureData.iFuncName = KTestVFATCase2;
+ TestVFATCase2();
+
+ gLogFailureData.iFuncName = KTestVFATCase3;
+ TestVFATCase3();
+
+ gLogFailureData.iFuncName = KTestVFATCase1;
+ TestVFATCase1();
+
+ }
+
+#endif //defined(_DEBUG) || defined(_DEBUG_RELEASE)