--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsdeviceinterface/directgdi/test/scripts/directgditest_setup_hw.bat Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,225 @@
+rem Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@echo off
+
+rem ================================================================================================
+rem
+rem NOTES:
+rem - This batch file is used by DABS to automate DirectGDI tests.
+rem - The reason behind it is the amount of data used by the tests, which is too
+rem big for sys$rom.bin to handle
+rem - This file is both useful for overnight automated testing in DABS as well as a reference
+rem for the correct setup of the tests during a manual execution.
+rem
+rem USAGE:
+rem install -> Installs to the MMC card all data needed by the test. The process of searching
+rem for the usb drive is automated.
+rem :copy -> Retrieves from the MMC card all the output, copying it back to the PC performing
+rem the automated build.
+rem :parse -> Once the data is in the build PC, a set of Python scripts are run to generate
+rem a report page to present the results in an html format.
+rem
+rem CAVEAT:
+rem - From dabslaunch_v6, DABS has been updated as part of the BATS project. Due to
+rem the nature of BATS, the mechanism for sending and retrieving data to and from the MMC card
+rem has been updated, as there is no longer a 1 to 1 connection between a build machine and a
+rem hardware board (making the usb search mechanism useless).
+rem - This results in a scenario where in a BATS system, only DABS knows in which board a
+rem particular rom is going to run. For that reason, both :install and :copy are not used within
+rem the BATS scripts, but nevertheless, they have been left here for reference as well as for
+rem a helping tool when doing the setup manually.
+rem
+rem ================================================================================================
+
+setlocal
+
+:: Initialise local variables
+set TARGET_PLATFORM=%1
+set COMMAND_CHOICE=%2
+
+
+goto :%COMMAND_CHOICE%
+
+
+rem ===============================================================
+rem == =======
+rem == SUPPORT FUNCTIONS =======
+rem == =======
+rem ===============================================================
+
+:checkForUsbDrive
+ dir %1:\ 2>&1 | find "%1:" >NUL 2>&1
+ if ERRORLEVEL 1 goto :EOF
+ if not exist %1:\usbload.zip goto :EOF
+ echo INFO: %1:\usbload.zip found!
+ set HARDWARE_USB=true
+ set HARDWARE_USB_DRIVE=%1
+goto :EOF
+
+:wait
+ echo INFO: Waiting %1 seconds
+ for /L %%j in (2,1,%1) do call :wait1
+ :wait1
+ for %%i in (%time%) do set startsec=%%~ni%
+ :loop_wait
+ set endsec=
+ for %%k in (%time%) do set endsec=%%~nk%
+ if %endsec%==%startsec% goto loop_wait
+goto :EOF
+
+:searchForUSB
+ for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call :checkForUsbDrive %%i
+goto :EOF
+
+:checkAutomation
+ set HARDWARE_USB=false
+ if not exist "\trgtest.exe" echo INFO: \trgtest.exe not found & goto :EOF
+ if not exist "\hardwarecontrol.exe" echo INFO: \hardwarecontrol.exe not found & goto :EOF
+ if not exist "\devcon.exe" echo INFO: \devcon.exe not found & goto :EOF
+
+ call \devcon.exe remove "USB\Vid_0e22&Pid_1112&Rev_0305"
+
+ echo INFO: Hardware OFF
+ call \hardwarecontrol.exe --off
+
+ call :wait 2
+
+ echo INFO: Hardware ON
+ call \hardwarecontrol.exe --on
+
+ call :wait 15
+ call :searchForUSB
+
+ if /i "%HARDWARE_USB%"=="true" goto :skipUsbSearch
+
+ echo INFO: USB Drive not found, trying again...
+ echo INFO: Hardware OFF
+ call \hardwarecontrol.exe --off
+
+ call :wait 2
+
+ echo INFO: Hardware ON
+ call \hardwarecontrol.exe --on
+
+ call :wait 15
+ call :searchForUSB
+
+ if /i "%HARDWARE_USB%"=="true" goto :skipUsbSearch
+ call :usbNotFound
+ goto :EOF
+
+:skipUsbSearch
+ if not exist \logs\%TARGET_PLATFORM% md \logs\%TARGET_PLATFORM%
+goto :EOF
+
+:usbNotFound
+ echo ERROR: Target USB Drive not found
+ call \hardwarecontrol.exe --off
+goto :EOF
+
+:hardwareSwitchOff
+ call :wait 15
+ chkdsk %HARDWARE_USB_DRIVE%:
+ call :wait 2
+ call \devcon.exe remove "USB\Vid_0e22&Pid_1112&Rev_0305"
+ call :wait 2
+ echo INFO: Hardware OFF
+ call \hardwarecontrol.exe --off
+goto :EOF
+
+
+rem ===============================================================
+rem == =======
+rem == INSTALL =======
+rem == =======
+rem ===============================================================
+
+:install
+
+ call :checkAutomation
+ if /i "%HARDWARE_USB%"=="false" echo ERROR: DirectGDI test initialisation failed. USB not found! & goto :EOF
+
+ rd /s /q %HARDWARE_USB_DRIVE%:\img
+ md %HARDWARE_USB_DRIVE%:\img\test
+
+ call :hardwareSwitchOff
+
+ goto :EOF
+
+
+
+rem ===============================================================
+rem == =======
+rem == EXTRACT RESULTS FROM MMC =======
+rem == =======
+rem ===============================================================
+
+:copy
+
+ call :checkAutomation
+ if /i "%HARDWARE_USB%"=="false" echo ERROR: DirectGDI copy results from MMC card failed. USB not found! & goto :EOF
+
+ rem copy test mbms from MMC card
+ set CDRIVE=%EPOCROOT%epoc32\data\c
+ xcopy /EIYR %HARDWARE_USB_DRIVE%:\img\test %CDRIVE%\img\test
+
+ call :hardwareSwitchOff
+ goto :EOF
+
+
+
+rem ===============================================================
+rem == =======
+rem == PARSE RESULTS ONCE IN THE PC =======
+rem == =======
+rem ===============================================================
+
+:parse
+
+ rem copy reference mbms from source
+ chdir %EPOCROOT%
+ set CDRIVE=%EPOCROOT%epoc32\data\c
+ unzip -qo %CDRIVE%\img\reference.zip -d %CDRIVE%\img\ref
+ rem the next one overwrites some of the mbm copied in the previous copy.
+ unzip -qo %CDRIVE%\img\replacements_from_directgdi\replacement.zip -d %CDRIVE%\img\ref
+
+ rem create logs directory
+ if not exist %CDRIVE%\logs md %CDRIVE%\logs
+
+ rem convert .mbm files to .bmp files and run the bitmap comparison tests, and create html reports
+ chdir %CDRIVE%\img
+ perl runtest.pl %TARGET_PLATFORM%
+
+ set LOGDIR=logs
+ PUSHD \
+ FOR /D %%G IN (logs*) DO (IF EXIST %%G\%TARGET_PLATFORM%\directgdi_flag SET LOGDIR=%%G)
+ POPD
+
+ set RESULTS=\%LOGDIR%\%TARGET_PLATFORM%\directgdi_results
+ set ONBSUMMARY=\%LOGDIR%\%TARGET_PLATFORM%
+ rem copy difference bitmaps, test image bitmaps and reference image bitmaps to results directories
+ xcopy /IYR %CDRIVE%\img\ref\*.bmp %RESULTS%\img\ref
+ xcopy /IYR %CDRIVE%\img\test\*.bmp %RESULTS%\img\test
+ xcopy /IYR %CDRIVE%\img\RGBDiff*.bmp %RESULTS%\img
+ rem copy results web pages
+ xcopy /SIYR %CDRIVE%\logs\*.html %RESULTS%\logs
+ xcopy /SIYR %CDRIVE%\*.htm %ONBSUMMARY%
+ goto :EOF
+
+
+goto :EOF
+
+endlocal