--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/localisation/apparchitecture/tef/tssaac/scripts/hardware/sysstart_apparc_run.bat Thu Jan 21 12:53:44 2010 +0000
@@ -0,0 +1,294 @@
+@rem
+@rem Copyright (c) 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 the License "Symbian Foundation License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description:
+@rem
+@echo off
+setlocal
+
+call :initialise %1 %2
+if /i "%INPUT_ERROR%"=="true" goto :EOF
+
+call :test T_TestStartApp1L 01
+
+:: if automation is not supported, then don't bother attempting to run
+:: the remaining test cases.
+if /i "%TEST_MANUAL_FLAG%"=="false" (if /i "%AUTOMATED_FLAG%"=="false" goto :EOF)
+
+call :test T_TestStartApp2L 02
+call :test T_TestStartApp3L 03
+call :test T_TestStartApp4L 04
+call :test T_TestStartApp5L 05
+call :test T_TestStartApp6L 06
+call :test T_TestGetAllApps 07
+call :test T_TestInsertDataTypeL 08
+call :test T_TestAppForDataTypeL 09
+call :test T_TestDeleteDataTypeL 10
+call :test T_TestServiceDiscovery 11
+call :test T_TestGetAppInfo 12
+call :test T_TestAppCount 13
+call :test T_TestCreateDoc 14
+call :test T_TestLocalisedCaptionL 29
+
+goto :skipFunctions
+
+:help
+ echo.
+ echo Description:
+ echo This script runs the apparc startup test suite on the hardware
+ echo reference platform.
+ echo.
+ echo Syntax:
+ echo %RUN_COMMAND% [choice] [hrp]
+ echo where the argument [choice] can be one of:
+ echo "-h" or "help" - this help screen
+ echo "manual" - run scripts manually i.e. build auto
+ echo start ROMs for each test case, but do
+ echo not attempt to upload ROM
+ echo "auto" - run scripts in automated mode, i.e.
+ echo requires USB download to HRP
+ echo and argument [hrp] is the hardware reference platform, e.g.
+ echo "h2" or "h4hrp"
+ echo.
+ echo e.g.
+ echo %RUN_COMMAND% auto h4hrp
+ echo.
+goto :EOF
+
+:initialise
+ set APPFWK_COMPONENT=apparctest
+ set EPOC_Z=\epoc32\data\z
+
+ set BUILDROM_COMMAND=%EPOC_Z%\%APPFWK_COMPONENT%\sysstart_apparc_buildrom.bat
+ set CHECKEPOC_COMMAND=%EPOC_Z%\%APPFWK_COMPONENT%\sysstart_apparc_checkepocwind.bat
+ set INSERT_COMMAND=%EPOC_Z%\%APPFWK_COMPONENT%\sysstart_apparc_insertlog.pl
+ set RUN_COMMAND=%EPOC_Z%\%APPFWK_COMPONENT%\sysstart_apparc_run.bat
+
+ :: check input values
+ set INPUT_ERROR=false
+ set TEST_CHOICE=%1
+ if /i "%TEST_CHOICE%"=="-h" set INPUT_ERROR=true
+ if /i "%TEST_CHOICE%"=="help" set INPUT_ERROR=true
+ set TEST_MANUAL_FLAG=false
+ if /i "%TEST_CHOICE%"=="manual" set TEST_MANUAL_FLAG=true
+ set HARDWARE_REFERENCE_PLATFORM=%2
+ if /i "%HARDWARE_REFERENCE_PLATFORM%"=="" set INPUT_ERROR=true
+ if /i "%INPUT_ERROR%"=="true" call :help & goto :EOF
+
+ set TEST_CASE=INIT_VALUE
+ set TEST_RSC=INIT_VALUE
+ set TEST_ROM_PORT=1
+ set TEST_CASE_TIMEOUT=60
+
+ set TEST_LOG_LOCATION=%EPOC_Z%\%APPFWK_COMPONENT%\logs
+ if not exist %TEST_LOG_LOCATION% md %TEST_LOG_LOCATION%
+
+ set DABS_TEST_LOG_LOCATION=\logs\armv5
+
+ set TEST_LOG=%DABS_TEST_LOG_LOCATION%\%APPFWK_COMPONENT%.log
+ if exist %TEST_LOG% del %TEST_LOG%
+
+ set SUMMARY_LOG=%DABS_TEST_LOG_LOCATION%\%APPFWK_COMPONENT%_summary.txt
+ if exist %SUMMARY_LOG% del %SUMMARY_LOG% >NUL
+goto :EOF
+
+: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
+ ping 1.1.1.1 -w 1000 -n %1 >NUL
+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 AUTOMATED_FLAG=false
+ set HARDWARE_USB=false
+ if not exist "\trgtest.exe" echo INFO: \trgtest.exe not found & goto :EOF
+ if not exist "\empty_image_file" echo INFO: \empty_image_file not found & goto :EOF
+ if not exist "\sync.exe" echo INFO: \sync.exe not found & goto :EOF
+ if not exist "\hardwareswitch.exe" echo INFO: \hardwareswitch.exe not found & goto :EOF
+ if not exist "\devcon.exe" echo INFO: \devcon.exe not found & goto :EOF
+ if not exist "\EJECTDELAY.15" echo INFO: \EJECTDELAY.15 not found & goto :EOF
+ if not exist "\empty_image_file" echo INFO: \empty_image_file not found & goto :EOF
+ if not exist "\logs\autorom\dummytest.txt" echo INFO: \logs\autorom\dummytest.txt not found & goto :EOF
+
+ call \devcon.exe remove "USB\Vid_0e22&Pid_1112&Rev_0305" > NUL
+
+ echo INFO: Hardware OFF
+ call \hardwareswitch.exe off > NUL
+
+ call :wait 2
+
+ echo INFO: Hardware ON
+ call \hardwareswitch.exe on > NUL
+
+ call :wait 15
+ call :searchForUSB
+
+ if /i "%HARDWARE_USB%"=="true" goto :skipUsbSearch
+ call :wait 10
+ call :searchForUSB
+
+ if /i "%HARDWARE_USB%"=="true" goto :skipUsbSearch
+ call :usbNotFound
+ goto :EOF
+
+ :skipUsbSearch
+ if not exist \logs\armv5 md \logs\armv5
+ set AUTOMATED_FLAG=true
+goto :EOF
+
+:usbNotFound
+ echo INFO: Target USB Drive not found
+ call \hardwareswitch.exe off > NUL
+goto :EOF
+
+:upLoadROm
+ echo INFO: Uploading ROM to %HARDWARE_USB_DRIVE%:
+ if exist "%HARDWARE_USB_DRIVE%:\sys$rom.zip" del %HARDWARE_USB_DRIVE%:\sys$rom.zip
+ copy %1 %HARDWARE_USB_DRIVE%:\ > NUL
+
+ del %HARDWARE_USB_DRIVE%:\EJECTDELAY.*
+ copy \EJECTDELAY.15 %HARDWARE_USB_DRIVE%:\ > NUL
+
+ echo INFO: Checking %HARDWARE_USB_DRIVE%:
+ chkdsk %HARDWARE_USB_DRIVE%: > NUL
+
+ echo INFO: Ejecting %HARDWARE_USB_DRIVE%:
+ \sync.exe -r -e %HARDWARE_USB_DRIVE%: > NUL
+ call \devcon.exe remove "USB\Vid_0e22&Pid_1112&Rev_0305" >NUL
+
+ echo INFO: Listening to COM%TEST_ROM_PORT% for test results (%TEST_CASE_TIMEOUT% seconds)
+ \trgtest.exe %TEST_ROM_PORT% \empty_image_file %TEST_CASE_LOG% %TEST_CASE_TIMEOUT%
+ echo INFO: test case log - %TEST_CASE_LOG%
+
+ call \devcon.exe remove "USB\Vid_0e22&Pid_1112&Rev_0305" > NUL
+
+ echo INFO: Hardware OFF
+ call \hardwareswitch.exe off > NUL
+
+ call :wait 2
+goto :EOF
+
+:manualBuild
+ set AUTOMATED_FLAG=false
+ call %BUILDROM_COMMAND% %TEST_CASE% %TEST_CONFIG% ROM %AUTOMATED_FLAG%
+goto :EOF
+
+:test
+ set TEST_CASE=%1
+ set TEST_CONFIG=%2
+
+ if /i "%TEST_MANUAL_FLAG%"=="true" call :manualBuild & goto :EOF
+
+ set TEST_CASE_LOG=%TEST_LOG_LOCATION%\%TEST_CASE%.log
+ set DABS_TEST_CASE_LOG=%DABS_TEST_LOG_LOCATION%\%TEST_CASE%.log
+
+ if exist %TEST_CASE_LOG% del %TEST_CASE_LOG%
+ if exist %TEST_CASE_LOG%.original del %TEST_CASE_LOG%.original
+ if exist %DABS_TEST_CASE_LOG% del %DABS_TEST_CASE_LOG%
+ if exist %DABS_TEST_CASE_LOG%.original del %DABS_TEST_CASE_LOG%.original
+
+ call :checkAutomation
+
+ if /i "%AUTOMATED_FLAG%"=="false" echo ERROR: Automation check failed for rom >> %TEST_CASE_LOG% & goto :EOF
+
+ call %BUILDROM_COMMAND% %TEST_CASE% %TEST_CONFIG% ROM %AUTOMATED_FLAG% %HARDWARE_REFERENCE_PLATFORM%
+
+ if not exist \rom\%TEST_CASE%\sys$rom.zip echo ERROR: \rom\%TEST_CASE%\sys$rom.zip does not exist >> %TEST_CASE_LOG% & goto :logResult
+
+ call :upLoadROm \rom\%TEST_CASE%\sys$rom.zip
+
+ if not exist "\rom\%TEST_CASE%\TEST_ROM_REQUIRED" goto :logResult
+
+ call %CHECKEPOC_COMMAND% %TEST_CASE% %AUTOMATED_FLAG% %HARDWARE_REFERENCE_PLATFORM%
+
+ if not exist \rom\%TEST_CASE%\testrom\sys$rom.zip echo ERROR: \rom\%TEST_CASE%\testrom\sys$rom.zip does not exist >> %TEST_CASE_LOG% & goto :logResult
+
+ call :checkAutomation
+
+ if /i "%AUTOMATED_FLAG%"=="false" echo ERROR: Automation check failed for testrom >> %TEST_CASE_LOG% & goto :logResult
+
+ if exist %TEST_CASE_LOG% copy %TEST_CASE_LOG% %TEST_CASE_LOG%.original >NUL
+ if exist %TEST_CASE_LOG% del %TEST_CASE_LOG%
+
+ call :upLoadROm \rom\%TEST_CASE%\testrom\sys$rom.zip
+
+ :logResult
+ if not exist %TEST_CASE_LOG% echo ERROR in test execution > %TEST_CASE_LOG%
+
+ :: add the test case log to the overall test log, which will then be split by the DABS scripts.
+ type %TEST_CASE_LOG% >> %TEST_LOG%
+
+ :: copy the test log files across for debugging test runs
+ :: NOTE: these won't be reported on the DABS html pages, but can be checked if further info is required
+ :: after a failed test case
+ copy %TEST_CASE_LOG% %DABS_TEST_CASE_LOG% > NUL
+ if exist %TEST_CASE_LOG%.original copy %TEST_CASE_LOG%.original %DABS_TEST_CASE_LOG%.original > NUL
+
+ :: DABS looks for '_epocwind.txt' extension to then include these logs as epocwind
+ :: logs, which is useful for debugging what went wrong in case of failure
+ copy %TEST_CASE_LOG% %DABS_TEST_LOG_LOCATION%\TESTEXECUTE%APPFWK_COMPONENT%_%TEST_CASE%_epocwind.txt >NUL
+ if exist %TEST_CASE_LOG%.original copy %TEST_CASE_LOG%.original %DABS_TEST_LOG_LOCATION%\TESTEXECUTE%APPFWK_COMPONENT%_%TEST_CASE%_epocwind.txt >NUL
+
+ :: insert result into DABS testlog
+ call :insertResult
+
+ call :updateTestSummary
+goto :EOF
+
+:insertResult
+ :: DABS uses this format in the testlog when building the result summary html page
+ set RUNNING_TEXT="9999-99-99=99:99:99 Running <TESTEXECUTE%APPFWK_COMPONENT%_%TEST_CASE%.script.htm> for udeb"
+ set LOCATION_TEXT="9999-99-99=99:99:99 Log location: <\logs\armv5\TESTEXECUTE%APPFWK_COMPONENT%_%TEST_CASE%.script.htm>"
+
+ set SEARCH_TEXT="Log location: <\\logs\\armv5\\TESTEXECUTEapparctest_t_StartDoc.script.htm>"
+
+ if not exist %DABS_TEST_LOG_LOCATION%\testlog.txt echo ERROR: %DABS_TEST_LOG_LOCATION%\testlog.txt does not exist & goto :EOF
+ perl %INSERT_COMMAND% %DABS_TEST_LOG_LOCATION%\testlog.txt %SEARCH_TEXT% %RUNNING_TEXT% %LOCATION_TEXT%
+goto :EOF
+
+:checkLog
+ :: checkLog SEARCH_FILE SEARCH_STRING EXPECTED_NUMBER_OF_OCCURENCES
+ set SEARCH_FILE=%1
+ set SEARCH_STRING=%2
+ set TEMP_FILE=sysstart_temp.txt
+ set EXPECTED_COUNT=%3
+ set LOG_COUNT=0
+ type %SEARCH_FILE% | find /c %SEARCH_STRING%>%TEMP_FILE%
+ for /f "delims=\" %%i in ('type %TEMP_FILE%') do set LOG_COUNT=%%i
+ del %TEMP_FILE%
+ if "%EXPECTED_COUNT%" == "%LOG_COUNT%" goto :EOF
+ if "%EXPECTED_COUNT%" NEQ "%LOG_COUNT%" set TEST_RESULT_FLAG=FAIL
+goto :EOF
+
+:updateTestSummary
+ set TEST_RESULT_FLAG=PASS
+ call :checkLog %DABS_TEST_LOG_LOCATION%\%TEST_CASE%.log "%TEST_CASE% ***Result = PASS" 1
+ echo %TEST_CASE% - %TEST_RESULT_FLAG% >> %SUMMARY_LOG%
+goto :EOF
+
+:skipFunctions
+
+
+endlocal
\ No newline at end of file