Skip to content

Commit 205e56d

Browse files
committed
fix:修复win系统下的测试
1 parent 6663516 commit 205e56d

File tree

1 file changed

+96
-19
lines changed

1 file changed

+96
-19
lines changed

cmd/main.go

Lines changed: 96 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -50,47 +50,124 @@ func main() {
5050
if runtime.GOOS == "windows" {
5151
switch testMethod {
5252
case "stream":
53-
if language == "en" {
54-
res = "STREAM is not supported on Windows, using Winsat for testing.\n"
55-
} else {
56-
res = "Windows下不支持STREAM,使用Winsat进行测试。\n"
53+
// stream → winsat → dd
54+
res = memory.StreamTest(language)
55+
if res == "" || strings.TrimSpace(res) == "" {
56+
if language == "en" {
57+
res = "STREAM test failed, switching to Winsat for testing.\n"
58+
} else {
59+
res = "STREAM测试失败,切换使用Winsat进行测试。\n"
60+
}
61+
res += memory.WinsatTest(language)
62+
if res == "" || strings.TrimSpace(res) == "" {
63+
if language == "en" {
64+
res += "Winsat test failed, switching to DD for testing.\n"
65+
} else {
66+
res += "Winsat测试失败,切换使用DD进行测试。\n"
67+
}
68+
res += memory.WindowsDDTest(language)
69+
}
5770
}
58-
res += memory.WinsatTest(language)
5971
case "dd":
72+
// dd → winsat → stream
6073
res = memory.WindowsDDTest(language)
6174
if res == "" || strings.TrimSpace(res) == "" {
6275
if language == "en" {
63-
res = "DD test failed, switching to STREAM for testing.\n"
76+
res = "DD test failed, switching to Winsat for testing.\n"
6477
} else {
65-
res = "DD测试失败,切换使用STREAM进行测试\n"
78+
res = "DD测试失败,切换使用Winsat进行测试\n"
6679
}
67-
res += memory.StreamTest(language)
80+
res += memory.WinsatTest(language)
6881
if res == "" || strings.TrimSpace(res) == "" {
6982
if language == "en" {
70-
res = "STREAM test failed, switching to Winsat for testing.\n"
83+
res += "Winsat test failed, switching to STREAM for testing.\n"
7184
} else {
72-
res = "STREAM测试失败,切换使用Winsat进行测试\n"
85+
res += "Winsat测试失败,切换使用STREAM进行测试\n"
7386
}
74-
res += memory.WinsatTest(language)
87+
res += memory.StreamTest(language)
7588
}
7689
}
7790
case "sysbench":
91+
// sysbench → stream → winsat → dd (Windows不支持sysbench)
7892
if language == "en" {
79-
res = "Sysbench is not supported on Windows, using Winsat for testing.\n"
93+
res = "Sysbench is not supported on Windows, switching to STREAM for testing.\n"
8094
} else {
81-
res = "Windows下不支持Sysbench,使用Winsat进行测试。\n"
95+
res = "Windows下不支持Sysbench,切换使用STREAM进行测试。\n"
96+
}
97+
res += memory.StreamTest(language)
98+
if res == "" || strings.TrimSpace(res) == "" {
99+
if language == "en" {
100+
res += "STREAM test failed, switching to Winsat for testing.\n"
101+
} else {
102+
res += "STREAM测试失败,切换使用Winsat进行测试。\n"
103+
}
104+
res += memory.WinsatTest(language)
105+
if res == "" || strings.TrimSpace(res) == "" {
106+
if language == "en" {
107+
res += "Winsat test failed, switching to DD for testing.\n"
108+
} else {
109+
res += "Winsat测试失败,切换使用DD进行测试。\n"
110+
}
111+
res += memory.WindowsDDTest(language)
112+
}
113+
}
114+
case "winsat":
115+
// winsat → stream → dd (已经用过winsat,不再重复)
116+
res = memory.WinsatTest(language)
117+
if res == "" || strings.TrimSpace(res) == "" {
118+
if language == "en" {
119+
res = "Winsat test failed, switching to STREAM for testing.\n"
120+
} else {
121+
res = "Winsat测试失败,切换使用STREAM进行测试。\n"
122+
}
123+
res += memory.StreamTest(language)
124+
if res == "" || strings.TrimSpace(res) == "" {
125+
if language == "en" {
126+
res += "STREAM test failed, switching to DD for testing.\n"
127+
} else {
128+
res += "STREAM测试失败,切换使用DD进行测试。\n"
129+
}
130+
res += memory.WindowsDDTest(language)
131+
}
132+
}
133+
case "auto":
134+
// auto → stream → winsat → dd
135+
res = memory.StreamTest(language)
136+
if res == "" || strings.TrimSpace(res) == "" {
137+
if language == "en" {
138+
res = "STREAM test failed, switching to Winsat for testing.\n"
139+
} else {
140+
res = "STREAM测试失败,切换使用Winsat进行测试。\n"
141+
}
142+
res += memory.WinsatTest(language)
143+
if res == "" || strings.TrimSpace(res) == "" {
144+
if language == "en" {
145+
res += "Winsat test failed, switching to DD for testing.\n"
146+
} else {
147+
res += "Winsat测试失败,切换使用DD进行测试。\n"
148+
}
149+
res += memory.WindowsDDTest(language)
150+
}
82151
}
83-
res += memory.WinsatTest(language)
84152
default:
85-
// For auto or winsat or any other method
86-
if testMethod != "winsat" && testMethod != "auto" {
153+
// 其他方法 → stream → winsat → dd
154+
res = memory.StreamTest(language)
155+
if res == "" || strings.TrimSpace(res) == "" {
87156
if language == "en" {
88-
res = "Detected host is Windows, using Winsat for testing.\n"
157+
res = "STREAM test failed, switching to Winsat for testing.\n"
89158
} else {
90-
res = "检测到主机为Windows,使用Winsat进行测试。\n"
159+
res = "STREAM测试失败,切换使用Winsat进行测试。\n"
160+
}
161+
res += memory.WinsatTest(language)
162+
if res == "" || strings.TrimSpace(res) == "" {
163+
if language == "en" {
164+
res += "Winsat test failed, switching to DD for testing.\n"
165+
} else {
166+
res += "Winsat测试失败,切换使用DD进行测试。\n"
167+
}
168+
res += memory.WindowsDDTest(language)
91169
}
92170
}
93-
res += memory.WinsatTest(language)
94171
}
95172
} else {
96173
switch testMethod {

0 commit comments

Comments
 (0)