File tree 4 files changed +19
-6
lines changed
src/tools/run-make-support
tests/run-make/invalid-library
4 files changed +19
-6
lines changed Original file line number Diff line number Diff line change @@ -228,6 +228,12 @@ dependencies = [
228
228
" backtrace" ,
229
229
]
230
230
231
+ [[package ]]
232
+ name = " ar"
233
+ version = " 0.9.0"
234
+ source = " registry+https://github.com/rust-lang/crates.io-index"
235
+ checksum = " d67af77d68a931ecd5cbd8a3b5987d63a1d1d1278f7f6a60ae33db485cdebb69"
236
+
231
237
[[package ]]
232
238
name = " ar_archive_writer"
233
239
version = " 0.2.0"
@@ -3394,6 +3400,7 @@ dependencies = [
3394
3400
name = " run_make_support"
3395
3401
version = " 0.2.0"
3396
3402
dependencies = [
3403
+ " ar" ,
3397
3404
" gimli 0.28.1" ,
3398
3405
" object 0.34.0" ,
3399
3406
" regex" ,
Original file line number Diff line number Diff line change @@ -9,3 +9,4 @@ similar = "2.5.0"
9
9
wasmparser = " 0.118.2"
10
10
regex = " 1.8" # 1.8 to avoid memchr 2.6.0, as 2.5.0 is pinned in the workspace
11
11
gimli = " 0.28.1"
12
+ ar = " 0.9.0"
Original file line number Diff line number Diff line change @@ -63,10 +63,15 @@ pub fn target() -> String {
63
63
64
64
/// `AR`
65
65
#[ track_caller]
66
- #[ must_use]
67
- pub fn ar_command ( ) -> Command {
68
- let ar_path = env_var ( "AR" ) ;
69
- Command :: new ( ar_path)
66
+ pub fn ar ( inputs : & [ impl AsRef < Path > ] , output_path : impl AsRef < Path > ) {
67
+ let output = fs:: File :: create ( & output_path) . expect ( & format ! (
68
+ "the file in path \" {}\" could not be created" ,
69
+ output_path. as_ref( ) . display( )
70
+ ) ) ;
71
+ let mut builder = ar:: Builder :: new ( output) ;
72
+ for input in inputs {
73
+ builder. append_path ( input) . unwrap ( ) ;
74
+ }
70
75
}
71
76
72
77
/// Check if target is windows-like.
Original file line number Diff line number Diff line change 1
1
use run_make_support:: fs_wrapper:: create_file;
2
- use run_make_support:: { ar_command , rustc} ;
2
+ use run_make_support:: { ar , rustc} ;
3
3
4
4
fn main ( ) {
5
5
create_file ( "lib.rmeta" ) ;
6
- ar_command ( ) . arg ( "crus" ) . arg ( " libfoo-ffffffff-1.0.rlib") . arg ( "lib.rmeta" ) . run ( ) ;
6
+ ar ( & [ "lib.rmeta" ] , " libfoo-ffffffff-1.0.rlib") ;
7
7
rustc ( ) . input ( "foo.rs" ) . run_fail ( ) . assert_stderr_contains ( "found invalid metadata" ) ;
8
8
}
You can’t perform that action at this time.
0 commit comments