路由表检查工具
路由表检查工具检查路由器返回的路由参数是否与预期匹配。该工具还可用于检查路径重定向、路径重写或主机重写是否与预期匹配。
- 使用
- router_check_tool [-t <string>] [-c <string>] [-d] [-p] [–] [–version] [-h] <unlabelledConfigStrings>
- -t <string>, –test-path <string>
指向工具配置 JSON 文件的路径。工具配置 JSON 文件模式位于 config 中。工具配置输入文件指定 URL(由授权机构和路径组成)以及预期的路由参数值。其他参数(例如附加标头)是可选的。
模式:工具中的所有内部模式都基于 proto3。
- -c <string>, –config-path <string>
指向路由器配置文件(YAML 或 JSON)的路径。路由器配置文件模式位于 config 中,配置文件扩展名必须反映其文件类型(例如,JSON 的 .json 和 YAML 的 .yaml)。
- -o <string>, –output-path <string>
指向用于将测试结果写入二进制协议缓冲区的文件的路径。如果文件已存在,将尝试覆盖它。验证结果模式位于 proto3 中。
- -d, –details
显示详细的测试执行结果。第一行表示测试名称。
- --only-show-failures
显示失败测试的测试结果。如果设置了详细信息标志,则省略通过测试的测试名称。
- -f, --fail-under
表示运行应失败的路由测试覆盖率的百分比值。
- --covall
启用全面代码覆盖率百分比计算,考虑所有可能的断言。显示缺少的测试。
- --disable-deprecation-check
禁用对 RouteConfiguration 协议的弃用检查。
- --detailed-coverage
启用显示未覆盖的路由,适用于非全面代码覆盖率模式。
- -h, –help
显示使用信息并退出。
- 输出
如果任何测试用例与预期的路由参数值不匹配,则程序以状态 EXIT_FAILURE 退出。
如果测试失败,则如果提供了
--details
标志,则会打印失败测试用例的详细信息。第一个字段是预期的路由参数值。第二个字段是实际路由参数值。第三个字段表示要比较的参数。在以下示例中,Test_2 和 Test_5 失败,而其他测试通过。在失败的测试用例中,会打印冲突详细信息。Test_1 Test_2 default other virtual_host_name Test_3 Test_4 Test_5 locations ats cluster_name Test_6
如果指定了
--output-path
选项,则带有测试结果的ValidationResult
协议缓冲区消息将被写入文件。如果提供了--only-show-failures
标志,则仅将失败的测试用例写入文件。- 构建
该工具包含在 tools image 中。
可以使用 Bazel 在本地构建该工具。
bazel build //test/tools/router_check:router_check_tool
- 运行
示例
bazel-bin/test/tools/router_check/router_check_tool -c router_config.(yaml|json) -t tool_config.json --details
- 测试
可以使用 bazel 运行一个 bash shell 脚本测试。该测试使用不同的路由器和工具配置文件比较路由。配置文件可以在 test/tools/router_check/test/config/… 中找到。
bazel test //test/tools/router_check/...