空文件与最小文件
一个合法且达到格式允许的最小大小的文件能通过吗?
empty-and-minimal 预设用一条命令为这个问题构建出整套真实测试文件,并在旁边放一个
manifest.json,说明你的系统应如何响应每个文件。以下所有内容都按此版本的默认值从程序中读取。
它通常能发现什么?
- 合法文件因过小被拒绝,因为检查按字节数判断而不是去读取内容
- 空文件让读取器崩溃,而不是被如实报告
- 只有一像素宽的图片在生成缩略图的途中发生除零错误
- 存储把零字节当成上传失败,并不断重试
集合里有什么?
使用默认值时,如 tfg preset show empty-and-minimal 所报告的:
| 文件数 | 28 |
|---|---|
| 其配方中的 target 数 | 28 |
| 总大小 | 32 667 B |
| 格式 | avif, bmp, csv, docx, gif, html, ico, jpg, json, jxl, log, md, pdf, png, pptx, svg, targz, tiff, toml, txt, wav, webp, xlsx, xml, yaml, zip |
以及该集合的清单对你的系统有何预期:
| 预期 | 含义 | 文件数 |
|---|---|---|
accept | 你的系统应该接受这个文件。 | 26 |
unspecified | 取决于你的系统规则。由你决定,然后检查实际发生的是否符合你的本意。 | 2 |
你可以更改什么?
| 设置 | 接受 | 默认值 | 作用 |
|---|---|---|---|
--formats |
以逗号分隔的格式 id,或 all | all |
集合由哪些格式构成。填 all 表示此版本的所有格式,也可以只列出你的系统接受的格式。 |
如何运行?
查看集合的开销、构建它,或取出它的配方来编辑:
tfg preset show empty-and-minimal
tfg generate --preset empty-and-minimal --out ./empty-and-minimal
tfg preset eject empty-and-minimal > empty-and-minimal.yaml
也可以在你自己的配方中基于它构建,放在测试旁边:
version: 1
extends: preset:empty-and-minimal