//
// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "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:
//

LOAD_SUITE Te_PerformanceFunctionalitySuite

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81152
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81152
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc CRUD Out of Memory tests
//! @SYMTestActions Store client-side heap size
//! Set API call to fail at on nth allocation
//! Call Create, read, update, commit, close  APIs
//! Check that the correct error code is returned
//! Check that client-side heap size is the same as the initial size
//! Repeat test until the api completes successfully
//! Repeat test for server-side allocation
//! @SYMTestExpectedResults Check that the correct error code is returned and that no memory leaks occur after the api call fails
RUN_TEST_STEP 500 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini Read
RUN_TEST_STEP 1000 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini Open
RUN_TEST_STEP 1000 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini Delete
RUN_TEST_STEP 1000 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini Add
RUN_TEST_STEP 500 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini Close
RUN_TEST_STEP 1000 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini Commit
RUN_TEST_STEP 1000 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini Update
END_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81152

START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81167
//! @SYMTestCaseID PIM-APPENG-CNTMODEL-CIT-P81167
//! @SYMTestType CIT
//! @SYMTestPriority High
//! @SYMPREQ 811
//! @SYMTestCaseDesc views OOM test
//! @SYMTestActions Store client-side heap size
//! Set API call to fail at on nth allocation
//! Create Local View
//! Wait for view to get populated
//! Check that the correct error code is returned
//! Check that client-side heap size is the same as the initial size	
//! Repeat test until view is populated successfully
//! Repeat test for server-side allocation
//! Repeat test for remote view
//! @SYMTestExpectedResults KErrNoMemory error code is returned, OOM situation should cause out of memory error
//! client-side heap size is the same as the initial size, All functions should be leave safe
RUN_TEST_STEP 10000 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini ViewsLocalFS
RUN_TEST_STEP 1000 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini ViewsRemote
RUN_TEST_STEP 1000 Te_PerformanceFunctionalitySuite CRUDOOMStep c:\PerformanceFunc\configs\te_PerformanceFunctionalitySuite.ini ViewsLocal
START_TESTCASE PIM-APPENG-CNTMODEL-CIT-P81167