test-better-rm.sh 是一個完整的測試腳本,用於驗證 better-rm 的所有功能與特性。
./test-better-rm.sh# Docker
docker run -v $(pwd):/app ubuntu:latest bash /app/test-better-rm.sh
# Podman
podman run -v $(pwd):/app:z ubuntu:latest bash /app/test-better-rm.sh- 測試
--version參數 - 測試
--help參數
- 刪除單一檔案
- 刪除多個檔案
- 遞迴刪除目錄 (-r)
- 刪除空目錄
- 不加 -r 刪除目錄應失敗
- 檔名含空格
- 檔名含特殊字元
- 中文檔名
- 刪除符號連結(目標檔案應保留)
- 檔名包含時間戳記和 Hash
- 相同檔名但不同內容產生不同 Hash
- 空檔案的 Hash
- 日誌檔案自動創建
- 日誌記錄檔案刪除
- 日誌記錄目錄刪除
- 日誌記錄符號連結
- 日誌格式正確
- 詳細模式 (-v)
- 強制模式 (-f)
- 組合參數 (-rf)
- 拒絕刪除根目錄 (/)
- 拒絕刪除 /home
- 拒絕刪除 .git 目錄
- 測試奈秒時間戳記避免檔名衝突
- 深層目錄結構保留
- 使用自訂 TRASH_DIR 環境變數
測試腳本會顯示:
- 總測試數
- 通過測試數
- 失敗測試數
如果所有測試通過,返回 exit code 0;否則返回 exit code 1。
- Bash 4.0+
- 基本 Unix 工具(find, grep, awk, wc 等)
- md5sum 或 sha256sum
測試腳本會使用以下臨時目錄:
/tmp/better-rm-test-trash- 測試用垃圾桶目錄/tmp/better-rm-test-work- 測試工作目錄
測試完成後會自動清理。
如果某個測試失敗,檢查:
- better-rm 腳本是否有執行權限
- 是否有足夠的磁碟空間
- 是否有必要的系統工具(md5sum, find 等)
在容器中執行時:
- 確保掛載的目錄有執行權限
- 容器需要有 bash 環境
- 需要安裝 coreutils 套件
Better-RM 完整測試套件
Better-RM Comprehensive Test Suite
測試腳本: /path/to/better-rm
垃圾桶目錄: /tmp/better-rm-test-trash
工作目錄: /tmp/better-rm-test-work
========================================
測試 1: 版本與說明資訊
========================================
[測試 0] 測試 --version 參數
✓ 通過: --version 顯示正確版本
...
========================================
測試結果統計 (Test Results Summary)
========================================
總測試數 (Total Tests): 28
通過測試 (Passed): 28
失敗測試 (Failed): 0
✓ 所有測試通過!(All tests passed!)
如需添加新的測試項目:
- 在適當的測試區塊中添加新的測試函數
- 使用
test_item描述測試項目 - 使用
test_pass或test_fail記錄結果 - 確保測試結束後清理所有臨時檔案
與 better-rm 專案相同的授權條款。