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:
parent
d4d11c2c18
commit
06f2e1462e
19 changed files with 3329 additions and 949 deletions
46
trunk/3rdparty/srs-bench/README.md
vendored
46
trunk/3rdparty/srs-bench/README.md
vendored
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue