From 1a7de8ebd42611908ec9a427fd3136d1fd4ac36c Mon Sep 17 00:00:00 2001 From: spiritlhl <103393591+spiritLHLS@users.noreply.github.com> Date: Sun, 12 May 2024 05:28:32 +0000 Subject: [PATCH] 2024.05.12 --- README.md | 3 +++ cmd/main.go | 3 ++- disktest/disktest.go | 10 +++++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 61e0402..1571707 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ 硬盘IO测试 (Disk IO Test) +开发中,不要使用 + ## 功能 - [x] winstat测试 @@ -12,6 +14,7 @@ - [x] 支持双语输出,以```-l```指定```zh```或```en```可指定输出的语言,未指定时默认使用中文输出 - [x] 支持单/多盘IO测试,以```-d```指定```single```或```multi```可指定是否测试多盘,未指定时默认仅测试单盘```/root```或```C:```路径 - [ ] 支持指定路径IO测试,以```-p```指定路径 +- [ ] 测试前需检测剩余硬盘大小是否支持进行测试 - [x] 全平台编译支持 ## 使用 diff --git a/cmd/main.go b/cmd/main.go index 77b83d8..237379b 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -15,6 +15,7 @@ func main() { http.Get("https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Foneclickvirt%2FdiskTest&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false") }() fmt.Println("项目地址:", "https://github.com/oneclickvirt/diskTest") + // go run main.go -l en -d multi languagePtr := flag.String("l", "", "Language parameter (en or zh)") multiDiskPtr := flag.String("d", "", "Enable multi disk check parameter (single or multi, default is single)") flag.Parse() @@ -40,7 +41,7 @@ func main() { } } fmt.Println("--------------------------------------------------") - fmt.Println(res) + fmt.Printf(res) fmt.Println("--------------------------------------------------") // TODO https://github.com/devlights/diskio } diff --git a/disktest/disktest.go b/disktest/disktest.go index ba2b720..d294f14 100644 --- a/disktest/disktest.go +++ b/disktest/disktest.go @@ -75,7 +75,6 @@ func DDTest(language string, enableMultiCheck bool) string { } } } - os.Remove(path + "/100MB.test") // 读取测试 // dd if=/tmp/100MB.test of=/dev/null bs=4k count=25600 oflag=direct cmd2 := exec.Command("dd", "if="+path+"/100MB.test", "of=/dev/null", "bs=4k", "count=25600", "oflag=direct") @@ -199,6 +198,15 @@ func FioTest(language string, enableMultiCheck bool) string { } } } + cmd := exec.Command("command", "-v", "fio") + output, err := cmd.Output() + if err == nil { + if !strings.Contains(string(output), "fio") { + return "" + } + } else { + return "" + } if language == "en" { result += "Test Path Block Read(IOPS) Write(IOPS) Total(IOPS)\n" } else {