commonservices/sysutil/test/tef/te_sysutiltestsuite/scripts/te_sysutiltestsuite.script
changeset 0 4e1aa6a622a0
child 21 ccb4f6b3db21
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commonservices/sysutil/test/tef/te_sysutiltestsuite/scripts/te_sysutiltestsuite.script	Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,742 @@
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "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:
+//
+
+PRINT Run all te_sysutils Suite Tests
+
+LOAD_SUITE te_sysutiltestsuite
+
+RUN_UTILS MkDir c:\versions
+
+START_TESTCASE				SYSLIB-BAFL-CT-4068
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4068
+//!@SYMTestCaseDesc			To ensure the pr information can be obtained correctly and 
+//!@SYMTestCaseDesc			contains the correct information.
+//!@SYMTestPriority			High
+//!@SYMTestActions			Get the pr information from Z:\resource\versions\purpose.txt 
+//!@SYMTestActions			using the SysUtil::GetPRInformation method and compare it against 
+//!@SYMTestActions			a string literal set in an ini file. The ini file is located 
+//!@SYMTestActions			in z:\testdata\inifiles\.
+//!@SYMTestExpectedResults	The pr information obtained is a correctly 
+//!@SYMTestExpectedResults	formatted version of the information in Z:\resource\versions\purpose.txt.
+//!@SYMDEF					DEF141094
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsGetPRInformation z:\testdata\inifiles\te_sysutildata.ini ResourceFiles
+END_TESTCASE				SYSLIB-BAFL-CT-4068
+
+START_TESTCASE				SYSLIB-BAFL-CT-4001
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4001
+//!@SYMTestCaseDesc			To ensure the software version can be obtained correctly and 
+//!@SYMTestCaseDesc			contains the correct information.
+//!@SYMTestPriority			High
+//!@SYMTestActions			Get the software version from Z:\resource\versions\sw.txt 
+//!@SYMTestActions			using the SysUtil::GetSWVersion method and compare it against 
+//!@SYMTestActions			a string literal set in an ini file. The ini file is located 
+//!@SYMTestActions			in z:\testdata\inifiles\.
+//!@SYMTestExpectedResults	The software version information obtained is a correctly 
+//!@SYMTestExpectedResults	formatted version of the information in Z:\resource\versions\sw.txt.
+//!@SYMREQ					REQ8170
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsGetSWVersion z:\testdata\inifiles\te_sysutildata.ini ResourceFiles
+END_TESTCASE				SYSLIB-BAFL-CT-4001
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4002
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4002
+//!@SYMTestCaseDesc			To ensure the language software version can be obtained 
+//!@SYMTestCaseDesc			correctly and contains the correct information.
+//!@SYMTestPriority			High
+//!@SYMTestActions			Get the software language version from Z:\resource\versions\langsw.txt 
+//!@SYMTestActions			using the SysUtil::GetLangSWVersion method and compare it 
+//!@SYMTestActions			against a string literal set in an ini file. The ini file is 
+//!@SYMTestActions			located in z:\testdata\inifiles\.
+//!@SYMTestExpectedResults	The language software version information obtained is a 
+//!@SYMTestExpectedResults	correctly formatted version of the information in 
+//!@SYMTestExpectedResults	Z:\resource\versions\langsw.txt.
+//!@SYMREQ					REQ8170
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsGetLangSWVersion z:\testdata\inifiles\te_sysutildata.ini ResourceFiles
+END_TESTCASE				SYSLIB-BAFL-CT-4002
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4003
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4003
+//!@SYMTestCaseDesc			To ensure the language version can be obtained correctly and 
+//!@SYMTestCaseDesc			contains the correct information.
+//!@SYMTestPriority			High
+//!@SYMTestActions			Get the language version from Z:\resource\versions\lang.txt 
+//!@SYMTestActions			using the SysUtil::GetLangVersion method an compare it against 
+//!@SYMTestActions			a string literal set in an ini file. The ini file is located 
+//!@SYMTestActions			in z:\testdata\inifiles\.
+//!@SYMTestExpectedResults	The language version information obtained is a correctly 
+//!@SYMTestExpectedResults	formatted version of the information in Z:\resource\versions\lang.txt.
+//!@SYMREQ					REQ8170
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsGetLangVersion z:\testdata\inifiles\te_sysutildata.ini ResourceFiles
+END_TESTCASE				SYSLIB-BAFL-CT-4003
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4004
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4004
+//!@SYMTestCaseDesc			To ensure the space remaining in the flash file system can be 
+//!@SYMTestCaseDesc			examined correctly and checked if the space remaining is 
+//!@SYMTestCaseDesc			below and above the critical level.
+//!@SYMTestPriority			High
+//!@SYMTestActions			The first call to SysUtil::FFSSpaceBelowCriticalLevelL method 
+//!@SYMTestActions			is made with a request amount parameter of 0. If the first 
+//!@SYMTestActions			call returns true then a second call should be made to the 
+//!@SYMTestActions			method with a request amount parameter of a large enough 
+//!@SYMTestActions			negative value so that the space remaining is above the critical 
+//!@SYMTestActions			level. If the first call returns false then the second call 
+//!@SYMTestActions			should be made with a large enough value so that the space 
+//!@SYMTestActions			remaining is below the critical level. The file server session 
+//!@SYMTestActions			is connected and provided as a parameter to the method. 
+//!@SYMTestExpectedResults	The method returns whether the space remaining plus the 
+//!@SYMTestExpectedResults	request amount is above and below the critical level without 
+//!@SYMTestExpectedResults	error. The second value should be the opposite of the first 
+//!@SYMTestExpectedResults	if not the test fails.
+//!@SYMREQ					REQ8172
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsFFSSpaceBelowCritical
+END_TESTCASE				SYSLIB-BAFL-CT-4004
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4005
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4005
+//!@SYMTestCaseDesc			To ensure the space remaining on the multi media card can be 
+//!@SYMTestCaseDesc			examined correctly and checked if the space is below the 
+//!@SYMTestCaseDesc			critical level or not.
+//!@SYMTestPriority			HIGH
+//!@SYMTestActions			The first call to SysUtil::MMCSpaceBelowCriticalLevelL method 
+//!@SYMTestActions			is made with a request amount parameter of 0. If the first call 
+//!@SYMTestActions			returns true then a second call should be made to the method 
+//!@SYMTestActions			with a request amount parameter of a large enough negative 
+//!@SYMTestActions			value so that the space remaining is above the critical level. 
+//!@SYMTestActions			If the first call returns true then the second call should be 
+//!@SYMTestActions			made with a large enough value so that the space remaining is 
+//!@SYMTestActions			below the critical level. 
+//!@SYMTestExpectedResults	The method returns whether the space remaining plus the 
+//!@SYMTestExpectedResults	request amount is above and below the critical level without 
+//!@SYMTestExpectedResults	error. The second value should be the opposite of the first 
+//!@SYMTestExpectedResults	if not the test fails.
+//!@SYMREQ					REQ8172
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsMMCSpaceBelowCritical
+END_TESTCASE				SYSLIB-BAFL-CT-4005
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4006
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4006
+//!@SYMTestCaseDesc			To ensure the space remaining on a given disk can be examined 
+//!@SYMTestCaseDesc			correctly and check if the space is below the critical level or not.
+//!@SYMTestPriority			High
+//!@SYMTestActions			The first call to SysUtil::DiskSpaceBelowCriticalLevelL method 
+//!@SYMTestActions			is made with a request amount parameter of 0. If the first call 
+//!@SYMTestActions			returns true then a second call should be made to the method 
+//!@SYMTestActions			with a request amount parameter of a large enough negative 
+//!@SYMTestActions			value so that the space remaining is above the critical level. 
+//!@SYMTestActions			If the first call returns true then the second call should be 
+//!@SYMTestActions			made with a large enough value so that the space remaining is 
+//!@SYMTestActions			below the critical level. This is checking the C drive.
+//!@SYMTestExpectedResults	The method returns whether the space remaining plus the 
+//!@SYMTestExpectedResults	request amount is above and below the critical level without 
+//!@SYMTestExpectedResults	error. The second value should be the opposite of the first 
+//!@SYMTestExpectedResults	if not the test fails.
+//!@SYMREQ					REQ8172
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsDiskSpaceBelowCritical
+END_TESTCASE				SYSLIB-BAFL-CT-4006
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4007
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4007
+//!@SYMTestCaseDesc			To ensure the space remaining on drive c: and drive z: can be 
+//!@SYMTestCaseDesc			examined correctly and check if the space is below the 
+//!@SYMTestCaseDesc			critical level or not.
+//!@SYMTestPriority			High
+//!@SYMTestActions			Trap any errors that may occur when the space remaining on 
+//!@SYMTestActions			drive c: is checked using SysUtil::DiskSpaceBelowCriticalLevelL 
+//!@SYMTestActions			and print out if the space remaining is above or below the 
+//!@SYMTestActions			critical limit .
+//!@SYMTestActions			Repeat with drive z:
+//!@SYMTestExpectedResults	The method returns whether the space is below the critical 
+//!@SYMTestExpectedResults	level or not without error.
+//!@SYMREQ					REQ8172
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsDisksBelowCritical
+END_TESTCASE				SYSLIB-BAFL-CT-4007
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4016
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4016 
+//!@SYMTestCaseDesc			To ensure that the user application will explicitly panic if 
+//!@SYMTestCaseDesc			a handle to a non-connected RFs is used as a parameter to 
+//!@SYMTestCaseDesc			FFSSpaceBelowCriticalLevelL(), DiskSpaceBelowCriticalLevelL() 
+//!@SYMTestCaseDesc			or MMCSpaceBelowCriticalLevelL().
+//!@SYMTestPriority			High
+//!@SYMTestActions			Check if the handle passed to FFSSpaceBelowCriticalLevelL(),
+//!@SYMTestActions			DiskSpaceBelowCriticalLevelL() and 
+//!@SYMTestActions			MMCSpaceBelowCriticalLevelL() is not connected.
+//!@SYMTestExpectedResults	The functions would panic with KERN-EXEC 0 if the handle is not
+//!@SYMTestExpectedResults	connected. Otherwise, it shall pass successfully.
+//!@SYMDEF					DEF114519
+RUN_TEST_STEP !PanicString=BAFL !PanicCode=110 1000 te_sysutiltestsuite SysUtilsCheckRFsConnectionDS
+RUN_TEST_STEP !PanicString=BAFL !PanicCode=110 1000 te_sysutiltestsuite SysUtilsCheckRFsConnectionFFS
+RUN_TEST_STEP !PanicString=BAFL !PanicCode=110 1000 te_sysutiltestsuite SysUtilsCheckRFsConnectionMMC
+END_TESTCASE				SYSLIB-BAFL-CT-4016
+
+START_TESTCASE				BASESRVCS-BAFL-CT-4079
+//!@SYMTestCaseID			BASESRVCS-BAFL-CT-4079
+//!@SYMTestCaseDesc			To ensure that SysUtils::DiskSpaceBelowCritical
+//!@SYMTestCaseDesc			handles large values of aBytesToWrite
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsDiskSpaceBelowCriticalQuery
+END_TESTCASE				BASESRVCS-BAFL-CT-4079
+
+START_TESTCASE				BASESRVCS-BAFL-CT-4080
+//!@SYMTestCaseID			BASESRVCS-BAFL-CT-4080
+//!@SYMTestCaseDesc			To ensure that SysUtils::MMCSpaceBelowCritical
+//!@SYMTestCaseDesc			handles large values of aBytesToWrite
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsMmcSpaceBelowCriticalQuery
+END_TESTCASE				BASESRVCS-BAFL-CT-4080
+
+START_TESTCASE				BASESRVCS-BAFL-CT-4081
+//!@SYMTestCaseID			BASESRVCS-BAFL-CT-4081
+//!@SYMTestCaseDesc			To ensure that SysUtils::FSSSpaceBelowCritical
+//!@SYMTestCaseDesc			handles large values of aBytesToWrite
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsFssSpaceBelowCriticalQuery
+END_TESTCASE				BASESRVCS-BAFL-CT-4081
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4017
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4017
+//!@SYMTestCaseDesc			To ensure that checking for space remaining on a drive that 
+//!@SYMTestCaseDesc			is not ready returns an error.
+//!@SYMTestPriority			High
+//!@SYMTestActions			The test should check that an error is expected when a drive 
+//!@SYMTestActions			is found that is not available and is checked using the 
+//!@SYMTestActions			SysUtil::DiskSpaceBelowCriticalLevelL. 
+//!@SYMTestExpectedResults	KErrNotReady is returned because the drive does not exist.
+//!@SYMREQ					REQ8172
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsDiskSpaceNotFoundBelowCritical
+END_TESTCASE				SYSLIB-BAFL-CT-4017
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4018
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4018
+//!@SYMTestCaseDesc			To ensure the space remaining in the flash file system can be 
+//!@SYMTestCaseDesc			examined correctly and checked if the space is below the 
+//!@SYMTestCaseDesc			critical level or not. 
+//!@SYMTestPriority			Low 
+//!@SYMTestActions			Examine if the space in the flash file system is below the 
+//!@SYMTestActions			critical level or not using the 
+//!@SYMTestActions			SysUtil::FFSSpaceBelowCriticalLevelL method. The file server 
+//!@SYMTestActions			session is not provided as a parameter to the method.
+//!@SYMTestActions			If no error is caught from the first call then call the 
+//!@SYMTestActions			SysUtil::FFSSpaceBelowCriticalLevelL method with an 
+//!@SYMTestActions			unconnected file server session as a parameter.
+//!@SYMTestExpectedResults	The first call to the method returns whether the space is 
+//!@SYMTestExpectedResults	below the critical level or not without error. The second 
+//!@SYMTestExpectedResults	call causes a panic with bafl 110.
+//!@SYMREQ					REQ8172
+RUN_TEST_STEP !PanicString=BAFL !PanicCode=110 1000 te_sysutiltestsuite SysUtilsFFSSpaceBelowCriticalRfs
+END_TESTCASE				SYSLIB-BAFL-CT-4018
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4019
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4019
+//!@SYMTestCaseDesc			To ensure the space remaining on the multi media card can be 
+//!@SYMTestCaseDesc			examined correctly and checked if the space is below the 
+//!@SYMTestCaseDesc			critical level or not.
+//!@SYMTestPriority			Low
+//!@SYMTestActions			Examine if the space on the multi media card is below the 
+//!@SYMTestActions			critical level or not using the 
+//!@SYMTestActions			SysUtil::MMCSpaceBelowCriticalLevelL method. The file server 
+//!@SYMTestActions			session is connected and provided as a parameter to the method. 
+//!@SYMTestActions			The second call to the SysUtil::MMCSpaceBelowCriticalLevelL 
+//!@SYMTestActions			method is with an unconnected file server session as a parameter.
+//!@SYMTestExpectedResults	The first call to the method returns whether the space is 
+//!@SYMTestExpectedResults	below the critical level or not without error. The second 
+//!@SYMTestExpectedResults	call causes a panic with bafl 110.
+//!@SYMREQ					REQ8172
+RUN_TEST_STEP !PanicString=BAFL !PanicCode=110 1000 te_sysutiltestsuite SysUtilsMMCSpaceBelowCriticalRfs
+END_TESTCASE				SYSLIB-BAFL-CT-4019
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4020
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4020
+//!@SYMTestCaseDesc			To ensure the SysUtil::DiskSpaceBelowCriticalLevelL method 
+//!@SYMTestCaseDesc			handles correctly a call to it with a non-existent drive 
+//!@SYMTestCaseDesc			provided as a parameter.
+//!@SYMTestPriority			MEDIUM
+//!@SYMTestActions			Call the SysUtil::DiskSpaceBelowCriticalLevelL method but 
+//!@SYMTestActions			provide a non-existent drive as the aDrive parameter.
+//!@SYMTestActions			If KerrBadName is returned call 
+//!@SYMTestActions			SysUtil::DiskSpaceBelowCriticalLevelL with drive c: as a 
+//!@SYMTestActions			parameter and an unconnected RFs session as a parameter.
+//!@SYMTestExpectedResults	The method should fail with the KErrBadName error code. The 
+//!@SYMTestExpectedResults	second call causes a panic with bafl 110.
+//!@SYMREQ					REQ8172
+RUN_TEST_STEP !PanicString=BAFL !PanicCode=110 1000 te_sysutiltestsuite SysUtilsDiskSpaceBelowCriticalLevelLError
+END_TESTCASE				SYSLIB-BAFL-CT-4020
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4021
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4021
+//!@SYMTestCaseDesc			To ensure each of the SysUtil member functions handles out of 
+//!@SYMTestCaseDesc			memory conditions correctly.
+//!@SYMTestPriority			HIGH
+//!@SYMTestActions			For each of the SysUtil member functions set the !OOM flag in 
+//!@SYMTestActions			the script file then call the member function.
+//!@SYMTestExpectedResults	Out of memory conditions is handled correctly by each member function.
+//!@SYMREQ					REQ8170, REQ8172, CR1328
+//!@SYMDEF					DEF141094
+RUN_TEST_STEP !OOM 1000 te_sysutiltestsuite SysUtilsOOMTest
+END_TESTCASE				SYSLIB-BAFL-CT-4021
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4022
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4022
+//!@SYMTestCaseDesc			To ensure the correct error is returned if an attempt to get 
+//!@SYMTestCaseDesc			the software version is made but the buffer provide to store 
+//!@SYMTestCaseDesc			the software version in is smaller than the length of the 
+//!@SYMTestCaseDesc			software version text.
+//!@SYMTestPriority			HIGH
+//!@SYMTestActions			Use the SysUtil::GetSWVersion method with its descriptor 
+//!@SYMTestActions			parameter’s size smaller than the length of the software 
+//!@SYMTestActions			version text.
+//!@SYMTestActions			Repeat for SysUtil::GetLangSWVersion & SysUtil::GetPRInformation
+//!@SYMTestExpectedResults	KErrTooBig is returned because not all the software version 
+//!@SYMTestExpectedResults	text can be read into the buffer supplied. 
+//!@SYMREQ					REQ8170
+//!@SYMDEF					DEF141094
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsGetSWVersionInsufficienBuffer
+END_TESTCASE				SYSLIB-BAFL-CT-4022
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4023
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4023
+//!@SYMTestCaseDesc			To ensure the correct dummy APIs are called if an attempt is 
+//!@SYMTestCaseDesc			made to call a removed function.
+//!@SYMTestPriority			HIGH
+//!@SYMTestActions			An attempt should be made to call each removed function as if 
+//!@SYMTestActions			it were still present in the SysUtil.dll. Dummy APIs 3, 7, 8, 
+//!@SYMTestActions			9 and 11 – 20 for bwins and 1 – 8, 12 and 16 – 20 for eabi.
+//!@SYMTestExpectedResults	Trace should be logged explaining that unsupported method 
+//!@SYMTestExpectedResults	calls have been made, but no errors should occur. Trace is 
+//!@SYMTestExpectedResults	only logged if _DEBUG is defined.
+//!@SYMREQ					REQ8172, REQ8170
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsDummyAPIs
+END_TESTCASE				SYSLIB-BAFL-CT-4023
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4038
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4038
+//!@SYMTestCaseDesc			To ensure that the application can tell which FFS and MMC 
+//!@SYMTestCaseDesc			drive letter is being used by the system. This includes a 
+//!@SYMTestCaseDesc			minor API change that should not affect the outcome of 
+//!@SYMTestCaseDesc			existing tests. This test will test the new API functions for 
+//!@SYMTestCaseDesc			their correctness.
+//!@SYMTestPriority			High
+//!@SYMTestActions			Check if the following function calls behave correctly:
+//!@SYMTestActions			GetFFSDriveLetter and GetMMCDriveLetter
+//!@SYMTestActions			The drive letters can be changed using there numerical values 
+//!@SYMTestActions			in the te_sysutildata.ini file. 
+//!@SYMTestExpectedResults	The functions will return the correct drive letter to pass successfully.
+//!@SYMDEF					DEF114523
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsCheckDriveLetterFFS z:\testdata\inifiles\te_sysutildata.ini DriveLetter
+RUN_TEST_STEP 1000 te_sysutiltestsuite SysUtilsCheckDriveLetterMMC z:\testdata\inifiles\te_sysutildata.ini DriveLetter
+END_TESTCASE				SYSLIB-BAFL-CT-4038
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4056
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4056
+//!@SYMTestCaseDesc			To ensure the correct values are retrieved and the correct 
+//!@SYMTestCaseDesc			error codes are returned when using either the plug-in, INI 
+//!@SYMTestCaseDesc			file or both.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			Note: This test should be repeated with the following INI 
+//!@SYMTestCaseDesc			files and plug-in combinations:
+//!@SYMTestCaseDesc			-	No INI file or plug-in.
+//!@SYMTestCaseDesc			-	Empty INI file.
+//!@SYMTestCaseDesc			-	Corrupt INI file (invalid format).
+//!@SYMTestCaseDesc			-	Corrupt INI file (invalid encoding).
+//!@SYMTestCaseDesc			-	INI file with attribute values which are too long i.e. 
+//!@SYMTestCaseDesc				longer than 64 characters. This should be done for 
+//!@SYMTestCaseDesc				predefined and device creator attributes.
+//!@SYMTestCaseDesc			-	INI file with corrupt OS major version number i.e. text 
+//!@SYMTestCaseDesc				instead of numbers.
+//!@SYMTestCaseDesc			-	INI file with corrupt OS minor version number i.e. text 
+//!@SYMTestCaseDesc				instead of numbers.
+//!@SYMTestCaseDesc			-	INI file with missing OS major version number.
+//!@SYMTestCaseDesc			-	INI file with missing OS minor version number.
+//!@SYMTestCaseDesc			-	INI file with corrupt UI Platform major version number 
+//!@SYMTestCaseDesc				i.e. text instead of numbers.
+//!@SYMTestCaseDesc			-	INI file with corrupt UI Platform minor version number 
+//!@SYMTestCaseDesc				i.e. text instead of numbers.
+//!@SYMTestCaseDesc			-	INI file with missing UI Platform major version number.
+//!@SYMTestCaseDesc			-	INI file with missing UI Platform minor version number.
+//!@SYMTestCaseDesc			-	INI file with all predefined attributes present which are 
+//!@SYMTestCaseDesc				all valid (this means values should be the correct format 
+//!@SYMTestCaseDesc				and less than or equal to 64 characters) and with at least 
+//!@SYMTestCaseDesc				one device creator defined attribute.
+//!@SYMTestCaseDesc			-	INI file with a partial set of attributes.
+//!@SYMTestCaseDesc			-	Plug-in.
+//!@SYMTestCaseDesc			-	Plug-in and valid INI file.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			For each repetition the INI file should be copied in to 
+//!@SYMTestCaseDesc			C:\versions\deviceattributes.ini and the plug-in should be 
+//!@SYMTestCaseDesc			copied to C:\sys\bin\sysutilplugin.dll. In addition, the P&S 
+//!@SYMTestCaseDesc			properties should be deleted so new ones can be created.
+//!@SYMTestPriority			High
+//!@SYMTestActions			1.	Create an instance of CDeviceTypeInformation by calling 
+//!@SYMTestActions				SysUtil::GetDeviceTypeInfo.
+//!@SYMTestActions			2.	Call each of CDeviceTypeInformation member functions.
+//!@SYMTestActions			3.	Check the retrieved value and return codes.
+//!@SYMTestExpectedResults	The retrieved attribute values and return codes should be as 
+//!@SYMTestExpectedResults	described in the in-source documentation. This means either 
+//!@SYMTestExpectedResults	the actual, default or truncated value should be retrieved. 
+//!@SYMTestExpectedResults	In addition to this, an error code should be returned which 
+//!@SYMTestExpectedResults	signifies which of these values has been retrieved.
+//!@SYMTestExpectedResults	Note: In the case of the plug-in and INI file scenario, the 
+//!@SYMTestExpectedResults	plug-in values should take priority over those in the INI files.
+//!@SYMDEF					CR1328
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini NoIni
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_empty_file.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini EmptyIni
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_invalid_format.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini InvalidFormat
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_invalid_encoding.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini InvalidEncoding
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_overflow.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini Overflow
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_invalid_os_version_major.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini InvalidOSVersionMajor
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_invalid_os_version_minor.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini InvalidOSVersionMinor
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_missing_os_version_major.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini MissingOSVersionMajor
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_missing_os_version_minor.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini MissingOSVersionMinor
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_invalid_ui_version_major.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini InvalidUIVersionMajor
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_invalid_ui_version_minor.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini InvalidUIVersionMinor
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_Missing_ui_version_major.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini MissingUIVersionMajor
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_missing_ui_version_minor.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini MissingUIVersionMinor
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_valid.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini ValidIni
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_incomplete.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini IncompleteIni
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_PROGRAM -1 setcap sysutilplugin_test.dll 00000030 C:\sys\bin\sysutilplugin.dll
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini Plugin
+RUN_PROGRAM -1 setcap sysutilplugin_test.dll 00000000 C:\sys\bin\sysutilplugin.dll
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_incomplete.ini c:\versions\deviceattributes.ini
+RUN_PROGRAM -1 setcap sysutilplugin_test.dll 00000030 C:\sys\bin\sysutilplugin.dll
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestDeviceTypeInfoStep z:\testdata\inifiles\te_sysutildata.ini PluginAndIni
+RUN_PROGRAM -1 setcap sysutilplugin_test.dll 00000000 C:\sys\bin\sysutilplugin.dll
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+END_TESTCASE				SYSLIB-BAFL-CT-4056
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4057
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4057
+//!@SYMTestCaseDesc			To ensure the correct localised INI file is used.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			Note: This test should be repeated with:
+//!@SYMTestCaseDesc			-	An INI file with all predefined attributes present which 
+//!@SYMTestCaseDesc				are all valid (this means values should be the correct 
+//!@SYMTestCaseDesc				format and less than or equal to 64 characters).
+//!@SYMTestCaseDesc			-	An INI file which matches corresponds with the set 
+//!@SYMTestCaseDesc				language i.e. if the ideal language is set to Spanish the 
+//!@SYMTestCaseDesc				Spanish version of the INI file should be used.
+//!@SYMTestCaseDesc			-	An INI file which is close to the set language but does 
+//!@SYMTestCaseDesc				not correspond with it.
+//!@SYMTestCaseDesc			For each repetition the INI file should be copied in to 
+//!@SYMTestCaseDesc			C:\versions\deviceattributes.ini. In addition, the P&S 
+//!@SYMTestCaseDesc			properties should be deleted so new ones can be created.
+//!@SYMTestPriority			High
+//!@SYMTestActions			1.	Set the ideal language using BaflUtils::SetIdealLanguage.
+//!@SYMTestActions			2.	Create an instance of CDeviceTypeInformation by calling 
+//!@SYMTestActions				SysUtil::GetDeviceTypeInfo.
+//!@SYMTestActions			3.	Call each of CDeviceTypeInformation member functions.
+//!@SYMTestActions			4.	Check the retrieved value and return codes.
+//!@SYMTestExpectedResults	The retrieved attribute values and return codes should be as 
+//!@SYMTestExpectedResults	described in the in-source documentation. This means either 
+//!@SYMTestExpectedResults	the actual, default or truncated value should be retrieved. 
+//!@SYMTestExpectedResults	In addition to this, an error code should be returned which 
+//!@SYMTestExpectedResults	signifies which of these values has been retrieved.
+//!@SYMDEF					CR1328
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_localised.i02 c:\versions\deviceattributes.i02
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestLocalisedIniStep z:\testdata\inifiles\te_sysutildata.ini LocalisedExactMatch
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.i02
+RUN_UTILS DeleteFile c:\versions\deviceattributes.i02
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_localised.ini c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestLocalisedIniStep z:\testdata\inifiles\te_sysutildata.ini LocalisedCloseMatch
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+END_TESTCASE				SYSLIB-BAFL-CT-4057
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4058
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4058
+//!@SYMTestCaseDesc			To ensure the INI file isn’t read twice.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			Note: The INI file should be copied in to 
+//!@SYMTestCaseDesc			C:\versions\deviceattributes.ini. In addition the P&S 
+//!@SYMTestCaseDesc			properties should be deleted so new ones can be created.
+//!@SYMTestPriority			Medium
+//!@SYMTestActions			1.	Create an instance of CDeviceTypeInformation by calling 
+//!@SYMTestActions				SysUtil::GetDeviceTypeInfo (this makes sure the device 
+//!@SYMTestActions				attributes P&S property gets set).
+//!@SYMTestActions			2.	Delete the instance of CDeviceTypeInformation.
+//!@SYMTestActions			3.	Replace the INI file in C:\versions\ with one which 
+//!@SYMTestActions				contains different attributes values.
+//!@SYMTestActions			4.	Create a new instance of CDeviceTypeInformation by 
+//!@SYMTestActions				calling SysUtil::GetDeviceTypeInfo.
+//!@SYMTestActions			5.	Call each of CDeviceTypeInformation member functions 
+//!@SYMTestActions				checking the retrieved values and return codes.
+//!@SYMTestExpectedResults	The retrieved values should be the ones in the first INI file 
+//!@SYMTestExpectedResults	and the corresponding return codes should be returned.
+//!@SYMDEF					CR1328
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_persistence_ini_read.ini c:\versions\deviceattributes.ini
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestPersistenceIniStep z:\testdata\inifiles\te_sysutildata.ini PersistenceIni
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+END_TESTCASE				SYSLIB-BAFL-CT-4058
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4059
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4059
+//!@SYMTestCaseDesc			To ensure that if more than 450 attributes are provisioned, 
+//!@SYMTestCaseDesc			they are handled correctly.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			Note: This test should be repeated with an INI file 
+//!@SYMTestCaseDesc			containing the following number of attributes:
+//!@SYMTestCaseDesc			-	450
+//!@SYMTestCaseDesc			-	451
+//!@SYMTestCaseDesc			For each repetition the INI file should be copied in to 
+//!@SYMTestCaseDesc			C:\versions\deviceattributes.ini. In addition, the P&S 
+//!@SYMTestCaseDesc			properties should be deleted so new ones can be created.
+//!@SYMTestPriority			High
+//!@SYMTestActions			1.	Create an instance of CDeviceTypeInformation by calling 
+//!@SYMTestActions				SysUtil::GetDeviceTypeInfoL.
+//!@SYMTestExpectedResults	In the first case, SysUtil::GetDeviceTypeInfoL should return 
+//!@SYMTestExpectedResults	a valid pointer to an instance of CDeviceTypeInformation. In 
+//!@SYMTestExpectedResults	the second case, it should leave with error code of KErrNotReady.
+//!@SYMDEF					CR1328
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_450.ini C:\versions\deviceattributes.ini
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestAttributesLimitStep z:\testdata\inifiles\te_sysutildata.ini AttributesLimitErrNone
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+
+RUN_UTILS CopyFile z:\resource\versions\deviceattributes_451.ini C:\versions\deviceattributes.ini
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestAttributesLimitStep z:\testdata\inifiles\te_sysutildata.ini AttributesLimitNotReady
+RUN_UTILS MakeReadWrite c:\versions\deviceattributes.ini
+RUN_UTILS DeleteFile c:\versions\deviceattributes.ini
+END_TESTCASE				SYSLIB-BAFL-CT-4059
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4062
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4062
+//!@SYMTestCaseDesc			To ensure that the plug-in is only loaded from the Z drive.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			Note A version of the plug-in should be located in 
+//!@SYMTestCaseDesc			Z:\sys\bin\sysutilplugin.dll. In addition, the P&S properties 
+//!@SYMTestCaseDesc			should be deleted so new ones can be created.
+//!@SYMTestExpectedResults	The retrieved attribute values should be the defaults and the 
+//!@SYMTestPriority			High
+//!@SYMTestActions			1.	Place a plug-in on the system drive.
+//!@SYMTestActions			2.	Create an instance of CDeviceTypeInformation by calling 
+//!@SYMTestActions				SysUtil::GetDeviceTypeInfo.
+//!@SYMTestActions			3.	Call each of CDeviceTypeInformation member functions.
+//!@SYMTestActions			4.	Check the retrieved value and return codes.
+//!@SYMTestExpectedResults	return codes should be KDefaultValue.
+//!@SYMDEF					CR1328
+RUN_PROGRAM -1 setcap sysutilplugin_test.dll 00000030 C:\sys\bin\sysutilplugin.dll
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestPluginOverrideStep z:\testdata\inifiles\te_sysutildata.ini PluginOverride
+RUN_PROGRAM -1 setcap sysutilplugin_test.dll 00000000 C:\sys\bin\sysutilplugin.dll
+END_TESTCASE				SYSLIB-BAFL-CT-4062
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4064
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4064
+//!@SYMTestCaseDesc			To provide performance information for the current version of 
+//!@SYMTestCaseDesc			the API so it can be compared with the legacy version of the API. 
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			Note: The first call to SysUtil::GetSWVersion() reads the 
+//!@SYMTestCaseDesc			data from sw.txt, lang.txt and langsw.txt and sets up the 
+//!@SYMTestCaseDesc			Version P&S Properties to store this data. This call should 
+//!@SYMTestCaseDesc			take a lot longer than the second call which needs to only 
+//!@SYMTestCaseDesc			read the data from the SW P&S property.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			The test must have been run on the legacy SysUtil API to get a 
+//!@SYMTestCaseDesc			performance reading. This needs to be done only once for each 
+//!@SYMTestCaseDesc			hardware build target. To generate times for new build targets, 
+//!@SYMTestCaseDesc			timelegacyapis.exe should be run. This can be found under the 
+//!@SYMTestCaseDesc			helper folder in sysutil tests.
+//!@SYMTestCaseDesc			The TXT files (sw.txt, lang.txt and langsw.txt) must be on 
+//!@SYMTestCaseDesc			the Z drive to simulate real usage.
+//!@SYMTestCaseDesc			The P&S properties should be deleted so new ones can be created.
+//!@SYMTestPriority			High
+//!@SYMTestActions			1.	Start timer.
+//!@SYMTestActions			2.	Call SysUtil::GetSWVersion().
+//!@SYMTestActions			3.	Stop timer and record time.
+//!@SYMTestActions			4.	Start timer.
+//!@SYMTestActions			5.	Call SysUtil::GetSWVersion().
+//!@SYMTestActions			6.	Stop timer and record time.
+//!@SYMTestActions			7.	Print the first and second times of the current and legacy APIs.
+//!@SYMTestExpectedResults	The test should always pass.
+//!@SYMDEF					CR1328
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestPerfSWPSPropertyStep
+END_TESTCASE				SYSLIB-BAFL-CT-4064
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4065
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4065
+//!@SYMTestCaseDesc			To provide performance information for the current version of 
+//!@SYMTestCaseDesc			the API so it can be compared with the legacy version of the API.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			Note: The first call to SysUtil::GetLangVersion() reads the 
+//!@SYMTestCaseDesc			data from sw.txt, lang.txt and langsw.txt and sets up the 
+//!@SYMTestCaseDesc			Version P&S Properties to store this data. This call should 
+//!@SYMTestCaseDesc			take a lot longer than the second call which needs to only 
+//!@SYMTestCaseDesc			read the data from the Lang P&S property.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			The test must have been run on the legacy SysUtil API to get a 
+//!@SYMTestCaseDesc			performance reading. This needs to be done only once for each 
+//!@SYMTestCaseDesc			hardware build target. To generate times for new build targets, 
+//!@SYMTestCaseDesc			timelegacyapis.exe should be run. This can be found under the 
+//!@SYMTestCaseDesc			helper folder in sysutil tests.
+//!@SYMTestCaseDesc			The TXT files (sw.txt, lang.txt and langsw.txt) must be on 
+//!@SYMTestCaseDesc			the Z drive to simulate real usage.
+//!@SYMTestCaseDesc			The P&S properties should be deleted so new ones can be created.
+//!@SYMTestPriority			High
+//!@SYMTestActions			1.	Start timer.
+//!@SYMTestActions			2.	Call SysUtil::GetLangVersion().
+//!@SYMTestActions			3.	Stop timer and record time.
+//!@SYMTestActions			4.	Start timer.
+//!@SYMTestActions			5.	Call SysUtil::GetLangVersion().
+//!@SYMTestActions			6.	Stop timer and record time.
+//!@SYMTestActions			7.	Print the first and second times of the current and legacy APIs.
+//!@SYMTestExpectedResults	The test should always pass.
+//!@SYMDEF					CR1328
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestPerfLangPSPropertyStep
+END_TESTCASE				SYSLIB-BAFL-CT-4065
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4066
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4066
+//!@SYMTestCaseDesc			To provide performance information for the current version of 
+//!@SYMTestCaseDesc			the API so it can be compared with the legacy version of the API. 
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			Note: : The first call to SysUtil::GetLangSWVersion() reads 
+//!@SYMTestCaseDesc			the data from sw.txt, lang.txt and langsw.txt and sets up the 
+//!@SYMTestCaseDesc			Version P&S Properties to store this data. This call should 
+//!@SYMTestCaseDesc			take a lot longer than the second call which needs to only 
+//!@SYMTestCaseDesc			read the data from the LangSW P&S property.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			The test must have been run on the legacy SysUtil API to get a 
+//!@SYMTestCaseDesc			performance reading. This needs to be done only once for each 
+//!@SYMTestCaseDesc			hardware build target. To generate times for new build targets, 
+//!@SYMTestCaseDesc			timelegacyapis.exe should be run. This can be found under the 
+//!@SYMTestCaseDesc			helper folder in sysutil tests.
+//!@SYMTestCaseDesc			The TXT files (sw.txt, lang.txt and langsw.txt) must be on 
+//!@SYMTestCaseDesc			the Z drive to simulate real usage.
+//!@SYMTestCaseDesc			The P&S properties should be deleted so new ones can be created.
+//!@SYMTestPriority			High
+//!@SYMTestActions			1.	Start timer.
+//!@SYMTestActions			2.	Call SysUtil::GetLangSWVersion().
+//!@SYMTestActions			3.	Stop timer and record time.
+//!@SYMTestActions			4.	Start timer.
+//!@SYMTestActions			5.	Call SysUtil::GetLangSWVersion().
+//!@SYMTestActions			6.	Stop timer and record time.
+//!@SYMTestActions			7.	Print the first and second times of the current and legacy APIs.
+//!@SYMTestExpectedResults	The test should always pass.
+//!@SYMDEF					CR1328
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestPerfLangSWPSPropertyStep
+END_TESTCASE				SYSLIB-BAFL-CT-4066
+
+
+START_TESTCASE				SYSLIB-BAFL-CT-4067
+//!@SYMTestCaseID			SYSLIB-BAFL-CT-4067
+//!@SYMTestCaseDesc			To provide performance information for the GetDeviceTypeInfoL API.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			Note: The first call to SysUtil::GetDeviceTypeInfoL() gets the 
+//!@SYMTestCaseDesc			data from the plug-in and sets up the DeviceTypeInfo P&S 
+//!@SYMTestCaseDesc			Property to store this data. This call should take a lot 
+//!@SYMTestCaseDesc			longer than the second call which needs to only read the data 
+//!@SYMTestCaseDesc			from the DeviceTypeInfo P&S property.
+//!@SYMTestCaseDesc			
+//!@SYMTestCaseDesc			A plug-in containing valid device type information must 
+//!@SYMTestCaseDesc			be located in Z:\sys\bin to simulate real usage.
+//!@SYMTestCaseDesc			The P&S properties should be deleted so new ones can be created
+//!@SYMTestCaseDesc			It is not possible to use INI files for this test as it will 
+//!@SYMTestCaseDesc			impact the results of SYSLIB-BAFL-CT-4062.
+//!@SYMTestPriority			High
+//!@SYMTestActions			1.	Start timer.
+//!@SYMTestActions			2.	Call SysUtil::GetDeviceTypeInfoL ().
+//!@SYMTestActions			3.	Stop timer and record time.
+//!@SYMTestActions			4.	Start timer.
+//!@SYMTestActions			5.	Call SysUtil::GetDeviceTypeInfoL ().
+//!@SYMTestActions			6.	Stop timer and record time.
+//!@SYMTestActions			7.	Print both sets of times.
+//!@SYMTestExpectedResults	The test should always pass.
+//!@SYMDEF					CR1328
+RUN_TEST_STEP 100 te_sysutiltestsuite SysUtilsTestPerfDeviceTypeInfoPSPropertyStep
+END_TESTCASE				SYSLIB-BAFL-CT-4067
+
+RUN_UTILS DeleteDirectory c:\versions