sl@0: // sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: //! @file sl@0: //! @SYMTestSuiteName PBASE-F32-RFS-Misc-PublicApi-ANY sl@0: //! @SYMScriptTestEnvironment This test script requires a basic ROM. sl@0: //! @SYMScriptAuthor Oleg Kuznetsov sl@0: //! @SYMScriptDescription The test script contains API tests for RFs functions that don't depend on any special type of test drive. sl@0: sl@0: LOAD_SUITE T_Sfsrv sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3001 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3001 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function Connect() test. sl@0: //! Uses API elements: Connect(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestExpectedResults Doesn't cause panic. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3001 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3002 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3002 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function Version() test. sl@0: //! Uses API elements: Version(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call Version(). sl@0: //! 3. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestExpectedResults Doesn't cause panic sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect sl@0: COMMAND RFs1 Version sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3002 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3011 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3011 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function SetNotifyUser() and GetNotifyUser() test. sl@0: //! Uses API elements: SetNotifyUser(), GetNotifyUser(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call SetNotifyUser() and pass "false" as parameter. sl@0: //! 3. Call GetNotifyUser() and check that it returns "false". sl@0: //! 4. Call SetNotifyUser() and pass "true" as parameter. sl@0: //! 5. Call GetNotifyUser() and check that it returns "true". sl@0: //! 6. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestExpectedResults GetNotifyUser() returns value that was set by SetNotifyUser(). sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect PBASE-F32-RFS-PublicApi-3011-001-SetNotifyUser_command03 sl@0: COMMAND RFs1 SetNotifyUser PBASE-F32-RFS-PublicApi-3011-001-SetNotifyUser_command03 sl@0: COMMAND RFs1 GetNotifyUser PBASE-F32-RFS-PublicApi-3011-001-GetNotifyUser_command04 sl@0: COMMAND RFs1 SetNotifyUser PBASE-F32-RFS-PublicApi-3011-001-SetNotifyUser_command05 sl@0: COMMAND RFs1 GetNotifyUser PBASE-F32-RFS-PublicApi-3011-001-GetNotifyUser_command06 sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3011 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3014 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3014 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function LoaderHeapFunction() test. sl@0: //! Uses API elements: LoaderHeapFunction(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call LoaderHeapFunction() and pass 1 as parameter. sl@0: //! 3. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestExpectedResults KErrNotSupported, because This member function is not implemented in this version. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect sl@0: COMMAND !Error=-5 RFs1 LoaderHeapFunction PBASE-F32-RFS-PublicApi-3014-001-LoaderHeapFunction_command03 sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3014 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3101 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3101 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function Connect() negative test where number of message slots is zero. sl@0: //! Uses API elements: Connect(). sl@0: //! @SYMTestActions 1. Call Connect() and pass number of message slots 0 as parameter. sl@0: //! 2. Call NotifyChange() passing ENotifyAll as parameter and starts waiting for a notification on the background. sl@0: //! 3. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestExpectedResults Function return KErrServerBusy as there will be no slots available for NotifyChange sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect PBASE-F32-RFS-PublicApi-3101-001-Connect_command02 sl@0: COMMAND !AsyncError=-16 RFs1 NotifyChange PBASE-F32-RFS-PublicApi-3101-001-NotifyChange_command03 sl@0: OUTSTANDING sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3101 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3103 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3103 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function Connect() test where the connect is called twice. sl@0: //! Uses API elements: Connect(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call Connect(). sl@0: //! 3. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestExpectedResults Doesn't cause panic. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect sl@0: COMMAND RFs1 Connect sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3103 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3104 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3104 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function Version() test when function was called without connecting to the file server. sl@0: //! Uses API elements: Version(). sl@0: //! @SYMTestActions 1. Call Version() without calling Connect() before and Close() after. sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestExpectedResults Doesn't cause panic. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Version sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3104 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3111 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3111 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function NotifyChangeCancel(TRequestStatus &aStat) test where function called without call NotifyChange() before. sl@0: //! Uses API elements: NotifyChangeCancel(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call NotifyChangeCancel() for all outstanding requests. sl@0: //! 3. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestExpectedResults Does not cause Panic. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect sl@0: COMMAND RFs1 NotifyChangeCancel PBASE-F32-RFS-PublicApi-3111-001-NotifyChangeCancel_command03 sl@0: OUTSTANDING sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3111 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3114 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3114 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function NotifyDiskSpace() negative test where drive number is negative. sl@0: //! Uses API elements: NotifyDiskSpace(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call NotifyDiskSpace() and pass -12345 as drive number and starts waiting for a notification on the background. sl@0: //! 3. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestExpectedResults Function return status KErrBadName. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect sl@0: COMMAND !AsyncError=-28 RFs1 NotifyDiskSpace PBASE-F32-RFS-PublicApi-3114-001-NotifyDiskSpace_command03 sl@0: OUTSTANDING sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3114 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3115 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3115 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function NotifyDiskSpaceCancel() (synchronous version) test where function called without call NotifyDiskSpace() before. sl@0: //! Uses API elements: NotifyDiskSpaceCancel(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call NotifyDiskSpaceCancel() for all outstanding requests. sl@0: //! 3. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestExpectedResults Does not cause Panic. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect sl@0: COMMAND RFs1 NotifyDiskSpaceCancel PBASE-F32-RFS-PublicApi-3115-001-NotifyDiskSpaceCancel_command03 sl@0: OUTSTANDING sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3115 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3121 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3121 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function IsRomAddress() test where address is 0. sl@0: //! Uses API elements: IsRomAddress(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call IsRomAddress() and pass 0 as parameter and check that not in rom. sl@0: //! 3. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestExpectedResults Doesn't cause panic. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect sl@0: COMMAND RFs1 IsRomAddress PBASE-F32-RFS-PublicApi-3121-001-IsRomAddress_command03 sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3121 sl@0: sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3127 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3127 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function NotifyChangeCancel() test that cancels same request status twice. sl@0: //! Uses API elements: NotifyChange(), NotifyChangeCancel(). sl@0: //! @SYMTestActions 1. Call Connect(). sl@0: //! 2. Call NotifyChange() and pass ENotifyDir as parameter and starts waiting for a notification on the background. sl@0: //! 3. Call NotifyChangeCancel() for the request status. sl@0: //! 4. Call NotifyChangeCancel() for the request status. sl@0: //! 5. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority Critical sl@0: //! @SYMTestExpectedResults Request status is KErrCancel(-3) and the test doesn't cause panic. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND RFs1 Connect sl@0: COMMAND !AsyncError=-3 RFs1 NotifyChange PBASE-F32-RFS-PublicApi-3127-001-NotifyChange_command03 sl@0: COMMAND RFs1 NotifyChangeCancel PBASE-F32-RFS-PublicApi-3127-001-NotifyChangeCancel_command04 sl@0: COMMAND RFs1 NotifyChangeCancel PBASE-F32-RFS-PublicApi-3127-001-NotifyChangeCancel_command05 sl@0: OUTSTANDING sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3127 sl@0: sl@0: START_TESTCASE PBASE-F32-RFS-PublicApi-3102 sl@0: //! @SYMTestCaseID PBASE-F32-RFS-PublicApi-3102 sl@0: //! @SYMAPI RFs sl@0: //! @SYMTestCaseDesc Function Connect() negative test where number of message slots is invalid. sl@0: //! Uses API elements: Connect(). sl@0: //! @SYMTestActions 1. Call Connect() and pass negative number of message slots -12345 as parameter. sl@0: //! 2. Call Close(). sl@0: //! @SYMTestStatus Implemented sl@0: //! @SYMTestPriority High sl@0: //! @SYMTestExpectedResults Function return KErrArgument. sl@0: //! @SYMTestType CIT sl@0: START_TEST_BLOCK 100 T_Sfsrv \base\PBASE-F32-RFS-Misc-PublicApi-ANY.ini sl@0: CREATE_OBJECT RFs RFs1 sl@0: COMMAND RFs1 new sl@0: COMMAND !Error=-6 RFs1 Connect PBASE-F32-RFS-PublicApi-3102-001-Connect_command02 sl@0: COMMAND RFs1 Close sl@0: COMMAND RFs1 ~ sl@0: END_TEST_BLOCK sl@0: END_TESTCASE PBASE-F32-RFS-PublicApi-3102 sl@0: sl@0: