@@ -134,7 +134,7 @@ fn test_split_input() {
134
134
& $i,
135
135
& [ ] ,
136
136
& [ ] ,
137
- "" ,
137
+ "/package " ,
138
138
& bin_name,
139
139
& script_name,
140
140
toolchain. clone( ) ,
@@ -144,13 +144,13 @@ fn test_split_input() {
144
144
}
145
145
146
146
let f = |c : & str | {
147
- let dummy_path: :: std:: path:: PathBuf = "main.rs" . into ( ) ;
147
+ let dummy_path: :: std:: path:: PathBuf = "/dummy/ main.rs" . into ( ) ;
148
148
Input :: File ( "n" . to_string ( ) , dummy_path, c. to_string ( ) )
149
149
} ;
150
150
151
151
macro_rules! r {
152
- ( $m: expr, $r: expr) => {
153
- Some ( ( $m. into( ) , "main.rs" . into( ) , $r. into( ) ) )
152
+ ( $m: expr, $p : expr , $ r: expr) => {
153
+ Some ( ( $m. into( ) , $p . into( ) , $r. into( ) ) )
154
154
} ;
155
155
}
156
156
@@ -161,7 +161,7 @@ fn test_split_input() {
161
161
"{}{}" ,
162
162
r#"[[bin]]
163
163
name = "binary-name"
164
- path = "main.rs"
164
+ path = "/dummy/ main.rs"
165
165
166
166
[dependencies]
167
167
@@ -172,6 +172,7 @@ name = "n"
172
172
version = "0.1.0""# ,
173
173
STRIP_SECTION
174
174
) ,
175
+ "/dummy/main.rs" ,
175
176
None
176
177
)
177
178
) ;
@@ -184,7 +185,7 @@ fn main() {}"#)),
184
185
"{}{}" ,
185
186
r#"[[bin]]
186
187
name = "binary-name"
187
- path = "main.rs"
188
+ path = "/dummy/ main.rs"
188
189
189
190
[dependencies]
190
191
@@ -195,6 +196,7 @@ name = "n"
195
196
version = "0.1.0""# ,
196
197
STRIP_SECTION
197
198
) ,
199
+ "/dummy/main.rs" ,
198
200
None
199
201
)
200
202
) ;
@@ -207,7 +209,7 @@ fn main() {}"#)),
207
209
"{}{}" ,
208
210
r#"[[bin]]
209
211
name = "binary-name"
210
- path = "main.rs"
212
+ path = "/dummy/ main.rs"
211
213
212
214
[dependencies]
213
215
@@ -218,6 +220,7 @@ name = "n"
218
220
version = "0.1.0""# ,
219
221
STRIP_SECTION
220
222
) ,
223
+ "/dummy/main.rs" ,
221
224
None
222
225
)
223
226
) ;
@@ -238,7 +241,7 @@ version = "0.1.0""#,
238
241
"{}{}" ,
239
242
r#"[[bin]]
240
243
name = "binary-name"
241
- path = "main.rs"
244
+ path = "/dummy/ main.rs"
242
245
243
246
[dependencies]
244
247
@@ -252,6 +255,7 @@ version = "0.1.0"
252
255
toolchain = "stable""# ,
253
256
STRIP_SECTION
254
257
) ,
258
+ "/dummy/main.rs" ,
255
259
None
256
260
)
257
261
) ;
@@ -267,7 +271,7 @@ fn main() {}
267
271
"{}{}" ,
268
272
r#"[[bin]]
269
273
name = "binary-name"
270
- path = "main.rs"
274
+ path = "/dummy/ main.rs"
271
275
272
276
[dependencies]
273
277
@@ -278,6 +282,7 @@ name = "n"
278
282
version = "0.1.0""# ,
279
283
STRIP_SECTION
280
284
) ,
285
+ "/dummy/main.rs" ,
281
286
None
282
287
)
283
288
) ;
@@ -293,7 +298,7 @@ fn main() {}
293
298
"{}{}" ,
294
299
r#"[[bin]]
295
300
name = "binary-name"
296
- path = "main.rs"
301
+ path = "/dummy/ main.rs"
297
302
298
303
[dependencies]
299
304
@@ -304,6 +309,7 @@ name = "n"
304
309
version = "0.1.0""# ,
305
310
STRIP_SECTION
306
311
) ,
312
+ "/dummy/main.rs" ,
307
313
None
308
314
)
309
315
) ;
@@ -318,7 +324,7 @@ fn main() {}
318
324
"{}{}" ,
319
325
r#"[[bin]]
320
326
name = "binary-name"
321
- path = "main.rs"
327
+ path = "/dummy/ main.rs"
322
328
323
329
[dependencies]
324
330
time = "0.1.25"
@@ -330,6 +336,7 @@ name = "n"
330
336
version = "0.1.0""# ,
331
337
STRIP_SECTION
332
338
) ,
339
+ "/dummy/main.rs" ,
333
340
None
334
341
)
335
342
) ;
@@ -344,7 +351,7 @@ fn main() {}
344
351
"{}{}" ,
345
352
r#"[[bin]]
346
353
name = "binary-name"
347
- path = "main.rs"
354
+ path = "/dummy/ main.rs"
348
355
349
356
[dependencies]
350
357
libc = "0.2.5"
@@ -357,6 +364,7 @@ name = "n"
357
364
version = "0.1.0""# ,
358
365
STRIP_SECTION
359
366
) ,
367
+ "/dummy/main.rs" ,
360
368
None
361
369
)
362
370
) ;
@@ -378,7 +386,7 @@ fn main() {}
378
386
"{}{}" ,
379
387
r#"[[bin]]
380
388
name = "binary-name"
381
- path = "main.rs"
389
+ path = "/dummy/ main.rs"
382
390
383
391
[dependencies]
384
392
time = "0.1.25"
@@ -390,9 +398,39 @@ name = "n"
390
398
version = "0.1.0""# ,
391
399
STRIP_SECTION
392
400
) ,
401
+ "/dummy/main.rs" ,
393
402
None
394
403
)
395
404
) ;
405
+
406
+ assert_eq ! (
407
+ si!( f( r#"#!/usr/bin/env rust-script
408
+ println!("Hello")"# ) ) ,
409
+ r!(
410
+ format!(
411
+ "{}{}" ,
412
+ r#"[[bin]]
413
+ name = "binary-name"
414
+ path = "/package/main.rs"
415
+
416
+ [dependencies]
417
+
418
+ [package]
419
+ authors = ["Anonymous"]
420
+ edition = "2021"
421
+ name = "n"
422
+ version = "0.1.0""# ,
423
+ STRIP_SECTION
424
+ ) ,
425
+ "/package/main.rs" ,
426
+ Some ( r#"
427
+ fn main() -> Result<(), Box<dyn std::error::Error+Sync+Send>> {
428
+ {println!("Hello")}
429
+ Ok(())
430
+ }
431
+ "# . to_string( ) )
432
+ )
433
+ ) ;
396
434
}
397
435
398
436
/**
0 commit comments