diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2018-03-06 18:39:45 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2018-03-07 07:11:57 -0800 |
| commit | 7bc64684c32b6616f31978cac32cee8179f702b7 (patch) | |
| tree | 179f107cd376cf01849ef3655270b2d824c44ac5 /src/tools/compiletest | |
| parent | 8121db33401a15ffe61b3bc0ca19f0d1fbd9391b (diff) | |
| parent | db824b2509afb832edc4d49299380590503849a3 (diff) | |
| download | rust-7bc64684c32b6616f31978cac32cee8179f702b7.tar.gz rust-7bc64684c32b6616f31978cac32cee8179f702b7.zip | |
Merge branch 'compiletest-update' of https://github.com/alexcrichton/rust into update-cargo
Diffstat (limited to 'src/tools/compiletest')
| -rw-r--r-- | src/tools/compiletest/Cargo.toml | 8 | ||||
| -rw-r--r-- | src/tools/compiletest/src/json.rs | 13 | ||||
| -rw-r--r-- | src/tools/compiletest/src/main.rs | 4 | ||||
| -rw-r--r-- | src/tools/compiletest/src/read2.rs | 2 |
4 files changed, 15 insertions, 12 deletions
diff --git a/src/tools/compiletest/Cargo.toml b/src/tools/compiletest/Cargo.toml index fb7125ffa01..7d02f0b746d 100644 --- a/src/tools/compiletest/Cargo.toml +++ b/src/tools/compiletest/Cargo.toml @@ -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"] } diff --git a/src/tools/compiletest/src/json.rs b/src/tools/compiletest/src/json.rs index 8e9cd1a12fa..08630628b71 100644 --- a/src/tools/compiletest/src/json.rs +++ b/src/tools/compiletest/src/json.rs @@ -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 @@ use runtest::ProcRes; // 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); diff --git a/src/tools/compiletest/src/main.rs b/src/tools/compiletest/src/main.rs index 7928cab74fe..e65c03a6e57 100644 --- a/src/tools/compiletest/src/main.rs +++ b/src/tools/compiletest/src/main.rs @@ -21,8 +21,10 @@ extern crate getopts; 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; diff --git a/src/tools/compiletest/src/read2.rs b/src/tools/compiletest/src/read2.rs index 486c0d81e3f..4f55edc58ef 100644 --- a/src/tools/compiletest/src/read2.rs +++ b/src/tools/compiletest/src/read2.rs @@ -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>, |
