windowing/windowserver/test/t_integ/scripts/graphics-wserv-integ-surface5.script
author William Roberts <williamr@symbian.org>
Thu, 03 Jun 2010 17:39:46 +0100
branchNewGraphicsArchitecture
changeset 87 0709f76d91e5
parent 0 5d03bc08d59c
permissions -rw-r--r--
Add MMP files to build libOpenVG_sw.lib which uses LINKAS to redirect to libOpenVG.dll (and the same for libEGL_sw.lib and libOpenVGU_sw.lib). Only the libEGL_sw.lib redirection isn't activated - this can't happen until there is a merged libEGL.dll which supports the OpenWF synchronisation and also implements the graphical support functions. The overall aim is to eliminate the *_sw.dll implementations, at least as a compile-time way of choosing a software-only implementation.The correct way to choose is to put the right set of libraries into a ROM with suitable renaming, and in the emulator to use the "switching DLL" technique to pick the right set. As the Symbian Foundation doesn't have any alternative implementations, we don't need the switching DLLs and we can build directly to the correct name.

//
// 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