Skip to content

Commit be8da3b

Browse files
committed
---
yaml --- r: 124662 b: refs/heads/try c: c0e6c4e h: refs/heads/master v: v3
1 parent c211df0 commit be8da3b

File tree

152 files changed

+4571
-551
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+4571
-551
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: f15d6d28396e8700b6c3f2704204a2769e710403
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 9fc8394d3bce22ab483f98842434c84c396212ae
5-
refs/heads/try: 7beb5507ff70d20b5ccb1f80ebeaef7a3dc84cfc
5+
refs/heads/try: c0e6c4e65075e5a1a596d09f16a179ff92a922cc
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/compiletest/compiletest.rs

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use std::io::fs;
3030
use std::from_str::FromStr;
3131
use getopts::{optopt, optflag, reqopt};
3232
use common::Config;
33-
use common::{Pretty, DebugInfoGdb, Codegen};
33+
use common::{Pretty, DebugInfoGdb, DebugInfoLldb, Codegen};
3434
use util::logv;
3535
use regex::Regex;
3636

@@ -89,9 +89,9 @@ pub fn parse_config(args: Vec<String> ) -> Config {
8989
optflag("h", "help", "show this message"));
9090

9191
assert!(!args.is_empty());
92-
let argv0 = (*args.get(0)).clone();
92+
let argv0 = args[0].clone();
9393
let args_ = args.tail();
94-
if args.get(1).as_slice() == "-h" || args.get(1).as_slice() == "--help" {
94+
if args[1].as_slice() == "-h" || args[1].as_slice() == "--help" {
9595
let message = format!("Usage: {} [OPTIONS] [TESTNAME...]", argv0);
9696
println!("{}", getopts::usage(message.as_slice(), groups.as_slice()));
9797
println!("");
@@ -116,7 +116,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
116116
}
117117

118118
let filter = if !matches.free.is_empty() {
119-
let s = matches.free.get(0).as_slice();
119+
let s = matches.free[0].as_slice();
120120
match regex::Regex::new(s) {
121121
Ok(re) => Some(re),
122122
Err(e) => {
@@ -241,6 +241,16 @@ pub fn run_tests(config: &Config) {
241241
os::setenv("RUST_TEST_TASKS","1");
242242
}
243243

244+
match config.mode {
245+
DebugInfoLldb => {
246+
// Some older versions of LLDB seem to have problems with multiple
247+
// instances running in parallel, so only run one test task at a
248+
// time.
249+
os::setenv("RUST_TEST_TASKS", "1");
250+
}
251+
_ => { /* proceed */ }
252+
}
253+
244254
let opts = test_opts(config);
245255
let tests = make_tests(config);
246256
// sadly osx needs some file descriptor limits raised for running tests in

branches/try/src/compiletest/runtest.rs

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ fn run_pretty_test(config: &Config, props: &TestProps, testfile: &Path) {
167167
let proc_res = print_source(config,
168168
props,
169169
testfile,
170-
(*srcs.get(round)).to_string(),
170+
srcs[round].to_string(),
171171
"normal");
172172

173173
if !proc_res.status.success() {
@@ -187,9 +187,9 @@ fn run_pretty_test(config: &Config, props: &TestProps, testfile: &Path) {
187187
let s = File::open(&filepath).read_to_end().unwrap();
188188
String::from_utf8(s).unwrap()
189189
}
190-
None => { (*srcs.get(srcs.len() - 2u)).clone() }
190+
None => { srcs[srcs.len() - 2u].clone() }
191191
};
192-
let mut actual = (*srcs.get(srcs.len() - 1u)).clone();
192+
let mut actual = srcs[srcs.len() - 1u].clone();
193193

194194
if props.pp_exact.is_some() {
195195
// Now we have to care about line endings
@@ -209,7 +209,7 @@ fn run_pretty_test(config: &Config, props: &TestProps, testfile: &Path) {
209209
if props.no_pretty_expanded { return }
210210

211211
// additionally, run `--pretty expanded` and try to build it.
212-
let proc_res = print_source(config, props, testfile, (*srcs.get(round)).clone(), "expanded");
212+
let proc_res = print_source(config, props, testfile, srcs[round].clone(), "expanded");
213213
if !proc_res.status.success() {
214214
fatal_proc_rec("pretty-printing (expanded) failed", &proc_res);
215215
}
@@ -536,6 +536,16 @@ fn run_debuginfo_lldb_test(config: &Config, props: &TestProps, testfile: &Path)
536536
// We don't want to hang when calling `quit` while the process is still running
537537
let mut script_str = String::from_str("settings set auto-confirm true\n");
538538

539+
// Make LLDB emit its version, so we have it documented in the test output
540+
script_str.push_str("version\n");
541+
542+
// Switch LLDB into "Rust mode"
543+
script_str.push_str("command script import ./src/etc/lldb_rust_formatters.py\n");
544+
script_str.push_str("type summary add --no-value ");
545+
script_str.push_str("--python-function lldb_rust_formatters.print_val ");
546+
script_str.push_str("-x \".*\" --category Rust\n");
547+
script_str.push_str("type category enable Rust\n");
548+
539549
// Set breakpoints on every line that contains the string "#break"
540550
for line in breakpoint_lines.iter() {
541551
script_str.push_str(format!("breakpoint set --line {}\n",
@@ -692,7 +702,7 @@ fn check_debugger_output(debugger_run_result: &ProcRes, check_lines: &[String])
692702
let mut rest = line.trim();
693703
let mut first = true;
694704
let mut failed = false;
695-
for frag in check_fragments.get(i).iter() {
705+
for frag in check_fragments[i].iter() {
696706
let found = if first {
697707
if rest.starts_with(frag.as_slice()) {
698708
Some(0)
@@ -742,7 +752,7 @@ fn check_error_patterns(props: &TestProps,
742752
}
743753

744754
let mut next_err_idx = 0u;
745-
let mut next_err_pat = props.error_patterns.get(next_err_idx);
755+
let mut next_err_pat = &props.error_patterns[next_err_idx];
746756
let mut done = false;
747757
let output_to_check = if props.check_stdout {
748758
format!("{}{}", proc_res.stdout, proc_res.stderr)
@@ -751,14 +761,14 @@ fn check_error_patterns(props: &TestProps,
751761
};
752762
for line in output_to_check.as_slice().lines() {
753763
if line.contains(next_err_pat.as_slice()) {
754-
debug!("found error pattern {}", *next_err_pat);
764+
debug!("found error pattern {}", next_err_pat);
755765
next_err_idx += 1u;
756766
if next_err_idx == props.error_patterns.len() {
757767
debug!("found all error patterns");
758768
done = true;
759769
break;
760770
}
761-
next_err_pat = props.error_patterns.get(next_err_idx);
771+
next_err_pat = &props.error_patterns[next_err_idx];
762772
}
763773
}
764774
if done { return; }
@@ -837,13 +847,13 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
837847
for line in proc_res.stderr.as_slice().lines() {
838848
let mut was_expected = false;
839849
for (i, ee) in expected_errors.iter().enumerate() {
840-
if !*found_flags.get(i) {
850+
if !found_flags[i] {
841851
debug!("prefix={} ee.kind={} ee.msg={} line={}",
842-
prefixes.get(i).as_slice(),
852+
prefixes[i].as_slice(),
843853
ee.kind,
844854
ee.msg,
845855
line);
846-
if prefix_matches(line, prefixes.get(i).as_slice()) &&
856+
if prefix_matches(line, prefixes[i].as_slice()) &&
847857
line.contains(ee.kind.as_slice()) &&
848858
line.contains(ee.msg.as_slice()) {
849859
*found_flags.get_mut(i) = true;
@@ -867,7 +877,7 @@ fn check_expected_errors(expected_errors: Vec<errors::ExpectedError> ,
867877

868878
for (i, &flag) in found_flags.iter().enumerate() {
869879
if !flag {
870-
let ee = expected_errors.get(i);
880+
let ee = &expected_errors[i];
871881
fatal_proc_rec(format!("expected {} on line {} not found: {}",
872882
ee.kind, ee.line, ee.msg).as_slice(),
873883
proc_res);

branches/try/src/doc/intro.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ fn main() {
205205
206206
spawn(proc() {
207207
let numbers = rx.recv();
208-
println!("{}", *numbers.get(0));
208+
println!("{}", numbers[0]);
209209
})
210210
}
211211
```
@@ -244,19 +244,19 @@ fn main() {
244244
245245
spawn(proc() {
246246
let numbers = rx.recv();
247-
println!("{}", numbers.get(0));
247+
println!("{}", numbers[0]);
248248
});
249249
250250
// Try to print a number from the original task
251-
println!("{}", *numbers.get(0));
251+
println!("{}", numbers[0]);
252252
}
253253
```
254254

255255
The compiler will produce an error indicating that the value is no longer in scope:
256256

257257
```text
258258
concurrency.rs:12:20: 12:27 error: use of moved value: 'numbers'
259-
concurrency.rs:12 println!("{}", numbers.get(0));
259+
concurrency.rs:12 println!("{}", numbers[0]);
260260
^~~~~~~
261261
```
262262

@@ -276,7 +276,7 @@ fn main() {
276276
277277
spawn(proc() {
278278
let numbers = rx.recv();
279-
println!("{:d}", *numbers.get(num as uint));
279+
println!("{:d}", numbers[num as uint]);
280280
})
281281
}
282282
}
@@ -309,7 +309,7 @@ fn main() {
309309
310310
spawn(proc() {
311311
let numbers = rx.recv();
312-
println!("{:d}", *numbers.get(num as uint));
312+
println!("{:d}", (*numbers)[num as uint]);
313313
})
314314
}
315315
}
@@ -364,7 +364,7 @@ fn main() {
364364
// See: https://github.com/rust-lang/rust/issues/6515
365365
*numbers.get_mut(num as uint) = *numbers.get_mut(num as uint) + 1;
366366
367-
println!("{}", *numbers.get(num as uint));
367+
println!("{}", (*numbers)[num as uint]);
368368
369369
// When `numbers` goes out of scope the lock is dropped
370370
})

branches/try/src/doc/tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2427,7 +2427,7 @@ as in this version of `print_all` that copies elements.
24272427
fn print_all<T: Printable + Clone>(printable_things: Vec<T>) {
24282428
let mut i = 0;
24292429
while i < printable_things.len() {
2430-
let copy_of_thing = printable_things.get(i).clone();
2430+
let copy_of_thing = printable_things[i].clone();
24312431
copy_of_thing.print();
24322432
i += 1;
24332433
}

branches/try/src/etc/lldb_batchmode.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@
3131
import re
3232
import atexit
3333

34-
# Terminate the debugger
35-
atexit.register(lambda: lldb.SBDebugger.Terminate())
36-
3734
# Set this to True for additional output
3835
DEBUG_OUTPUT = False
3936

0 commit comments

Comments
 (0)