log to stderr instead of stdout
includes rustc diagnostics runtest updated to check stderr for errors
This commit is contained in:
parent
f10d0e1bd4
commit
d65eabd5de
3 changed files with 12 additions and 16 deletions
|
@ -159,16 +159,16 @@ fn diagnosticcolor(lvl: level) -> u8 {
|
||||||
|
|
||||||
fn print_diagnostic(topic: str, lvl: level, msg: str) {
|
fn print_diagnostic(topic: str, lvl: level, msg: str) {
|
||||||
if str::is_not_empty(topic) {
|
if str::is_not_empty(topic) {
|
||||||
io::stdout().write_str(#fmt["%s ", topic]);
|
io::stderr().write_str(#fmt["%s ", topic]);
|
||||||
}
|
}
|
||||||
if term::color_supported() {
|
if term::color_supported() {
|
||||||
term::fg(io::stdout(), diagnosticcolor(lvl));
|
term::fg(io::stderr(), diagnosticcolor(lvl));
|
||||||
}
|
}
|
||||||
io::stdout().write_str(#fmt["%s:", diagnosticstr(lvl)]);
|
io::stderr().write_str(#fmt["%s:", diagnosticstr(lvl)]);
|
||||||
if term::color_supported() {
|
if term::color_supported() {
|
||||||
term::reset(io::stdout());
|
term::reset(io::stderr());
|
||||||
}
|
}
|
||||||
io::stdout().write_str(#fmt[" %s\n", msg]);
|
io::stderr().write_str(#fmt[" %s\n", msg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn emit(cmsp: option<(codemap::codemap, span)>,
|
fn emit(cmsp: option<(codemap::codemap, span)>,
|
||||||
|
@ -201,10 +201,10 @@ fn highlight_lines(cm: codemap::codemap, sp: span,
|
||||||
}
|
}
|
||||||
// Print the offending lines
|
// Print the offending lines
|
||||||
for line: uint in display_lines {
|
for line: uint in display_lines {
|
||||||
io::stdout().write_str(#fmt["%s:%u ", fm.name, line + 1u]);
|
io::stderr().write_str(#fmt["%s:%u ", fm.name, line + 1u]);
|
||||||
let s = codemap::get_line(fm, line as int);
|
let s = codemap::get_line(fm, line as int);
|
||||||
if !str::ends_with(s, "\n") { s += "\n"; }
|
if !str::ends_with(s, "\n") { s += "\n"; }
|
||||||
io::stdout().write_str(s);
|
io::stderr().write_str(s);
|
||||||
}
|
}
|
||||||
if elided {
|
if elided {
|
||||||
let last_line = display_lines[vec::len(display_lines) - 1u];
|
let last_line = display_lines[vec::len(display_lines) - 1u];
|
||||||
|
@ -213,7 +213,7 @@ fn highlight_lines(cm: codemap::codemap, sp: span,
|
||||||
let out = "";
|
let out = "";
|
||||||
while indent > 0u { out += " "; indent -= 1u; }
|
while indent > 0u { out += " "; indent -= 1u; }
|
||||||
out += "...\n";
|
out += "...\n";
|
||||||
io::stdout().write_str(out);
|
io::stderr().write_str(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -238,6 +238,6 @@ fn highlight_lines(cm: codemap::codemap, sp: span,
|
||||||
let width = hi.col - lo.col - 1u;
|
let width = hi.col - lo.col - 1u;
|
||||||
while width > 0u { str::push_char(s, '~'); width -= 1u; }
|
while width > 0u { str::push_char(s, '~'); width -= 1u; }
|
||||||
}
|
}
|
||||||
io::stdout().write_str(s + "\n");
|
io::stderr().write_str(s + "\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -199,7 +199,7 @@ fn check_error_patterns(props: test_props,
|
||||||
|
|
||||||
let next_err_idx = 0u;
|
let next_err_idx = 0u;
|
||||||
let next_err_pat = props.error_patterns[next_err_idx];
|
let next_err_pat = props.error_patterns[next_err_idx];
|
||||||
for line: str in str::split(procres.stdout, '\n' as u8) {
|
for line: str in str::split(procres.stderr, '\n' as u8) {
|
||||||
if str::find(line, next_err_pat) > 0 {
|
if str::find(line, next_err_pat) > 0 {
|
||||||
#debug("found error pattern %s", next_err_pat);
|
#debug("found error pattern %s", next_err_pat);
|
||||||
next_err_idx += 1u;
|
next_err_idx += 1u;
|
||||||
|
@ -246,7 +246,7 @@ fn check_expected_errors(expected_errors: [errors::expected_error],
|
||||||
// filename:line1:col1: line2:col2: *warning:* msg
|
// filename:line1:col1: line2:col2: *warning:* msg
|
||||||
// where line1:col1: is the starting point, line2:col2:
|
// where line1:col1: is the starting point, line2:col2:
|
||||||
// is the ending point, and * represents ANSI color codes.
|
// is the ending point, and * represents ANSI color codes.
|
||||||
for line: str in str::split(procres.stdout, '\n' as u8) {
|
for line: str in str::split(procres.stderr, '\n' as u8) {
|
||||||
let was_expected = false;
|
let was_expected = false;
|
||||||
vec::iteri(expected_errors) {|i, ee|
|
vec::iteri(expected_errors) {|i, ee|
|
||||||
if !found_flags[i] {
|
if !found_flags[i] {
|
||||||
|
|
|
@ -25,11 +25,7 @@ rust_srv::realloc(void *p, size_t bytes) {
|
||||||
|
|
||||||
void
|
void
|
||||||
rust_srv::log(char const *msg) {
|
rust_srv::log(char const *msg) {
|
||||||
printf("rust: %s\n", msg);
|
fprintf(stderr, "rust: %s\n", msg);
|
||||||
// FIXME: flushing each time is expensive, but at the moment
|
|
||||||
// necessary to get output through before a rust_task::fail
|
|
||||||
// call. This should be changed.
|
|
||||||
fflush(stdout);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue