fix: 在CPU测试自动切换测试类型的时候头部测试方式自动替换测试说明

This commit is contained in:
spiritlhl
2025-07-15 11:51:30 +00:00
parent 486b767a25
commit 48e150036d
2 changed files with 19 additions and 12 deletions

View File

@@ -1,17 +1,17 @@
package cputest
import (
"fmt"
"github.com/oneclickvirt/cputest/cpu"
"runtime"
"strings"
"github.com/oneclickvirt/cputest/cpu"
)
func CpuTest(language, testMethod, testThread string) {
var res string
func CpuTest(language, testMethod, testThread string) (realTestMethod, res string) {
if runtime.GOOS == "windows" {
if testMethod != "winsat" && testMethod != "" {
res = "Detected host is Windows, using Winsat for testing.\n"
// res = "Detected host is Windows, using Winsat for testing.\n"
realTestMethod = "winsat"
}
res += cpu.WinsatTest(language, testThread)
} else {
@@ -19,14 +19,20 @@ func CpuTest(language, testMethod, testThread string) {
case "sysbench":
res = cpu.SysBenchTest(language, testThread)
if res == "" {
res = "Sysbench test failed, switching to Geekbench for testing.\n"
// res = "Sysbench test failed, switching to Geekbench for testing.\n"
realTestMethod = "geekbench"
res += cpu.GeekBenchTest(language, testThread)
} else {
realTestMethod = "sysbench"
}
case "geekbench":
res = cpu.GeekBenchTest(language, testThread)
if res == "" {
res = "Geekbench test failed, switching to Sysbench for testing.\n"
// res = "Geekbench test failed, switching to Sysbench for testing.\n"
realTestMethod = "sysbench"
res += cpu.SysBenchTest(language, testThread)
} else {
realTestMethod = "geekbench"
}
default:
res = "Invalid test method specified.\n"
@@ -35,5 +41,5 @@ func CpuTest(language, testMethod, testThread string) {
if !strings.Contains(res, "\n") && res != "" {
res += "\n"
}
fmt.Print(res)
return
}

View File

@@ -39,7 +39,7 @@ import (
)
var (
ecsVersion = "v0.1.52"
ecsVersion = "v0.1.53"
menuMode bool
onlyChinaTest bool
input, choice string
@@ -570,12 +570,13 @@ func runCPUTest(output, tempOutput string, outputMutex *sync.Mutex) string {
_ = outputMutex
return utils.PrintAndCapture(func() {
if cpuTestStatus {
realTestMethod, res := cputest.CpuTest(language, cpuTestMethod, cpuTestThreadMode)
if language == "zh" {
utils.PrintCenteredTitle(fmt.Sprintf("CPU测试-通过%s测试", cpuTestMethod), width)
utils.PrintCenteredTitle(fmt.Sprintf("CPU测试-通过%s测试", realTestMethod), width)
} else {
utils.PrintCenteredTitle(fmt.Sprintf("CPU-Test--%s-Method", cpuTestMethod), width)
utils.PrintCenteredTitle(fmt.Sprintf("CPU-Test--%s-Method", realTestMethod), width)
}
cputest.CpuTest(language, cpuTestMethod, cpuTestThreadMode)
fmt.Print(res)
}
}, tempOutput, output)
}