@@ -111,6 +111,11 @@ mod tests {
111
111
112
112
use super :: * ;
113
113
114
+ #[ cfg( not( windows) ) ]
115
+ const GDB_COMMAND : & str = "rust-gdb" ;
116
+ #[ cfg( windows) ]
117
+ const GDB_COMMAND : & str = "gdb" ;
118
+
114
119
fn write_cmds_file ( cmd_file_path : & str , cmd : & str ) -> io:: Result < ( ) > {
115
120
let file = File :: create ( cmd_file_path) ?;
116
121
let mut writer = BufWriter :: new ( file) ;
@@ -150,7 +155,7 @@ mod tests {
150
155
// wait 3 seconds for the gdb to connect
151
156
thread:: sleep ( Duration :: from_secs ( 3 ) ) ;
152
157
153
- let mut gdb = Command :: new ( "rust-gdb" )
158
+ let mut gdb = Command :: new ( GDB_COMMAND )
154
159
. arg ( "--nw" )
155
160
. arg ( "--batch" )
156
161
. arg ( "-x" )
@@ -235,7 +240,9 @@ mod tests {
235
240
#[ serial]
236
241
fn test_gdb_end_to_end ( ) {
237
242
let out_dir = std:: env:: var ( "OUT_DIR" ) . expect ( "Failed to get out dir" ) ;
238
- let manifest_dir = std:: env:: var ( "CARGO_MANIFEST_DIR" ) . expect ( "Failed to get manifest dir" ) ;
243
+ let manifest_dir = std:: env:: var ( "CARGO_MANIFEST_DIR" )
244
+ . expect ( "Failed to get manifest dir" )
245
+ . replace ( '\\' , "/" ) ;
239
246
let out_file_path = format ! ( "{out_dir}/gdb.output" ) ;
240
247
let cmd_file_path = format ! ( "{out_dir}/gdb-commands.txt" ) ;
241
248
@@ -262,6 +269,9 @@ mod tests {
262
269
"
263
270
) ;
264
271
272
+ #[ cfg( windows) ]
273
+ let cmd = format ! ( "set osabi none\n {}" , cmd) ;
274
+
265
275
let checker = |contents : String | contents. contains ( "Stopped at hyperlight_main breakpoint" ) ;
266
276
267
277
let result = run_guest_and_gdb ( & cmd_file_path, & out_file_path, & cmd, checker) ;
@@ -277,7 +287,10 @@ mod tests {
277
287
#[ serial]
278
288
fn test_gdb_sse_check ( ) {
279
289
let out_dir = std:: env:: var ( "OUT_DIR" ) . expect ( "Failed to get out dir" ) ;
280
- let manifest_dir = std:: env:: var ( "CARGO_MANIFEST_DIR" ) . expect ( "Failed to get manifest dir" ) ;
290
+ let manifest_dir = std:: env:: var ( "CARGO_MANIFEST_DIR" )
291
+ . expect ( "Failed to get manifest dir" )
292
+ . replace ( '\\' , "/" ) ;
293
+ println ! ( "manifest dir {manifest_dir}" ) ;
281
294
let out_file_path = format ! ( "{out_dir}/gdb-sse.output" ) ;
282
295
let cmd_file_path = format ! ( "{out_dir}/gdb-sse--commands.txt" ) ;
283
296
@@ -308,6 +321,9 @@ mod tests {
308
321
"
309
322
) ;
310
323
324
+ #[ cfg( windows) ]
325
+ let cmd = format ! ( "set osabi none\n {}" , cmd) ;
326
+
311
327
let checker = |contents : String | contents. contains ( "$2 = [1.20000005, 0, 0, 0]" ) ;
312
328
let result = run_guest_and_gdb ( & cmd_file_path, & out_file_path, & cmd, checker) ;
313
329
0 commit comments