1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

DTLS: Update regression tests

This commit is contained in:
winlin 2021-03-09 22:26:50 +08:00
parent d4d11c2c18
commit 06f2e1462e
19 changed files with 3329 additions and 949 deletions

View file

@ -102,8 +102,7 @@ ffmpeg -re -i doc/source.200kbps.768x320.flv -c copy -f flv -y rtmp://localhost/
回归测试需要先启动[SRS](https://github.com/ossrs/srs/issues/307)支持WebRTC推拉流
```bash
eip=$(ifconfig en0 inet| grep 'inet '|awk '{print $2}')
if [[ ! -z $eip ]]; then
if [[ ! -z $(ifconfig en0 inet| grep 'inet '|awk '{print $2}') ]]; then
docker run -p 1935:1935 -p 8080:8080 -p 1985:1985 -p 8000:8000/udp \
--rm --env CANDIDATE=$(ifconfig en0 inet| grep 'inet '|awk '{print $2}')\
registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.76 objs/srs -c conf/rtc.conf
@ -119,7 +118,20 @@ go test ./srs -mod=vendor -v
也可以用make编译出重复使用的二进制
```bash
make test && ./objs/srs_test -test.v
make && ./objs/srs_test -test.v
```
> Note: 注意由于pion不支持`DTLS 1.0`所以SFU必须要支持`DTLS 1.2`才行。
运行结果如下:
```bash
$ make && ./objs/srs_test -test.v
=== RUN TestRTCServerVersion
--- PASS: TestRTCServerVersion (0.00s)
=== RUN TestRTCServerPublishPlay
--- PASS: TestRTCServerPublishPlay (1.28s)
PASS
```
可以给回归测试传参数,这样可以测试不同的序列,比如:
@ -127,23 +139,43 @@ make test && ./objs/srs_test -test.v
```bash
go test ./srs -mod=vendor -v -srs-server=127.0.0.1
# Or
make test && ./objs/srs_test -test.v -srs-server=127.0.0.1
make && ./objs/srs_test -test.v -srs-server=127.0.0.1
```
支持的参数如下:
* `-srs-server`RTC服务器地址。默认值`127.0.0.1`
* `-srs-stream`RTC流地址。默认值`/rtc/regression`
* `-srs-log`,是否开启详细日志。默认值:`false`
* `-srs-timeout`每个Case的超时时间毫秒。默认值`3000`即3秒。
* `-srs-play-pli`播放时PLI的间隔毫秒。默认值`5000`即5秒。
* `-srs-play-ok-packets`,播放时,收到多少个包认为是测试通过,默认值:`10`
* `-srs-publish-audio`,推流时,使用的音频文件。默认值:`avatar.ogg`
* `-srs-publish-video`,推流时,使用的视频文件。默认值:`avatar.h264`
* `-srs-publish-video-fps`推流时视频文件的FPS。默认值`25`
* `-srs-vnet-client-ip`,设置[pion/vnet](https://github.com/ossrs/srs-bench/blob/feature/rtc/vnet/example_test.go)客户端的虚拟IP不能和服务器IP冲突。默认值`192.168.168.168`
其他不常用参数:
* `-srs-log`,是否开启详细日志。默认值:`false`
* `-srs-play-ok-packets`,播放时,收到多少个包认为是测试通过,默认值:`10`
* `-srs-publish-ok-packets`,推流时,发送多少个包认为时测试通过,默认值:`10`
* `-srs-https`是否连接HTTPS-API。默认值`false`即连接HTTP-API。
* `-srs-play-pli`播放时PLI的间隔毫秒。默认值`5000`即5秒。
* `-srs-dtls-drop-packets`DTLS丢包测试丢了多少个包算成功默认值`5`
## GCOVR
本机生成覆盖率时,我们使用工具[gcovr](https://gcovr.com/en/stable/guide.html)。
在macOS上安装gcovr
```bash
pip3 install gcovr
```
在CentOS上安装gcovr
```bash
yum install -y python2-pip &&
pip install lxml && pip install gcovr
```
2021.01, Winlin