@@ -48,14 +48,12 @@ 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. move_iter ( )
52
- . map ( |x| x. to_strbuf ( ) )
53
- . collect ( ) ) ;
51
+ let config = parse_config ( args. move_iter ( ) . collect ( ) ) ;
54
52
log_config ( & config) ;
55
53
run_tests ( & config) ;
56
54
}
57
55
58
- pub fn parse_config ( args : Vec < StrBuf > ) -> Config {
56
+ pub fn parse_config ( args : Vec < ~ str > ) -> Config {
59
57
60
58
let groups : Vec < getopts:: OptGroup > =
61
59
vec ! ( reqopt( "" , "compile-lib-path" , "path to host shared libraries" , "PATH" ) ,
@@ -93,15 +91,15 @@ pub fn parse_config(args: Vec<StrBuf> ) -> Config {
93
91
assert ! ( !args. is_empty( ) ) ;
94
92
let argv0 = ( * args. get ( 0 ) ) . clone ( ) ;
95
93
let args_ = args. tail ( ) ;
96
- if args. get ( 1 ) . as_slice ( ) == "-h" || args. get ( 1 ) . as_slice ( ) == "--help" {
94
+ if * args. get ( 1 ) == "-h" . to_owned ( ) || * args. get ( 1 ) == "--help" . to_owned ( ) {
97
95
let message = format ! ( "Usage: {} [OPTIONS] [TESTNAME...]" , argv0) ;
98
96
println ! ( "{}" , getopts:: usage( message, groups. as_slice( ) ) ) ;
99
97
println ! ( "" ) ;
100
98
fail ! ( )
101
99
}
102
100
103
101
let matches =
104
- & match getopts:: getopts ( args_. as_slice ( ) , groups. as_slice ( ) ) {
102
+ & match getopts:: getopts ( args_, groups. as_slice ( ) ) {
105
103
Ok ( m) => m,
106
104
Err ( f) => fail ! ( "{}" , f. to_err_msg( ) )
107
105
} ;
@@ -131,53 +129,39 @@ pub fn parse_config(args: Vec<StrBuf> ) -> Config {
131
129
} ;
132
130
133
131
Config {
134
- compile_lib_path : matches. opt_str ( "compile-lib-path" )
135
- . unwrap ( )
136
- . to_strbuf ( ) ,
137
- run_lib_path : matches. opt_str ( "run-lib-path" ) . unwrap ( ) . to_strbuf ( ) ,
132
+ compile_lib_path : matches. opt_str ( "compile-lib-path" ) . unwrap ( ) ,
133
+ run_lib_path : matches. opt_str ( "run-lib-path" ) . unwrap ( ) ,
138
134
rustc_path : opt_path ( matches, "rustc-path" ) ,
139
135
clang_path : matches. opt_str ( "clang-path" ) . map ( |s| Path :: new ( s) ) ,
140
136
llvm_bin_path : matches. opt_str ( "llvm-bin-path" ) . map ( |s| Path :: new ( s) ) ,
141
137
src_base : opt_path ( matches, "src-base" ) ,
142
138
build_base : opt_path ( matches, "build-base" ) ,
143
139
aux_base : opt_path ( matches, "aux-base" ) ,
144
- stage_id : matches. opt_str ( "stage-id" ) . unwrap ( ) . to_strbuf ( ) ,
145
- mode : FromStr :: from_str ( matches. opt_str ( "mode" )
146
- . unwrap ( )
147
- . as_slice ( ) ) . expect ( "invalid mode" ) ,
140
+ stage_id : matches. opt_str ( "stage-id" ) . unwrap ( ) ,
141
+ mode : FromStr :: from_str ( matches. opt_str ( "mode" ) . unwrap ( ) ) . expect ( "invalid mode" ) ,
148
142
run_ignored : matches. opt_present ( "ignored" ) ,
149
143
filter : filter,
150
144
logfile : matches. opt_str ( "logfile" ) . map ( |s| Path :: new ( s) ) ,
151
145
save_metrics : matches. opt_str ( "save-metrics" ) . map ( |s| Path :: new ( s) ) ,
152
146
ratchet_metrics :
153
147
matches. opt_str ( "ratchet-metrics" ) . map ( |s| Path :: new ( s) ) ,
154
148
ratchet_noise_percent :
155
- matches. opt_str ( "ratchet-noise-percent" )
156
- . and_then ( |s| from_str :: < f64 > ( s. as_slice ( ) ) ) ,
157
- runtool : matches. opt_str ( "runtool" ) . map ( |x| x. to_strbuf ( ) ) ,
158
- host_rustcflags : matches. opt_str ( "host-rustcflags" )
159
- . map ( |x| x. to_strbuf ( ) ) ,
160
- target_rustcflags : matches. opt_str ( "target-rustcflags" )
161
- . map ( |x| x. to_strbuf ( ) ) ,
149
+ matches. opt_str ( "ratchet-noise-percent" ) . and_then ( |s| from_str :: < f64 > ( s) ) ,
150
+ runtool : matches. opt_str ( "runtool" ) ,
151
+ host_rustcflags : matches. opt_str ( "host-rustcflags" ) ,
152
+ target_rustcflags : matches. opt_str ( "target-rustcflags" ) ,
162
153
jit : matches. opt_present ( "jit" ) ,
163
- target : opt_str2 ( matches. opt_str ( "target" ) . map ( |x| x . to_strbuf ( ) ) ) ,
164
- host : opt_str2 ( matches. opt_str ( "host" ) . map ( |x| x . to_strbuf ( ) ) ) ,
154
+ target : opt_str2 ( matches. opt_str ( "target" ) ) . to_str ( ) ,
155
+ host : opt_str2 ( matches. opt_str ( "host" ) ) . to_str ( ) ,
165
156
android_cross_path : opt_path ( matches, "android-cross-path" ) ,
166
- adb_path : opt_str2 ( matches. opt_str ( "adb-path" )
167
- . map ( |x| x. to_strbuf ( ) ) ) ,
168
- adb_test_dir : opt_str2 ( matches. opt_str ( "adb-test-dir" )
169
- . map ( |x| x. to_strbuf ( ) ) ) ,
157
+ adb_path : opt_str2 ( matches. opt_str ( "adb-path" ) ) . to_str ( ) ,
158
+ adb_test_dir :
159
+ opt_str2 ( matches. opt_str ( "adb-test-dir" ) ) . to_str ( ) ,
170
160
adb_device_status :
171
- "arm-linux-androideabi" ==
172
- opt_str2 ( matches. opt_str ( "target" )
173
- . map ( |x| x. to_strbuf ( ) ) ) . as_slice ( ) &&
174
- "(none)" !=
175
- opt_str2 ( matches. opt_str ( "adb-test-dir" )
176
- . map ( |x| x. to_strbuf ( ) ) ) . as_slice ( ) &&
177
- !opt_str2 ( matches. opt_str ( "adb-test-dir" )
178
- . map ( |x| x. to_strbuf ( ) ) ) . is_empty ( ) ,
179
- lldb_python_dir : matches. opt_str ( "lldb-python-dir" )
180
- . map ( |x| x. to_strbuf ( ) ) ,
161
+ "arm-linux-androideabi" == opt_str2 ( matches. opt_str ( "target" ) ) &&
162
+ "(none)" != opt_str2 ( matches. opt_str ( "adb-test-dir" ) ) &&
163
+ !opt_str2 ( matches. opt_str ( "adb-test-dir" ) ) . is_empty ( ) ,
164
+ lldb_python_dir : matches. opt_str ( "lldb-python-dir" ) ,
181
165
test_shard : test:: opt_shard ( matches. opt_str ( "test-shard" )
182
166
. map ( |x| x. to_strbuf ( ) ) ) ,
183
167
verbose : matches. opt_present ( "verbose" )
@@ -186,59 +170,50 @@ pub fn parse_config(args: Vec<StrBuf> ) -> Config {
186
170
187
171
pub fn log_config ( config : & Config ) {
188
172
let c = config;
189
- logv ( c, format_strbuf ! ( "configuration:" ) ) ;
190
- logv ( c, format_strbuf ! ( "compile_lib_path: {}" , config. compile_lib_path) ) ;
191
- logv ( c, format_strbuf ! ( "run_lib_path: {}" , config. run_lib_path) ) ;
192
- logv ( c, format_strbuf ! ( "rustc_path: {}" , config. rustc_path. display( ) ) ) ;
193
- logv ( c, format_strbuf ! ( "src_base: {}" , config. src_base. display( ) ) ) ;
194
- logv ( c, format_strbuf ! ( "build_base: {}" , config. build_base. display( ) ) ) ;
195
- logv ( c, format_strbuf ! ( "stage_id: {}" , config. stage_id) ) ;
196
- logv ( c, format_strbuf ! ( "mode: {}" , config. mode) ) ;
197
- logv ( c, format_strbuf ! ( "run_ignored: {}" , config. run_ignored) ) ;
198
- logv ( c, format_strbuf ! ( "filter: {}" ,
199
- opt_str( & config. filter
200
- . as_ref( )
201
- . map( |re| {
202
- re. to_str( ) . into_strbuf( )
203
- } ) ) ) ) ;
204
- logv ( c, format_strbuf ! ( "runtool: {}" , opt_str( & config. runtool) ) ) ;
205
- logv ( c, format_strbuf ! ( "host-rustcflags: {}" ,
206
- opt_str( & config. host_rustcflags) ) ) ;
207
- logv ( c, format_strbuf ! ( "target-rustcflags: {}" ,
208
- opt_str( & config. target_rustcflags) ) ) ;
209
- logv ( c, format_strbuf ! ( "jit: {}" , config. jit) ) ;
210
- logv ( c, format_strbuf ! ( "target: {}" , config. target) ) ;
211
- logv ( c, format_strbuf ! ( "host: {}" , config. host) ) ;
212
- logv ( c, format_strbuf ! ( "android-cross-path: {}" ,
213
- config. android_cross_path. display( ) ) ) ;
214
- logv ( c, format_strbuf ! ( "adb_path: {}" , config. adb_path) ) ;
215
- logv ( c, format_strbuf ! ( "adb_test_dir: {}" , config. adb_test_dir) ) ;
216
- logv ( c, format_strbuf ! ( "adb_device_status: {}" ,
217
- config. adb_device_status) ) ;
173
+ logv ( c, format ! ( "configuration:" ) ) ;
174
+ logv ( c, format ! ( "compile_lib_path: {}" , config. compile_lib_path) ) ;
175
+ logv ( c, format ! ( "run_lib_path: {}" , config. run_lib_path) ) ;
176
+ logv ( c, format ! ( "rustc_path: {}" , config. rustc_path. display( ) ) ) ;
177
+ logv ( c, format ! ( "src_base: {}" , config. src_base. display( ) ) ) ;
178
+ logv ( c, format ! ( "build_base: {}" , config. build_base. display( ) ) ) ;
179
+ logv ( c, format ! ( "stage_id: {}" , config. stage_id) ) ;
180
+ logv ( c, format ! ( "mode: {}" , config. mode) ) ;
181
+ logv ( c, format ! ( "run_ignored: {}" , config. run_ignored) ) ;
182
+ logv ( c, format ! ( "filter: {}" , opt_str( & config. filter. as_ref( ) . map( |re| re. to_str( ) ) ) ) ) ;
183
+ logv ( c, format ! ( "runtool: {}" , opt_str( & config. runtool) ) ) ;
184
+ logv ( c, format ! ( "host-rustcflags: {}" , opt_str( & config. host_rustcflags) ) ) ;
185
+ logv ( c, format ! ( "target-rustcflags: {}" , opt_str( & config. target_rustcflags) ) ) ;
186
+ logv ( c, format ! ( "jit: {}" , config. jit) ) ;
187
+ logv ( c, format ! ( "target: {}" , config. target) ) ;
188
+ logv ( c, format ! ( "host: {}" , config. host) ) ;
189
+ logv ( c, format ! ( "android-cross-path: {}" , config. android_cross_path. display( ) ) ) ;
190
+ logv ( c, format ! ( "adb_path: {}" , config. adb_path) ) ;
191
+ logv ( c, format ! ( "adb_test_dir: {}" , config. adb_test_dir) ) ;
192
+ logv ( c, format ! ( "adb_device_status: {}" , config. adb_device_status) ) ;
218
193
match config. test_shard {
219
- None => logv ( c, "test_shard: (all)" . to_strbuf ( ) ) ,
220
- Some ( ( a, b) ) => logv ( c, format_strbuf ! ( "test_shard: {}.{}" , a, b) )
194
+ None => logv ( c, "test_shard: (all)" . to_owned ( ) ) ,
195
+ Some ( ( a, b) ) => logv ( c, format ! ( "test_shard: {}.{}" , a, b) )
221
196
}
222
- logv ( c, format_strbuf ! ( "verbose: {}" , config. verbose) ) ;
223
- logv ( c, format_strbuf ! ( "\n " ) ) ;
197
+ logv ( c, format ! ( "verbose: {}" , config. verbose) ) ;
198
+ logv ( c, format ! ( "\n " ) ) ;
224
199
}
225
200
226
- pub fn opt_str < ' a > ( maybestr : & ' a Option < StrBuf > ) -> & ' a str {
201
+ pub fn opt_str < ' a > ( maybestr : & ' a Option < ~ str > ) -> & ' a str {
227
202
match * maybestr {
228
203
None => "(none)" ,
229
- Some ( ref s) => s. as_slice ( ) ,
204
+ Some ( ref s) => {
205
+ let s: & ' a str = * s;
206
+ s
207
+ }
230
208
}
231
209
}
232
210
233
- pub fn opt_str2 ( maybestr : Option < StrBuf > ) -> StrBuf {
234
- match maybestr {
235
- None => "(none)" . to_strbuf ( ) ,
236
- Some ( s) => s,
237
- }
211
+ pub fn opt_str2 ( maybestr : Option < ~str > ) -> ~str {
212
+ match maybestr { None => "(none)" . to_owned ( ) , Some ( s) => { s } }
238
213
}
239
214
240
215
pub fn run_tests ( config : & Config ) {
241
- if config. target . as_slice ( ) == "arm-linux-androideabi" {
216
+ if config. target == "arm-linux-androideabi" . to_owned ( ) {
242
217
match config. mode {
243
218
DebugInfoGdb => {
244
219
println ! ( "arm-linux-androideabi debug-info \
@@ -346,11 +321,11 @@ pub fn make_test(config: &Config, testfile: &Path, f: || -> test::TestFn)
346
321
pub fn make_test_name ( config : & Config , testfile : & Path ) -> test:: TestName {
347
322
348
323
// Try to elide redundant long paths
349
- fn shorten ( path : & Path ) -> StrBuf {
324
+ fn shorten ( path : & Path ) -> ~ str {
350
325
let filename = path. filename_str ( ) ;
351
326
let p = path. dir_path ( ) ;
352
327
let dir = p. filename_str ( ) ;
353
- format_strbuf ! ( "{}/{}" , dir. unwrap_or( "" ) , filename. unwrap_or( "" ) )
328
+ format ! ( "{}/{}" , dir. unwrap_or( "" ) , filename. unwrap_or( "" ) )
354
329
}
355
330
356
331
test:: DynTestName ( format_strbuf ! ( "[{}] {}" ,
@@ -361,16 +336,14 @@ pub fn make_test_name(config: &Config, testfile: &Path) -> test::TestName {
361
336
pub fn make_test_closure ( config : & Config , testfile : & Path ) -> test:: TestFn {
362
337
let config = ( * config) . clone ( ) ;
363
338
// FIXME (#9639): This needs to handle non-utf8 paths
364
- let testfile = testfile. as_str ( ) . unwrap ( ) . to_strbuf ( ) ;
365
- test:: DynTestFn ( proc ( ) {
366
- runtest:: run ( config, testfile)
367
- } )
339
+ let testfile = testfile. as_str ( ) . unwrap ( ) . to_owned ( ) ;
340
+ test:: DynTestFn ( proc ( ) { runtest:: run ( config, testfile) } )
368
341
}
369
342
370
343
pub fn make_metrics_test_closure ( config : & Config , testfile : & Path ) -> test:: TestFn {
371
344
let config = ( * config) . clone ( ) ;
372
345
// FIXME (#9639): This needs to handle non-utf8 paths
373
- let testfile = testfile. as_str ( ) . unwrap ( ) . to_strbuf ( ) ;
346
+ let testfile = testfile. as_str ( ) . unwrap ( ) . to_owned ( ) ;
374
347
test:: DynMetricFn ( proc ( mm) {
375
348
runtest:: run_metrics ( config, testfile, mm)
376
349
} )
0 commit comments