commonservices/sysutil/test/tef/te_sysutiltestsuite/scripts/te_sysutiltestsuite.script
--- /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