@@ -48,7 +48,9 @@ fn start(argc: int, argv: **u8) -> int {
48
48
49
49
pub fn main ( ) {
50
50
let args = os:: args ( ) ;
51
- let config = parse_config ( args) ;
51
+ let config = parse_config ( args. move_iter ( )
52
+ . map ( |x| x. to_string ( ) )
53
+ . collect ( ) ) ;
52
54
log_config ( & config) ;
53
55
run_tests ( & config) ;
54
56
}
@@ -129,15 +131,17 @@ pub fn parse_config(args: Vec<String> ) -> Config {
129
131
} ;
130
132
131
133
Config {
132
- compile_lib_path : matches. opt_str ( "compile-lib-path" ) . unwrap ( ) ,
133
- run_lib_path : matches. opt_str ( "run-lib-path" ) . unwrap ( ) ,
134
+ compile_lib_path : matches. opt_str ( "compile-lib-path" )
135
+ . unwrap ( )
136
+ . to_string ( ) ,
137
+ run_lib_path : matches. opt_str ( "run-lib-path" ) . unwrap ( ) . to_string ( ) ,
134
138
rustc_path : opt_path ( matches, "rustc-path" ) ,
135
139
clang_path : matches. opt_str ( "clang-path" ) . map ( |s| Path :: new ( s) ) ,
136
140
llvm_bin_path : matches. opt_str ( "llvm-bin-path" ) . map ( |s| Path :: new ( s) ) ,
137
141
src_base : opt_path ( matches, "src-base" ) ,
138
142
build_base : opt_path ( matches, "build-base" ) ,
139
143
aux_base : opt_path ( matches, "aux-base" ) ,
140
- stage_id : matches. opt_str ( "stage-id" ) . unwrap ( ) ,
144
+ stage_id : matches. opt_str ( "stage-id" ) . unwrap ( ) . to_string ( ) ,
141
145
mode : FromStr :: from_str ( matches. opt_str ( "mode" )
142
146
. unwrap ( )
143
147
. as_slice ( ) ) . expect ( "invalid mode" ) ,
@@ -151,23 +155,32 @@ pub fn parse_config(args: Vec<String> ) -> Config {
151
155
ratchet_noise_percent :
152
156
matches. opt_str ( "ratchet-noise-percent" )
153
157
. and_then ( |s| from_str :: < f64 > ( s. as_slice ( ) ) ) ,
154
- runtool : matches. opt_str ( "runtool" ) ,
155
- host_rustcflags : matches. opt_str ( "host-rustcflags" ) ,
156
- target_rustcflags : matches. opt_str ( "target-rustcflags" ) ,
158
+ runtool : matches. opt_str ( "runtool" ) . map ( |x| x. to_string ( ) ) ,
159
+ host_rustcflags : matches. opt_str ( "host-rustcflags" )
160
+ . map ( |x| x. to_string ( ) ) ,
161
+ target_rustcflags : matches. opt_str ( "target-rustcflags" )
162
+ . map ( |x| x. to_string ( ) ) ,
157
163
jit : matches. opt_present ( "jit" ) ,
158
- target : opt_str2 ( matches. opt_str ( "target" ) ) ,
159
- host : opt_str2 ( matches. opt_str ( "host" ) ) ,
164
+ target : opt_str2 ( matches. opt_str ( "target" ) . map ( |x| x . to_string ( ) ) ) ,
165
+ host : opt_str2 ( matches. opt_str ( "host" ) . map ( |x| x . to_string ( ) ) ) ,
160
166
android_cross_path : opt_path ( matches, "android-cross-path" ) ,
161
- adb_path : opt_str2 ( matches. opt_str ( "adb-path" ) ) ,
162
- adb_test_dir : opt_str2 ( matches. opt_str ( "adb-test-dir" ) ) ,
167
+ adb_path : opt_str2 ( matches. opt_str ( "adb-path" )
168
+ . map ( |x| x. to_string ( ) ) ) ,
169
+ adb_test_dir : opt_str2 ( matches. opt_str ( "adb-test-dir" )
170
+ . map ( |x| x. to_string ( ) ) ) ,
163
171
adb_device_status :
164
172
"arm-linux-androideabi" ==
165
- opt_str2 ( matches. opt_str ( "target" ) ) . as_slice ( ) &&
173
+ opt_str2 ( matches. opt_str ( "target" )
174
+ . map ( |x| x. to_string ( ) ) ) . as_slice ( ) &&
166
175
"(none)" !=
167
- opt_str2 ( matches. opt_str ( "adb-test-dir" ) ) . as_slice ( ) &&
168
- !opt_str2 ( matches. opt_str ( "adb-test-dir" ) ) . is_empty ( ) ,
169
- lldb_python_dir : matches. opt_str ( "lldb-python-dir" ) ,
170
- test_shard : test:: opt_shard ( matches. opt_str ( "test-shard" ) ) ,
176
+ opt_str2 ( matches. opt_str ( "adb-test-dir" )
177
+ . map ( |x| x. to_string ( ) ) ) . as_slice ( ) &&
178
+ !opt_str2 ( matches. opt_str ( "adb-test-dir" )
179
+ . map ( |x| x. to_string ( ) ) ) . is_empty ( ) ,
180
+ lldb_python_dir : matches. opt_str ( "lldb-python-dir" )
181
+ . map ( |x| x. to_string ( ) ) ,
182
+ test_shard : test:: opt_shard ( matches. opt_str ( "test-shard" )
183
+ . map ( |x| x. to_string ( ) ) ) ,
171
184
verbose : matches. opt_present ( "verbose" )
172
185
}
173
186
}
0 commit comments