空檔案與最小檔案
一個合法且達到格式允許最小大小的檔案能通過嗎?
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