diff -r e8c1ea2c6496 -r 8758140453c0 localisation/apparchitecture/tef/tssaac/scripts/hardware/sysstart_apparc_run.bat --- /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 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