Skip to content

Commit 5ca2c63

Browse files
committed
---
yaml --- r: 147357 b: refs/heads/try2 c: d760f99 h: refs/heads/master i: 147355: 70d1fbf v: v3
1 parent 3a22dda commit 5ca2c63

File tree

30 files changed

+543
-617
lines changed

30 files changed

+543
-617
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: b25a0524dcb1e46b9c55266ebc0ab36cce5d2099
8+
refs/heads/try2: d760f994de00f4e700a03a650e5065c8391b7f73
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/mk/tests.mk

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -133,16 +133,13 @@ $(foreach target,$(CFG_TARGET), \
133133
$(if $(findstring $(target),"arm-linux-androideabi"), \
134134
$(if $(findstring adb,$(CFG_ADB)), \
135135
$(if $(findstring device,$(shell $(CFG_ADB) devices 2>/dev/null | grep -E '^[_A-Za-z0-9-]+[[:blank:]]+device')), \
136-
$(info check: $(target) test enabled \
137-
$(info check: android device attached) \
138-
$(eval $(call DEF_ADB_DEVICE_STATUS, true))), \
139-
$(info check: $(target) test disabled \
140-
$(info check: android device not attached) \
141-
$(eval $(call DEF_ADB_DEVICE_STATUS, false))) \
136+
$(info check: android device attached) \
137+
$(eval $(call DEF_ADB_DEVICE_STATUS, true)), \
138+
$(info check: android device not attached) \
139+
$(eval $(call DEF_ADB_DEVICE_STATUS, false)) \
142140
), \
143-
$(info check: $(target) test disabled \
144-
$(info check: adb not found) \
145-
$(eval $(call DEF_ADB_DEVICE_STATUS, false))) \
141+
$(info check: adb not found) \
142+
$(eval $(call DEF_ADB_DEVICE_STATUS, false)) \
146143
), \
147144
) \
148145
)
@@ -451,8 +448,8 @@ check-stage$(1)-T-$(2)-H-$(3)-$(4)-exec: $$(call TEST_OK_FILE,$(1),$(2),$(3),$(4
451448

452449
$$(call TEST_OK_FILE,$(1),$(2),$(3),$(4)): \
453450
$(3)/stage$(1)/test/$(4)test-$(2)$$(X_$(2))
454-
@$$(call E, run: skipped $$< )
455-
@touch $$@
451+
@$$(call E, failing: no device for $$< )
452+
false
456453
endef
457454

458455
$(foreach host,$(CFG_HOST), \

branches/try2/src/compiletest/runtest.rs

Lines changed: 90 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,18 @@ use std::vec;
3737
use extra::test::MetricMap;
3838

3939
pub fn run(config: config, testfile: ~str) {
40+
41+
match config.target {
42+
43+
~"arm-linux-androideabi" => {
44+
if !config.adb_device_status {
45+
fail!("android device not available");
46+
}
47+
}
48+
49+
_=> { }
50+
}
51+
4052
let mut _mm = MetricMap::new();
4153
run_metrics(config, testfile, &mut _mm);
4254
}
@@ -99,20 +111,8 @@ fn run_rfail_test(config: &config, props: &TestProps, testfile: &Path) {
99111
fatal_ProcRes(~"run-fail test isn't valgrind-clean!", &ProcRes);
100112
}
101113
102-
match config.target {
103-
104-
~"arm-linux-androideabi" => {
105-
if (config.adb_device_status) {
106-
check_correct_failure_status(&ProcRes);
107-
check_error_patterns(props, testfile, &ProcRes);
108-
}
109-
}
110-
111-
_=> {
112-
check_correct_failure_status(&ProcRes);
113-
check_error_patterns(props, testfile, &ProcRes);
114-
}
115-
}
114+
check_correct_failure_status(&ProcRes);
115+
check_error_patterns(props, testfile, &ProcRes);
116116
}
117117
118118
fn check_correct_failure_status(ProcRes: &ProcRes) {
@@ -275,86 +275,86 @@ fn run_debuginfo_test(config: &config, props: &TestProps, testfile: &Path) {
275275
let mut ProcArgs;
276276
match config.target {
277277
~"arm-linux-androideabi" => {
278-
if (config.adb_device_status) {
279-
280-
cmds = cmds.replace("run","continue");
281-
282-
// write debugger script
283-
let script_str = [~"set charset UTF-8",
284-
format!("file {}",exe_file.as_str().unwrap().to_owned()),
285-
~"target remote :5039",
286-
cmds,
287-
~"quit"].connect("\n");
288-
debug!("script_str = {}", script_str);
289-
dump_output_file(config, testfile, script_str, "debugger.script");
290-
291-
292-
procsrv::run("", config.adb_path,
293-
[~"push", exe_file.as_str().unwrap().to_owned(), config.adb_test_dir.clone()],
294-
~[(~"",~"")], Some(~""))
295-
.expect(format!("failed to exec `{}`", config.adb_path));
296-
297-
procsrv::run("", config.adb_path,
298-
[~"forward", ~"tcp:5039", ~"tcp:5039"],
299-
~[(~"",~"")], Some(~""))
300-
.expect(format!("failed to exec `{}`", config.adb_path));
301-
302-
let adb_arg = format!("export LD_LIBRARY_PATH={}; gdbserver :5039 {}/{}",
303-
config.adb_test_dir.clone(), config.adb_test_dir.clone(),
304-
str::from_utf8(exe_file.filename().unwrap()));
305-
306-
let mut process = procsrv::run_background("", config.adb_path,
307-
[~"shell",adb_arg.clone()],~[(~"",~"")], Some(~""))
308-
.expect(format!("failed to exec `{}`", config.adb_path));
309-
loop {
310-
//waiting 1 second for gdbserver start
311-
timer::sleep(1000);
312-
let result = do task::try {
313-
tcp::TcpStream::connect(
314-
SocketAddr { ip: Ipv4Addr(127, 0, 0, 1), port: 5039 });
315-
};
316-
if result.is_err() {
317-
continue;
318-
}
319-
break;
320-
}
321278

322-
let args = split_maybe_args(&config.rustcflags);
323-
let mut tool_path:~str = ~"";
324-
for arg in args.iter() {
325-
if arg.contains("--android-cross-path=") {
326-
tool_path = arg.replace("--android-cross-path=","");
327-
break;
328-
}
329-
}
279+
cmds = cmds.replace("run","continue");
330280

331-
if tool_path.equals(&~"") {
332-
fatal(~"cannot found android cross path");
333-
}
281+
// write debugger script
282+
let script_str = [~"set charset UTF-8",
283+
format!("file {}",exe_file.as_str().unwrap().to_owned()),
284+
~"target remote :5039",
285+
cmds,
286+
~"quit"].connect("\n");
287+
debug!("script_str = {}", script_str);
288+
dump_output_file(config, testfile, script_str, "debugger.script");
334289

335-
let debugger_script = make_out_name(config, testfile, "debugger.script");
336-
// FIXME (#9639): This needs to handle non-utf8 paths
337-
let debugger_opts = ~[~"-quiet", ~"-batch", ~"-nx",
338-
"-command=" + debugger_script.as_str().unwrap().to_owned()];
339-
340-
let gdb_path = tool_path.append("/bin/arm-linux-androideabi-gdb");
341-
let procsrv::Result{ out, err, status }=
342-
procsrv::run("",
343-
gdb_path,
344-
debugger_opts, ~[(~"",~"")], None)
345-
.expect(format!("failed to exec `{}`", gdb_path));
346-
let cmdline = {
347-
let cmdline = make_cmdline("", "arm-linux-androideabi-gdb", debugger_opts);
348-
logv(config, format!("executing {}", cmdline));
349-
cmdline
290+
291+
procsrv::run("", config.adb_path,
292+
[~"push", exe_file.as_str().unwrap().to_owned(),
293+
config.adb_test_dir.clone()],
294+
~[(~"",~"")], Some(~""))
295+
.expect(format!("failed to exec `{}`", config.adb_path));
296+
297+
procsrv::run("", config.adb_path,
298+
[~"forward", ~"tcp:5039", ~"tcp:5039"],
299+
~[(~"",~"")], Some(~""))
300+
.expect(format!("failed to exec `{}`", config.adb_path));
301+
302+
let adb_arg = format!("export LD_LIBRARY_PATH={}; gdbserver :5039 {}/{}",
303+
config.adb_test_dir.clone(), config.adb_test_dir.clone(),
304+
str::from_utf8(exe_file.filename().unwrap()));
305+
306+
let mut process = procsrv::run_background("", config.adb_path,
307+
[~"shell",adb_arg.clone()],
308+
~[(~"",~"")], Some(~""))
309+
.expect(format!("failed to exec `{}`", config.adb_path));
310+
loop {
311+
//waiting 1 second for gdbserver start
312+
timer::sleep(1000);
313+
let result = do task::try {
314+
tcp::TcpStream::connect(
315+
SocketAddr { ip: Ipv4Addr(127, 0, 0, 1), port: 5039 });
350316
};
317+
if result.is_err() {
318+
continue;
319+
}
320+
break;
321+
}
322+
323+
let args = split_maybe_args(&config.rustcflags);
324+
let mut tool_path:~str = ~"";
325+
for arg in args.iter() {
326+
if arg.contains("--android-cross-path=") {
327+
tool_path = arg.replace("--android-cross-path=","");
328+
break;
329+
}
330+
}
351331

352-
ProcRes = ProcRes {status: status,
353-
stdout: out,
354-
stderr: err,
355-
cmdline: cmdline};
356-
process.force_destroy();
332+
if tool_path.equals(&~"") {
333+
fatal(~"cannot found android cross path");
357334
}
335+
336+
let debugger_script = make_out_name(config, testfile, "debugger.script");
337+
// FIXME (#9639): This needs to handle non-utf8 paths
338+
let debugger_opts = ~[~"-quiet", ~"-batch", ~"-nx",
339+
"-command=" + debugger_script.as_str().unwrap().to_owned()];
340+
341+
let gdb_path = tool_path.append("/bin/arm-linux-androideabi-gdb");
342+
let procsrv::Result{ out, err, status }=
343+
procsrv::run("",
344+
gdb_path,
345+
debugger_opts, ~[(~"",~"")], None)
346+
.expect(format!("failed to exec `{}`", gdb_path));
347+
let cmdline = {
348+
let cmdline = make_cmdline("", "arm-linux-androideabi-gdb", debugger_opts);
349+
logv(config, format!("executing {}", cmdline));
350+
cmdline
351+
};
352+
353+
ProcRes = ProcRes {status: status,
354+
stdout: out,
355+
stderr: err,
356+
cmdline: cmdline};
357+
process.force_destroy();
358358
}
359359

360360
_=> {
@@ -662,11 +662,7 @@ fn exec_compiled_test(config: &config, props: &TestProps,
662662
match config.target {
663663

664664
~"arm-linux-androideabi" => {
665-
if (config.adb_device_status) {
666-
_arm_exec_compiled_test(config, props, testfile, env)
667-
} else {
668-
_dummy_exec_compiled_test(config, props, testfile)
669-
}
665+
_arm_exec_compiled_test(config, props, testfile, env)
670666
}
671667

672668
_=> {
@@ -710,9 +706,7 @@ fn compose_and_run_compiler(
710706
match config.target {
711707

712708
~"arm-linux-androideabi" => {
713-
if (config.adb_device_status) {
714-
_arm_push_aux_shared_library(config, testfile);
715-
}
709+
_arm_push_aux_shared_library(config, testfile);
716710
}
717711

718712
_=> { }
@@ -992,20 +986,6 @@ fn _arm_exec_compiled_test(config: &config, props: &TestProps,
992986
}
993987
}
994988

995-
fn _dummy_exec_compiled_test(config: &config, props: &TestProps,
996-
testfile: &Path) -> ProcRes {
997-
998-
let args = make_run_args(config, props, testfile);
999-
let cmdline = make_cmdline("", args.prog, args.args);
1000-
1001-
match config.mode {
1002-
mode_run_fail => ProcRes {status: process::ExitStatus(101), stdout: ~"",
1003-
stderr: ~"", cmdline: cmdline},
1004-
_ => ProcRes {status: process::ExitStatus(0), stdout: ~"",
1005-
stderr: ~"", cmdline: cmdline}
1006-
}
1007-
}
1008-
1009989
fn _arm_push_aux_shared_library(config: &config, testfile: &Path) {
1010990
let tdir = aux_output_dir_name(config, testfile);
1011991

branches/try2/src/libextra/flate.rs

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,18 @@ static TINFL_FLAG_PARSE_ZLIB_HEADER : c_int = 0x1; // parse zlib header and adle
4444
static TDEFL_WRITE_ZLIB_HEADER : c_int = 0x01000; // write zlib header and adler32 checksum
4545

4646
fn deflate_bytes_internal(bytes: &[u8], flags: c_int) -> ~[u8] {
47-
bytes.as_imm_buf(|b, len| {
48-
unsafe {
49-
let mut outsz : size_t = 0;
50-
let res =
51-
rustrt::tdefl_compress_mem_to_heap(b as *c_void,
52-
len as size_t,
53-
&mut outsz,
54-
flags);
55-
assert!(res as int != 0);
47+
unsafe {
48+
let mut outsz : size_t = 0;
49+
let res = rustrt::tdefl_compress_mem_to_heap(bytes.as_ptr() as *c_void,
50+
bytes.len() as size_t,
51+
&mut outsz,
52+
flags);
53+
assert!(res as int != 0);
5654
let out = vec::raw::from_buf_raw(res as *u8,
5755
outsz as uint);
58-
libc::free(res);
59-
out
60-
}
61-
})
56+
libc::free(res);
57+
out
58+
}
6259
}
6360

6461
pub fn deflate_bytes(bytes: &[u8]) -> ~[u8] {
@@ -70,21 +67,18 @@ pub fn deflate_bytes_zlib(bytes: &[u8]) -> ~[u8] {
7067
}
7168

7269
fn inflate_bytes_internal(bytes: &[u8], flags: c_int) -> ~[u8] {
73-
bytes.as_imm_buf(|b, len| {
74-
unsafe {
75-
let mut outsz : size_t = 0;
76-
let res =
77-
rustrt::tinfl_decompress_mem_to_heap(b as *c_void,
78-
len as size_t,
79-
&mut outsz,
80-
flags);
81-
assert!(res as int != 0);
82-
let out = vec::raw::from_buf_raw(res as *u8,
83-
outsz as uint);
84-
libc::free(res);
85-
out
86-
}
87-
})
70+
unsafe {
71+
let mut outsz : size_t = 0;
72+
let res = rustrt::tinfl_decompress_mem_to_heap(bytes.as_ptr() as *c_void,
73+
bytes.len() as size_t,
74+
&mut outsz,
75+
flags);
76+
assert!(res as int != 0);
77+
let out = vec::raw::from_buf_raw(res as *u8,
78+
outsz as uint);
79+
libc::free(res);
80+
out
81+
}
8882
}
8983

9084
pub fn inflate_bytes(bytes: &[u8]) -> ~[u8] {

0 commit comments

Comments
 (0)