//
// 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:
//
/////////////////////////////////////////////////////////////////////
// graphics-wserv-integ-surface5.script
//
// Tests elements of the classes associated with RWindow,
// as a means of confidence that the APIs work as expected.
//
// The purpose is to provide a regression test suite of Public
// APIs for RWindow. Negative testing is performed to confirm that correct
// errors are returned when incorrect parameters are given.
//
// The tests are fully automated.
/////////////////////////////////////////////////////////////////////
//! @file
//! @SYMTestSuiteName graphics-wserv-integ-surface
//! @SYMScriptTestEnvironment This test script requires a basic ROM.
LOAD_SUITE t_wservintegserver
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0061-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0061-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Background animation with semi-transparent UI Components - Open GL ES
//! @SYMTestActions Environment settings:
//! Window Size: Full screen
//! Image Size: Full screen
//! Simulated Load: 0%
//! Colour Depth: 16MAP
//! Pixel Format: RGB
//! Screen Number: 0
//! Rotation: 0
//! Screen Location: (0,0)
//! Execution Time: 30s
//! Frame Rate: 30fps
//! Buffer Format: [whatever is implemented within EGL adaptation]
//! Start SimLoadApp
//! Start animation:
//! Create Rwindow
//! Call eglCreateWindowSurface
//! Render to egl window surface
//! Content is to be simple but quickly indicative of failure to the human eye.
//! Register callback for image update
//! Create simulated UI Components
//! Draw components using CwindowGC::BitBlt() with preloaded images of UI components (button, menu bar). Set as semi-transparent. Drawn to both the main window (with surface) and separate child windows.
//! Activate Window.
//! Update Image with next frame
//! Utilise RsurfaceHandle notification to indicate when surface has been consumed by GCE. Use Surface data APIs to update contents. Invalidate window to cause redraw.
//! Continuously perform Image updates to produce animation.
//! Measure the frame rate at which the display is updated.
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Frame Rate: 30fps
//! Display is composed of moving image in background, with semi-transparent UI components in foreground. The moving image is that of a clock sweep with large numerals indicating the frame number.
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 100 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0061-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0061-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0062-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0062-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Background animation with semi-transparent UI Components - Open GL ES
//! @SYMTestActions Repeat graphics-0061 but open a semi-transparent dialog box in its own window in the foreground from a separate process/thread. Close dialog.
//! Measure the frame rate at which the display is updated
//!
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Frame Rate: 30fps
//! Display is composed of moving image in background, with semi-transparent UI components in foreground. The moving image is that of a clock sweep with large numerals indicating the frame number. Semi-transparent dialog box is opened, and then closed.
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 100 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0062-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0062-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0063-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0063-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Background animation with semi-transparent UI Components - Open VG
//! @SYMTestActions Repeat graphics-0061 but utilise OpenVG APIs
//! Measure the frame rate at which the display is updated
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Frame Rate: 30fps
//! Display is composed of moving image in background, with semi-transparent UI components in foreground. The moving image is that of a clock sweep with large numerals indicating the frame number
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 100 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0063-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0063-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0064-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0064-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Background animation with semi-transparent UI Components - Open VG
//! @SYMTestActions Repeat graphics-0063 but open a semi-transparent dialog box in its own window in the foreground from a separate process/thread. Close dialog.
//! Measure the frame rate at which the display is updated
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Frame Rate: 30fps
//! Display is composed of moving image in background, with semi-transparent UI components in foreground. The moving image is that of a clock sweep with large numerals indicating the frame number. Semi-transparent dialog box is opened, and then closed.
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 100 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0064-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0064-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0065-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0065-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Stress Test - simulated video, viewfinder, and animation
//! @SYMTestActions Add an animated window to the setup described in GRAPHICS-0046-001.
//! Ensure windows do not overlap.
//! Each app that ‘draws’ to a window has the same priority
//! box in its own window in the foreground from a separate process/thread. Close dialog.
//! Measure frame rate.
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure criteria To be determined
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 500 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0065-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0065-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0066-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0066-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Stress Test - simulated video, viewfinder, and animation - with spiked cpu load
//! @SYMTestActions Measure the frame rate at which the display is updated.
//! Ensure graphics subsystem provides adequate performance under stress conditions.
//! Setup as graphics-0085
//! Configure simulated load to spike to max cpu load, for 10% of time
//! Measure frame rate.
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure criteria To be determined
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 500 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0066-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0066-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0067-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0067-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Stress Test - simulated video, viewfinder, and animation - additional animation 1
//! @SYMTestActions Measure the frame rate at which the display is updated.
//! Ensure graphics subsystem provides adequate performance under stress conditions.
//! Setup as graphics-0065
//! Add another animated window.
//! Measure frame rate.
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure criteria To be determined
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 500 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0067-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0067-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0068-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0068-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Stress Test - simulated video, viewfinder, and animation - additional animation 2
//! @SYMTestActions Measure the frame rate at which the display is updated.
//! Ensure graphics subsystem provides adequate performance under stress conditions.
//! Setup as graphics-0065
//! Add 4 animated windows
//! Measure frame rate.
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure criteria To be determined
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 500 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0068-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0068-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0069-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0069-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Stress Test - simulated video, viewfinder, and animation - resize, and move
//! @SYMTestActions Measure the frame rate at which the display is updated.
//! Ensure graphics subsystem provides adequate performance under stress conditions.
//! provides adequate performance under stress conditions.
//! Setup as graphics-0065
//! Move and resize windows.
//! Movement must include off-screen, and overlapping
//! Rate of change is configurable, i.e. every 5 frames, every frame, every 10 frames.
//! Measure frame rate.
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure criteria To be determined
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 500 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0069-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0069-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0070-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0070-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Stress Test - simulated video, viewfinder, and animation - alpha changing
//! @SYMTestActions Measure the frame rate at which the display is updated.
//! Ensure graphics subsystem provides adequate performance under stress conditions.
//!
//! Setup as graphics-0065
//! Move and resize windows.
//! Movement must include off-screen, and overlapping
//! Rate of change is configurable, i.e. every 5 frames, every frame, every 10 frames.
//! Gradually increase alpha for transparent windows (i.e. simulated UI controls) from 0, to 1, then down again
//! Measure frame rate.
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure criteria To be determined
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 500 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0070-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0070-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0071-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0071-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Performance Test - Send rapid surface updates
//! @SYMTestActions Measure the frame rate at which the display is updated.
//! Ensure graphics subsystem provides adequate performance under stress conditions.
//! Create an opaque UI window and associated background surface
//! Update the surface each frame with a simple pattern such as 1/4 black 3/4 white
//! changing the position of the black 1/4 each frame
//!
//! Measure frame rate.
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure criteria To be determined
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 500 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0071-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0071-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0072-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0072-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8225 8227
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Moving Image with opaque UI Components, with a surface of yuv pixel format
//! @SYMTestActions graphics-wserv-integ-surface-0001-001 as a base
//! Measure the frame rate at which the display is updated
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure Criteria: To be determined
//! Display is composed of moving image in background, with opaque UI components in foreground. The moving image is that of a clock sweep with large numerals indicating the frame number.
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 100 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0072-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0072-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0073-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0073-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor John Mercer
//! @SYMCreationDate 24/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Moving Image with opaque UI Components, with a surface of RGB 16 bit pixel format
//! @SYMTestActions graphics-wserv-integ-surface-0001-001 as a base
//! Measure the frame rate at which the display is updated
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure Criteria: To be determined
//! Display is composed of moving image in background, with opaque UI components in foreground. The moving image is that of a clock sweep with large numerals indicating the frame number.
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 100 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0073-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0073-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0074-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0074-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor Usman Fayyaz
//! @SYMCreationDate 20/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Moving Image with opaque UI Components, with a surface of yuv pixel format
//! @SYMTestActions graphics-wserv-integ-surface-0001-001 as a base
//! Measure the frame rate at which the display is updated when GCE is composing
//! two surfaces created by two independent processes
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults Failure Criteria: To be determined
//! Display is composed of two windows (created by two independent processes) with moving image in background, with opaque UI components in foreground. The moving image is that of a clock sweep with large numerals indicating the frame number.
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 500 t_wservintegserver WServIntegSurface c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0074-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0074-0001
START_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0075-0001
//! @SYMTestCaseID GRAPHICS-WSERV-INTEG-SURFACE-0075-0001
//! @SYMPREQ 1007 1019
//! @SYMREQ 8222 8223 8227 8229
//! @SYMAPI RWindow
//! @SYMAuthor Usman Fayyaz
//! @SYMCreationDate 28/08/2007
//! @SYMTestCaseDependencies graphics-wserv-integ-surface.script
//! @SYMTestCaseDesc Evalutate the result when GCE is forced to carry out updates at 30fps
//! @SYMTestActions Submit surface updates at 30fps
//! @SYMTestStatus Implemented
//! @SYMTestPriority 1
//! @SYMTestExpectedResults No pass/fail criteria
//! @SYMTestType CIT
RUN_TEST_STEP !Heap=0x200000 500 t_wservintegserver WServIntegFps c:\graphics\graphics-wserv-integ-surface.ini graphics-wserv-integ-surface-0075-001
END_TESTCASE GRAPHICS-WSERV-INTEG-SURFACE-0075-0001