blob: 0475bacbd794bbf459e530353244d87f768f8123 [file] [log] [blame]
Benny Prijono4b4adb32008-06-12 15:37:22 +00001
2 PJSUA TEST FRAMEWORK
3 =========================
4
50. What is this
6---------------
Benny Prijonocb118562008-06-28 00:40:17 +00007This is the automated testing scripts for pjsua. It can do many things (just
8don't ask it to write good documentation :) ).
Benny Prijono4b4adb32008-06-12 15:37:22 +00009
10
111. Requirements
12---------------
13To run the tests you need:
14 - Python (tested with Python 2.5.2)
15 - pjsua application, built and placed in pjsip-apps/bin directory
16 - the pjsua must be built with:
Benny Prijono7d578a72008-06-20 00:25:55 +000017 - SRTP enabled (the default)
Benny Prijono4b4adb32008-06-12 15:37:22 +000018
19
202. Using
21--------
22To run all the tests:
Benny Prijonocb118562008-06-28 00:40:17 +000023 $ python [OPTIONS] runall.py
Benny Prijono4b4adb32008-06-12 15:37:22 +000024
25To run individual test:
Benny Prijonocb118562008-06-28 00:40:17 +000026 $ python [OPTIONS] run.py MODULE CONFIG
Benny Prijono4b4adb32008-06-12 15:37:22 +000027
Benny Prijonocb118562008-06-28 00:40:17 +000028Where options:
29 -e EXE use EXE as pjsua executable
30 -n use null audio
31 -r TEST (for runall.py only) resume test at TEST
32
33
34For each individual tests, the run.py is the main entry for the test. It
35imports the various inc_xxx.py files, and it will load the MODULE. The MODULE
36contains specific test flows, and we have few of them:
Benny Prijono7d578a72008-06-20 00:25:55 +000037
38 - mod_run.py:
Benny Prijonocb118562008-06-28 00:40:17 +000039 a simple test which just run pjsua with the configuration from CONFIG
40 file and checks if pjsua can start properly.
Benny Prijono7d578a72008-06-20 00:25:55 +000041
42 - mod_call.py:
Benny Prijonocb118562008-06-28 00:40:17 +000043 call testing where it spawns two pjsua instances each with configura-
44 tions as specified in CONFIG file, makes one pjsua call the other, and
45 checks if the call can be established.
Benny Prijono7d578a72008-06-20 00:25:55 +000046
47 - mod_pres.py:
48 presence testing
49
50 - mod_sendto.py:
Benny Prijonocb118562008-06-28 00:40:17 +000051 Simple UAC to send arbitrary SIP message to pjsua. Good to test
52 various incoming INVITE scenarios
Benny Prijono7d578a72008-06-20 00:25:55 +000053
54 - mod_media_playrec.py:
Benny Prijonocb118562008-06-28 00:40:17 +000055 Mainly for resampling quality testing
56
57 - mod_pesq.py
58 Measure call quality of various call settings with PESQ, for people
59 who have PESQ tool and license
Benny Prijono4b4adb32008-06-12 15:37:22 +000060
61Example:
62 $ python run.py mod_run.py scripts-run/100_simple.py
63 $ python run.py mod_call.py scripts-call/100_simple.py
Benny Prijono7d578a72008-06-20 00:25:55 +000064
65