forked from BearWare/TeamTalk5
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
113 lines (108 loc) · 3.47 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
language: cpp
dist: xenial
addons:
apt:
packages:
- libace-dev
- libace-ssl-dev
- libace-inet-dev
- libace-inet-ssl-dev
- libtinyxml-dev
- zlib1g-dev
- libssl-dev
- libopus-dev
- libspeex-dev
- libspeexdsp-dev
- libvpx-dev
- libogg-dev
- portaudio19-dev
- libasound2-dev
- libavcodec-dev
- libavdevice-dev
- libavfilter-dev
- libavformat-dev
- libavresample-dev
- libavutil-dev
- libswresample-dev
- libswscale-dev
- openjdk-8-jdk
- cmake
- qt5-default
- qtmultimedia5-dev
- libqt5x11extras5-dev
- libqt5webkit5-dev
# - qtwebengine5-dev (ubuntu 18)
- junit4
- catch
- python3-minimal
# Library/TeamTalkLib/toolchain has many submodules
git:
submodules: false
env:
global:
# TeamTalkJNI JUnit environment variables
- INPUTDEVICEID=1978
- OUTPUTDEVICEID=1978
- OPUSTOOLS=0
script:
# Source env (LD_LIBRARY_PATH, PYTHONPATH, etc)
- cd $TRAVIS_BUILD_DIR
- source env.sh
# Build libraries, server binaries and examples
- mkdir build
- cd build
- cmake -DBUILD_TEAMTALK_CORE=ON -DBUILD_TEAMTALK_STATIC=OFF -DBUILD_TEAMTALK_ACE=OFF -DSPEEXDSP_STATIC=OFF -DFFMPEG_STATIC=OFF -DAVF=OFF -DMSDMO=OFF -DDSHOW=OFF -DVIDCAP=OFF -DMEDIAFOUNDATION=OFF -DOPUS_STATIC=OFF -DLIBVPX_STATIC=OFF -DSPEEX_STATIC=OFF -DOGG_STATIC=OFF -DOPUSTOOLS=OFF -DLAMEMP3=OFF -DMSVS_UNITTEST=OFF -DACE_STATIC=OFF -DTINYXML_STATIC=OFF -DPORTAUDIO=OFF -DZLIB_STATIC=OFF -DCATCH_UNITTEST=ON ..
- make -j4
# Run JUnit suite TeamTalkServerTestSuite.java
- cd $TRAVIS_BUILD_DIR
- cd Library/TeamTalkJNI
- make runjunitsrv
# Start TeamTalk Standard Server non-encrypted mode for JUnit suite TeamTalkStdTestSuite.java and Catch
- cd $TRAVIS_BUILD_DIR
- cp Library/TeamTalkLib/test/tt5srv.xml_template Server/tt5srv.xml
- Server/tt5srv -d -c Server/tt5srv.xml
- cd $TRAVIS_BUILD_DIR
- cd Library/TeamTalkJNI
- make runjunit
# Run Catch unit-tests
- cd $TRAVIS_BUILD_DIR
- Library/TeamTalkLib/test/catchtt
# Kill TeamTalk Standard Server non-encrypted mode
- killall tt5srv
# Start TeamTalk Pro Server non-encrypted mode for JUnit suite TeamTalkProTestSuite.java
- cd $TRAVIS_BUILD_DIR
- cp -f Library/TeamTalkLib/test/tt5srv.xml_template Server/tt5srv.xml
- Server/tt5prosrv -d -c Server/tt5srv.xml
- cd $TRAVIS_BUILD_DIR
- cd Library/TeamTalkJNI
- export ENCRYPTED=0
- make runjunitpro
- killall tt5prosrv
# Start TeamTalk Pro Server in encrypted mode for JUnit suite TeamTalkProTestSuite.java
- cd $TRAVIS_BUILD_DIR
- cp Library/TeamTalkLib/test/tt5prosrv.xml_template Server/tt5prosrv.xml
- cp Library/TeamTalkLib/test/ttservercert.pem Server/
- cp Library/TeamTalkLib/test/ttserverkey.pem Server/
- Server/tt5prosrv -d -wd Server/
- cd Library/TeamTalkJNI
- export ENCRYPTED=1
- make runjunitpro
# Start Python client example and ensure it connects
- cd $TRAVIS_BUILD_DIR
- make -C Client/ttserverlogpy
- killall tt5prosrv
# Run JUnit suite TeamTalkServerTestSuite.java in encrypted mode
- cd $TRAVIS_BUILD_DIR
- cd Library/TeamTalkJNI
- make runjunitsrv
# Run Catch unit tests (disabled, don't work with linked shared objects)
# - cd $TRAVIS_BUILD_DIR
# - Library/TeamTalkLib/test/catchtt
# Build Qt clients
# - cd $TRAVIS_BUILD_DIR
# - cd Client/qtTeamTalk
# - qmake CONFIG+=nowebengine teamtalk5.pro
# - make -j4
# - make clean
# - qmake CONFIG+=nowebengine teamtalk5pro.pro
# - make -j4