@@ -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