commonservices/sysutil/test/tef/te_sysutiltestsuite/scripts/te_sysutiltestsuite.script
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 16:29:05 +0300
branchRCL_3
changeset 21 ccb4f6b3db21
parent 0 4e1aa6a622a0
child 22 8cb079868133
permissions -rw-r--r--
Revision: 201033 Kit: 201035

// Copyright (c) 2007-2010 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

RUN_UTILS CopyFile z:\resource\versions\test\purpose.txt c:\versions\purpose.txt
RUN_UTILS MakeReadWrite c:\versions\purpose.txt

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\test\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

RUN_UTILS DeleteFile c:\versions\purpose.txt

RUN_UTILS CopyFile z:\resource\versions\test\sw.txt c:\versions\sw.txt
RUN_UTILS MakeReadWrite c:\versions\sw.txt

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\test\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

RUN_UTILS DeleteFile c:\versions\sw.txt

RUN_UTILS CopyFile z:\resource\versions\test\langsw.txt c:\versions\langsw.txt
RUN_UTILS MakeReadWrite c:\versions\langsw.txt

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\test\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

RUN_UTILS DeleteFile c:\versions\langsw.txt

RUN_UTILS CopyFile z:\resource\versions\test\lang.txt c:\versions\lang.txt
RUN_UTILS MakeReadWrite c:\versions\lang.txt

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\test\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

RUN_UTILS DeleteFile c:\versions\lang.txt


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