本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
SyTest是Matrix homeserver实现的集成测试系统,目前主要针对Synapse服务器。它采用"黑盒"测试方式,通过启动多个homeserver实例,并使用常规HTTP交互(类似其他Matrix客户端)测试实例间的交互。测试结果可输出到交互式终端或TAP风格报告,适用于Jenkins等持续集成工具。
在Ubuntu/Debian系统上,需安装以下原生依赖:
sudo apt install libpq-dev build-essential
SyTest依赖Perl模块,需先配置Perl环境(非root用户):
.profile文件,添加以下环境变量:
export PERL5LIB=$HOME/lib/perl5 export PERL_MB_OPT=--install_base=$HOME export PERL_MM_OPT=INSTALL_BASE=$HOME
source ~/.profile
cpan进行初始化配置:
提示配置时选择"yes"进行自动配置,完成后输入cpan
exit退出。获取SyTest源码并安装依赖:
git clone [***] cd sytest ./install-deps.pl cd ..
获取Synapse源码(默认期望在同级目录synapse中):
pip install pynacl --user # 解决pynacl目录排序问题 git clone [***] cd synapse git checkout develop python setup.py develop --user python setup.py test cd ..
注意:Synapse无需安装,SyTest将直接从源码目录运行
使用Homebrew安装libsodium:
brew install libsodium
验证libsodium是否被正确识别:
pkg-config --libs libsodium
预期输出类似:-L/usr/local/Cellar/libsodium/1.0.8/lib -lsodium
强制安装Perl模块:
cpan cpan> force install Crypt::NaCl::Sodium cpan> force install Shell::Guess
手动安装DBI后再安装DBD::Pg,避免依赖错误:
cpan> install DBI cpan> install DBD::Pg
运行依赖安装脚本:
./install-deps.pl
默认配置下,直接运行测试脚本:
cd sytest ./run-tests.pl
若Synapse源码不在同级目录,使用--synapse-directory指定路径:
./run-tests.pl --synapse-directory /home/synapse/synapse
如需使用特定Python环境(如虚拟环境),通过--python指定:
./run-tests.pl --python ../synapse/env/bin/python
注意:若运行时出现
ModuleNotFoundError: No module named 'synapse',需激活Synapse虚拟环境:source ../synapse/env/bin/Activate
-C为简写):
./run-tests.pl --client-log # 或 ./run-tests.pl -C
-S为简写):
./run-tests.pl --server-log # 或 ./run-tests.pl -S
仅运行特定测试文件中的用例,将文件路径作为参数:
./run-tests.pl tests/20profile-events.pl
创建符合dictConfig格式的YAML日志配置文件(可从运行中的Synapse复制),命名为log.config,放置于homeserver配置目录(localhost-<port>)。
使用黑名单文件标记预期失败的测试(失败不会导致整个测试套件失败),通过-B指定:
./run-tests.pl -B synapse/sytest-blacklist
SyTest支持通过插件扩展功能,插件需遵循与SyTest相同的项目结构,包含以下目录:
lib/SyTest/HomeserverFactorylib/SyTest/Homeserverlib/SyTest/Output默认插件目录为sytest/plugins,可通过SYTEST_PLUGINS环境变量指定自定义路径。示例插件:sytest_conduit
有关SyTest本身的开发(维护或编写新测试),请参考源码中的DEVELOP.rst文件。
使用Postgres测试时,SyTest会检查是否存在sytest_template数据库,若存在则以此为模板创建测试数据库,大幅减少数据库创建时间。
创建模板数据库的简易方法:启动一个指向该数据库的homeserver,待数据库创建完成后停止服务。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429