===== MHEG5 Test Environment ===== ==== Requirements ==== The linux simulator requires a number of third-party libraries to be installed on the system: * SDL * Verified with libsdl1.2-dev * SDL-ttf * Verified with libsdl-ttf2.0-dev * curl * Verified with libcurl4-openssl-dev * openssl * Verified with libssl-dev version 1.0.1 * jpeg * Verified with libjpeg62-dev * png * Verified with libpng12-dev * zlib * Verified with zlib1g-dev * physfs * Verified with libphysfs-dev version 2.0.2 ====Building the Test Environment==== - Ensure that the host system has the third-party libraries listed above installed. - Checkout and build [[mheg|MHEG5]] and [[dsm-cc|DSM-CC]] modules for the host system. - Enter the ''test'' subdirectory of the MHEG5 project. - Setup environment variables (see provided ''example_setenv.sh'' in the ''test'' directory) - Run ''make'' ====Configuring the Test Environment==== Rename and modify ''test/lua/utils/example_local.lua'' to ''test/lua/utils/local.lua''. This file specifies the path to directory/directories containing the transport stream files to use for testing. ====Running the Simulator==== The test application can be run in three modes: * Simulator: Run the MHEG5 engine and platform simulator, allowing the user view and interact with MHEG5 applications. * Record: Run the simulator and record all user interactions into a script to be played back later. * Playback: Run a recorded script and optionally record the results. ===Simulator Mode=== Activated by passing the ''-s'' option on the command-line. Requires a stream-set to be specified (command line parameter ''-S ''), as defined in the test-suite configuration files under ''test/lua/streams''. The initial LCN to tune to can be specified using the ''-L '' command-line option, otherwise the simulator will tune to the lowest LCN. ===Record Mode=== Activated by passing the ''-r'' option on the command-line. Requires a stream-set to be specified (command line parameter ''-S '', as with simulator mode) and a test path (command line parameter ''-t ''). The test path specifies a directory for the test script and any associated screenshots to be created in, any directories in the path that do not exist will be created. Each path must be specific to one test, if an existing test directory is specified it will be re-written automatically. The initial LCN can be specified in the same way as simulator mode, using ''-L '' ===Playback Mode=== Activated by passing the ''-p'' option on the command-line. User interaction is disabled in this mode. Requires a test-path to be specified using the ''-t '' command-line parameter. By default, playback will run in headless mode and not display the UI. The UI can be enabled by passing ''-d'' ====Key Bindings==== ===Simulated remote control buttons=== ^Remote Control ^ Keyboard ^ | Numeric buttons | Numeric keys or keypad | | Up,Down,Left,Right | Direction keys | | Select | Enter or Return | | Red | F5 | | Green | F6 | | Yellow | F7 | | Blue | F8 | | Cancel | Backspace | |Text|Space| |EPG/Guide|e| |Info|i| |Help|h| |Channel Up|+| |Channel Down|-| ===Control Keys=== ^Action^Key^ |Quit|ESC| |PgUp/PgDown|Increase/Decrease resolution| |"insert" simulated CAM|q| |"remove" simulated CAM|Shift+q|