blob: 0475bacbd794bbf459e530353244d87f768f8123 [file] [log] [blame]
Tristan Matthews0a329cc2013-07-17 13:20:14 -04001
2 PJSUA TEST FRAMEWORK
3 =========================
4
50. What is this
6---------------
7This is the automated testing scripts for pjsua. It can do many things (just
8don't ask it to write good documentation :) ).
9
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:
17 - SRTP enabled (the default)
18
19
202. Using
21--------
22To run all the tests:
23 $ python [OPTIONS] runall.py
24
25To run individual test:
26 $ python [OPTIONS] run.py MODULE CONFIG
27
28Where 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:
37
38 - mod_run.py:
39 a simple test which just run pjsua with the configuration from CONFIG
40 file and checks if pjsua can start properly.
41
42 - mod_call.py:
43 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.
46
47 - mod_pres.py:
48 presence testing
49
50 - mod_sendto.py:
51 Simple UAC to send arbitrary SIP message to pjsua. Good to test
52 various incoming INVITE scenarios
53
54 - mod_media_playrec.py:
55 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
60
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
64
65