提交 7bc64684 编写于 作者: A Alex Crichton

Merge branch 'compiletest-update' of https://github.com/alexcrichton/rust into update-cargo

......@@ -10,11 +10,13 @@ filetime = "0.1"
getopts = "0.2"
log = "0.4"
regex = "0.2"
rustc-serialize = "0.3"
serde = "1.0"
serde_json = "1.0"
serde_derive = "1.0"
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[target.'cfg(windows)'.dependencies]
miow = "0.2"
winapi = "0.2"
miow = "0.3"
winapi = { version = "0.3", features = ["winerror"] }
......@@ -9,7 +9,7 @@
// except according to those terms.
use errors::{Error, ErrorKind};
use rustc_serialize::json;
use serde_json;
use std::str::FromStr;
use std::path::Path;
use runtest::ProcRes;
......@@ -17,17 +17,16 @@
// These structs are a subset of the ones found in
// `syntax::json`.
#[derive(RustcEncodable, RustcDecodable)]
#[derive(Deserialize)]
struct Diagnostic {
message: String,
code: Option<DiagnosticCode>,
level: String,
spans: Vec<DiagnosticSpan>,
children: Vec<Diagnostic>,
rendered: Option<String>,
}
#[derive(RustcEncodable, RustcDecodable, Clone)]
#[derive(Deserialize, Clone)]
struct DiagnosticSpan {
file_name: String,
line_start: usize,
......@@ -40,7 +39,7 @@ struct DiagnosticSpan {
expansion: Option<Box<DiagnosticSpanMacroExpansion>>,
}
#[derive(RustcEncodable, RustcDecodable, Clone)]
#[derive(Deserialize, Clone)]
struct DiagnosticSpanMacroExpansion {
/// span where macro was applied to generate this code
span: DiagnosticSpan,
......@@ -49,7 +48,7 @@ struct DiagnosticSpanMacroExpansion {
macro_decl_name: String,
}
#[derive(RustcEncodable, RustcDecodable, Clone)]
#[derive(Deserialize, Clone)]
struct DiagnosticCode {
/// The code itself.
code: String,
......@@ -67,7 +66,7 @@ fn parse_line(file_name: &str, line: &str, output: &str, proc_res: &ProcRes) ->
// The compiler sometimes intermingles non-JSON stuff into the
// output. This hack just skips over such lines. Yuck.
if line.starts_with('{') {
match json::decode::<Diagnostic>(line) {
match serde_json::from_str::<Diagnostic>(line) {
Ok(diagnostic) => {
let mut expected_errors = vec![];
push_expected_errors(&mut expected_errors, &diagnostic, &[], file_name);
......
......@@ -21,8 +21,10 @@
extern crate libc;
#[macro_use]
extern crate log;
extern crate rustc_serialize;
extern crate regex;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
extern crate test;
use std::env;
......
......@@ -119,7 +119,7 @@ mod imp {
use self::miow::iocp::{CompletionPort, CompletionStatus};
use self::miow::pipe::NamedPipe;
use self::miow::Overlapped;
use self::winapi::ERROR_BROKEN_PIPE;
use self::winapi::shared::winerror::ERROR_BROKEN_PIPE;
struct Pipe<'a> {
dst: &'a mut Vec<u8>,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册