#failure #mode #web-services #test-harness #how #behaves #response

nightly app crucio

Crucio是一个测试框架,用于查看当其依赖项具有特定故障模式时,web服务如何表现。

1 个不稳定版本

0.1.0 2019年5月26日

#740 in 测试

MIT/Apache

25KB
516

Crucio

Crucio是一个测试框架,用于查看当其依赖项具有特定故障模式时,web服务如何表现。

安装

Rust nightly版是必需的(直到async/await稳定)。

cargo install crucio

用法

你需要有一个包含内容的文件,该文件用于健康的响应。

crucio

Crucio监听多个端口。每个端口将模拟一种故障模式。将你的应用程序设置为连接到一个端口,以检查它如何响应该种故障模式。

basePort10000(默认值)时,以下是端口及其故障模式。

10000 - Http Healthy

控制台。健康的响应,它无延迟地返回输入文件。

10001 - Http Slow

在返回文件之前等待9秒钟。

10002 - Http Slow Body

立即返回HTTP头部,然后在每个字节的主体之间等待1秒钟。

10003 - Http Random

正确的HTTP头部,但主体只是一个无限流随机字节。

10004 - Http Random Text

正确的HTTP头部,但主体只是一个无限流随机字母数字字符。

10005 - Http Never

将接受响应,但让它挂起,永远不返回任何内容。

10006 - Http Header but no body

接受响应并返回一个头部,但将挂起,永远不返回主体。

10007 - TCP Echo

TCP Echo服务器。将只返回它从客户端接收到的内容。

10008 - TCP Drop

TCP服务器在接受连接后立即关闭连接。

10009 - TCP Hanging socket

TCP服务器丢弃套接字,这意味着它永远不会关闭。实际上,这与10005相同。

10010 - TCP Never Accept

TCP服务器永远不会接受任何连接。

10011 - TCP Random TCP

TCP服务器将发送一些随机字节,然后关闭套接字。

10012 - Random Infinite TCP

TCP服务器将发送一个无限流随机字节。将永远不会关闭套接字。

10013 - Http Random Sleep

类似于 Http Slow,但是会等待一个随机的时间。休眠的毫秒数是 LogNormal 分布,这意味着大多数请求会相对较快地返回,但有些会花费很长时间。

10014 - Http 随机休眠并伴随一些错误

类似于 Http 随机休眠,但 50% 的时间会失败,返回 500。

10015 - Http 始终错误

始终返回 500 - 内部服务器错误。

10016 - Http 慢错误

始终返回 500,但延迟 9 秒。

依赖项

~13MB
~218K SLoC