| 1 | {{{ |
| 2 | #!html |
| 3 | <!-- MAIN TABLE START --> |
| 4 | <table border=0 width="90%" align="center"><tr><td> |
| 5 | }}} |
| 6 | |
| 7 | = Configuring Automated Testing = |
| 8 | |
| 9 | '''Table of Contents''' |
| 10 | [[PageOutline(2-3,,inline)]] |
| 11 | |
| 12 | PJSIP has been equipped with an automated testing script (called test scenarios) since version 1.6. This article explains what it is and how to configure it. |
| 13 | |
| 14 | [[BR]] |
| 15 | |
| 16 | == Introduction == |
| 17 | |
| 18 | The automated testing script/scenario updates, configures, builds, and performs various unit tests, and submit the result to [http://www.cdash.org CDash] test dashboard. The scenario uses [http://trac2.pjsip.org/ccdash CCDash] framework to automate the tasks, and supports Windows/Visual Studio build system, GNU Makefile based build system (for Linux, Mac OS X, and possibly iPhone), as well as Symbian targets. |
| 19 | |
| 20 | == Installation == |
| 21 | |
| 22 | 1. Checkout PJSIP source code from SVN |
| 23 | 1. Download and install [http://trac2.pjsip.org/ccdash CCDash] (click the link for the info) |
| 24 | 1. Download and install any features to be used/tested, e.g. Intel IPP, Symbian APS/VAS plugin, etc. |
| 25 | |
| 26 | == Configuring and Running Test Scenarios == |
| 27 | |
| 28 | The general steps to perform a test: |
| 29 | |
| 30 | 1. Choose the appropriate scenario ''template'' for your target/test objective. The templates are listed below: |
| 31 | |
| 32 | || '''Target platform ''' || '''Template file name ''' || '''Description ''' || '''Requirements ''' || |
| 33 | || Makefile based (Linux, Mac OS X, iPhone) || {{{gnu.xml.template}}} || Default settings || - || |
| 34 | || Linux, Mac OS X || {{{gnu-ipp.xml.template}}} || Intel IPP || [wiki:Intel_IPP_Codecs Intel IPP and samples] || |
| 35 | || MSVC/Win32 || {{{msvc.xml.template}}} || Default settings || - || |
| 36 | || Symbian/S60 3rd Ed|| {{{symbian.xml.template}}} || Default settings || - || |
| 37 | || Symbian/S60 3rd Ed || {{{symbian-aps.xml.template}}} || Nokia APS and APS-Direct || [wiki:APS Nokia APS plugin] || |
| 38 | || Symbian/S60 3rd Ed || {{{symbian-vas.xml.template}}} || Nokia VAS and VAS-Direct || [wiki:VAS Nokia VAS plugin] || |
| 39 | 2. Create a scenario from a template by running: |
| 40 | {{{ |
| 41 | $ python configure.py file.xml.template -o file.xml |
| 42 | }}} |
| 43 | 3. Run the scenario by running: |
| 44 | {{{ |
| 45 | $ python run.py scenario file.xml |
| 46 | }}} |
| 47 | |
| 48 | The detailed steps for each template will be explained below. |
| 49 | |
| 50 | === gnu.xml.template === |
| 51 | |
| 52 | This configures, build, and tests with default settings. To perform this test: |
| 53 | {{{ |
| 54 | $ ./configure.py -t gnu -o gnu.xml gnu.xml.template |
| 55 | $ ./run.py scenario gnu.xml |
| 56 | }}} |
| 57 | |
| 58 | === gnu-ipp.xml.template === |
| 59 | |
| 60 | Purpose: to test Intel IPP support |
| 61 | Requirements: |
| 62 | - [wiki:Intel_IPP_Codecs Intel IPP and samples] |
| 63 | - Environment variables: |
| 64 | - IPPROOT |
| 65 | - IPPSAMPLES |
| 66 | - IPPARCH (optional) |
| 67 | - IPP path added to LD_LIBRARY_PATH |
| 68 | |
| 69 | To perform: |
| 70 | {{{ |
| 71 | $ export IPPROOT=/opt/intel/ipp/6.1.2.051/em64t/ |
| 72 | $ export IPPSAMPLES=/home/bennylp/Desktop/opt/ipp-samples |
| 73 | $ (optional) export IPPARCH=em64t |
| 74 | $ export LD_LIBRARY_PATH='$LD_LIBRARY_PATH:/opt/intel/ipp/6.1.2.051/em64t/sharedlib' |
| 75 | $ ./configure.py -t gnu -o gnu-ipp.xml gnu-ipp.xml.template |
| 76 | $ ./run.py scenario gnu-ipp.xml |
| 77 | }}} |
| 78 | |
| 79 | |
| 80 | {{{ |
| 81 | #!html |
| 82 | <!-- MAIN TABLE END --> |
| 83 | </td></tr></table> |
| 84 | }}} |
| 85 | |