#![feature(box_syntax)]
#![feature(dynamic_lib)]
#![feature(libc)]
-#![feature(path_ext)]
#![feature(rustc_private)]
-#![feature(slice_splits)]
#![feature(str_char)]
#![feature(test)]
#![feature(vec_push_all)]
+#![feature(path_components_peek)]
#![deny(warnings)]
optflag("h", "help", "show this message"));
let (argv0, args_) = args.split_first().unwrap();
- if args[1] == "-h" || args[1] == "--help" {
+ if args.len() == 1 || args[1] == "-h" || args[1] == "--help" {
let message = format!("Usage: {} [OPTIONS] [TESTNAME...]", argv0);
println!("{}", getopts::usage(&message, &groups));
println!("");
logv(c, format!("filter: {}",
opt_str(&config.filter
.as_ref()
- .map(|re| re.to_string()))));
+ .map(|re| re.to_owned()))));
logv(c, format!("runtool: {}", opt_str(&config.runtool)));
logv(c, format!("host-rustcflags: {}",
opt_str(&config.host_rustcflags)));
pub fn opt_str2(maybestr: Option<String>) -> String {
match maybestr {
- None => "(none)".to_string(),
+ None => "(none)".to_owned(),
Some(s) => s,
}
}
pub fn run_tests(config: &Config) {
if config.target.contains("android") {
- match config.mode {
- DebugInfoGdb => {
- println!("{} debug-info test uses tcp 5039 port.\
- please reserve it", config.target);
- }
- _ =>{}
+ if let DebugInfoGdb = config.mode {
+ println!("{} debug-info test uses tcp 5039 port.\
+ please reserve it", config.target);
}
// android debug-info test uses remote debugger
// Pretty-printer does not work with .rc files yet
let valid_extensions =
match config.mode {
- Pretty => vec!(".rs".to_string()),
- _ => vec!(".rc".to_string(), ".rs".to_string())
+ Pretty => vec!(".rs".to_owned()),
+ _ => vec!(".rc".to_owned(), ".rs".to_owned())
};
- let invalid_prefixes = vec!(".".to_string(), "#".to_string(), "~".to_string());
+ let invalid_prefixes = vec!(".".to_owned(), "#".to_owned(), "~".to_owned());
let name = testfile.file_name().unwrap().to_str().unwrap();
let mut valid = false;
if !full_version_line.trim().is_empty() => {
let full_version_line = full_version_line.trim();
- // used to be a regex "(^|[^0-9])([0-9]\.[0-9])([^0-9]|$)"
+ // used to be a regex "(^|[^0-9])([0-9]\.[0-9]+)"
for (pos, c) in full_version_line.char_indices() {
if !c.is_digit(10) { continue }
if pos + 2 >= full_version_line.len() { continue }
if pos > 0 && full_version_line.char_at_reverse(pos).is_digit(10) {
continue
}
- if pos + 3 < full_version_line.len() &&
- full_version_line.char_at(pos + 3).is_digit(10) {
- continue
+ let mut end = pos + 3;
+ while end < full_version_line.len() &&
+ full_version_line.char_at(end).is_digit(10) {
+ end += 1;
}
- return Some(full_version_line[pos..pos+3].to_string());
+ return Some(full_version_line[pos..end].to_owned());
}
println!("Could not extract GDB version from line '{}'",
full_version_line);
// We are only interested in the major version number, so this function
// will return `Some("179")` and `Some("300")` respectively.
- match full_version_line {
- Some(ref full_version_line)
- if !full_version_line.trim().is_empty() => {
+ if let Some(ref full_version_line) = full_version_line {
+ if !full_version_line.trim().is_empty() {
let full_version_line = full_version_line.trim();
for (pos, l) in full_version_line.char_indices() {
}
println!("Could not extract LLDB version from line '{}'",
full_version_line);
- None
- },
- _ => None
+ }
}
+ None
}