Make serde-tests a standalone crate
This commit is contained in:
parent
85cd6f3e6e
commit
f011b01051
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -1,2 +1,2 @@
|
||||||
/target
|
target
|
||||||
/Cargo.lock
|
Cargo.lock
|
||||||
|
|
|
@ -11,6 +11,7 @@ script:
|
||||||
- cargo build --verbose --no-default-features
|
- cargo build --verbose --no-default-features
|
||||||
- cargo build --verbose --features serde --no-default-features
|
- cargo build --verbose --features serde --no-default-features
|
||||||
- cargo test --verbose --features serde
|
- cargo test --verbose --features serde
|
||||||
|
- cargo test --verbose --manifest-path serde-tests/Cargo.toml
|
||||||
- rustdoc --test README.md -L target
|
- rustdoc --test README.md -L target
|
||||||
- cargo doc --no-deps
|
- cargo doc --no-deps
|
||||||
after_success:
|
after_success:
|
||||||
|
|
|
@ -17,11 +17,10 @@ facilitate deserializing and serializing Rust structures.
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rustc-serialize = { optional = true, version = "0.3.0" }
|
rustc-serialize = { optional = true, version = "0.3.0" }
|
||||||
serde = { optional = true }
|
serde = { optional = true, version = "0.5" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["rustc-serialize"]
|
default = ["rustc-serialize"]
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
rustc-serialize = "0.3"
|
rustc-serialize = "0.3"
|
||||||
serde_macros = "*"
|
|
||||||
|
|
21
serde-tests/Cargo.toml
Normal file
21
serde-tests/Cargo.toml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
[package]
|
||||||
|
name = "serde-tests"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Alex Crichton <alex@alexcrichton.com>"]
|
||||||
|
build = "build.rs"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
serde = "0.5"
|
||||||
|
toml = { path = "..", features = ["serde"] }
|
||||||
|
|
||||||
|
[build-dependencies]
|
||||||
|
syntex = "0.7"
|
||||||
|
serde_codegen = "0.5"
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
name = "serde_tests"
|
||||||
|
path = "lib.rs"
|
||||||
|
|
||||||
|
[[test]]
|
||||||
|
name = "serde"
|
||||||
|
path = "test.rs"
|
17
serde-tests/build.rs
Normal file
17
serde-tests/build.rs
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
extern crate syntex;
|
||||||
|
extern crate serde_codegen;
|
||||||
|
|
||||||
|
use std::env;
|
||||||
|
use std::path::Path;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let out_dir = env::var_os("OUT_DIR").unwrap();
|
||||||
|
|
||||||
|
let src = Path::new("test.rs.in");
|
||||||
|
let dst = Path::new(&out_dir).join("test.rs");
|
||||||
|
|
||||||
|
let mut registry = syntex::Registry::new();
|
||||||
|
|
||||||
|
serde_codegen::register(&mut registry);
|
||||||
|
registry.expand("", &src, &dst).unwrap();
|
||||||
|
}
|
1
serde-tests/lib.rs
Normal file
1
serde-tests/lib.rs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
// intentionally blank
|
1
serde-tests/test.rs
Normal file
1
serde-tests/test.rs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
include!(concat!(env!("OUT_DIR"), "/test.rs"));
|
|
@ -1,8 +1,3 @@
|
||||||
#![cfg(feature = "serde")]
|
|
||||||
#![feature(custom_derive, plugin)]
|
|
||||||
#![plugin(serde_macros)]
|
|
||||||
|
|
||||||
|
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
extern crate toml;
|
extern crate toml;
|
||||||
|
|
||||||
|
@ -308,8 +303,8 @@ fn parse_enum() {
|
||||||
}
|
}
|
||||||
|
|
||||||
let v = Foo { a: E::Bar(10) };
|
let v = Foo { a: E::Bar(10) };
|
||||||
// technically serde is correct here. a single element tuple still is a tuple and therefor
|
// technically serde is correct here. a single element tuple still is a
|
||||||
// a sequence
|
// tuple and therefor a sequence
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
encode!(v),
|
encode!(v),
|
||||||
map! { a, Integer(10) }
|
map! { a, Integer(10) }
|
Loading…
Reference in a new issue