Skip to content

Commit 752f786

Browse files
authored
Merge pull request #52 from zonyitoo/serde0.9
Migrate to serde0.9, update other dependencies
2 parents 65071b8 + be922fa commit 752f786

File tree

13 files changed

+597
-570
lines changed

13 files changed

+597
-570
lines changed

.travis.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
language: rust
22

3+
rust:
4+
- stable
5+
- beta
6+
- nightly
7+
8+
cache: cargo
9+
310
env:
411
- RUST_TEST_THREADS=1
512

13+
sudo: false
14+
615
script:
716
- cargo build -v
8-
- cargo test -v
9-
- cd serde-tests && cargo test -v
17+
- cargo test -v --no-fail-fast
18+
- cd serde-tests && cargo test -v --no-fail-fast

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "bson"
3-
version = "0.3.2"
3+
version = "0.4.0"
44
authors = ["Y. T. Chung <[email protected]>"]
55
description = "Encoding and decoding support for BSON in Rust"
66
license = "MIT"
@@ -11,15 +11,15 @@ homepage = "https://github.com/zonyitoo/bson-rs"
1111
name = "bson"
1212

1313
[dependencies]
14-
byteorder = "0.3"
14+
byteorder = "1.0"
1515
chrono = "0.2"
16-
libc = "0.1"
16+
libc = "0.2"
1717
rand = "0.3"
18-
rust-crypto = "0.2.31"
18+
rust-crypto = "0.2"
1919
rustc-serialize = "0.3"
20-
serde = "0.8"
20+
serde = "0.9"
2121
time = "0.1"
22-
linked-hash-map = "0.0.9"
22+
linked-hash-map = "0.3"
2323
hostname = "^0.1"
2424

2525
[dependencies.num]

serde-tests/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ build = "build.rs"
66

77

88
[dependencies]
9-
serde = "0.8"
9+
serde = "0.9"
1010
bson = { path = "..", features = ["serde"] }
1111

1212
[build-dependencies]
1313
syntex = "0.46"
14-
serde_codegen = "0.8"
14+
serde_codegen = "0.9"
1515

1616
[lib]
1717
name = "serde_tests"

serde-tests/test.rs.in

Lines changed: 41 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ extern crate serde;
33

44
use std::collections::{BTreeMap, HashSet};
55
use serde::{Deserialize, Serialize, Deserializer};
6+
use serde::de::Unexpected;
67

78
use bson::{Bson, Encoder, Decoder, DecoderError};
89

@@ -58,17 +59,16 @@ macro_rules! t {
5859
}
5960

6061
macro_rules! encode( ($t:expr) => ({
61-
let mut e = Encoder::new();
62-
t!($t.serialize(&mut e));
63-
match e.bson() {
62+
let e = Encoder::new();
63+
match $t.serialize(e) {
6464
Ok(b) => b,
6565
Err(e) => panic!("Failed to serialize: {}", e),
6666
}
6767
}) );
6868

6969
macro_rules! decode( ($t:expr) => ({
70-
let mut d = Decoder::new($t);
71-
t!(Deserialize::deserialize(&mut d))
70+
let d = Decoder::new($t);
71+
t!(Deserialize::deserialize(d))
7272
}) );
7373

7474
#[test]
@@ -118,24 +118,24 @@ fn application_decode_error() {
118118
#[derive(PartialEq, Debug)]
119119
struct Range10(usize);
120120
impl Deserialize for Range10 {
121-
fn deserialize<D: Deserializer>(d: &mut D) -> Result<Range10, D::Error> {
121+
fn deserialize<D: Deserializer>(d: D) -> Result<Range10, D::Error> {
122122
let x: usize = try!(Deserialize::deserialize(d));
123123
if x > 10 {
124-
Err(serde::de::Error::invalid_value("more than 10"))
124+
Err(serde::de::Error::invalid_value(Unexpected::Unsigned(x as u64), &"more than 10"))
125125
} else {
126126
Ok(Range10(x))
127127
}
128128
}
129129
}
130-
let mut d_good = Decoder::new(Bson::I64(5));
131-
let mut d_bad1 = Decoder::new(Bson::String("not an isize".to_string()));
132-
let mut d_bad2 = Decoder::new(Bson::I64(11));
130+
let d_good = Decoder::new(Bson::I64(5));
131+
let d_bad1 = Decoder::new(Bson::String("not an isize".to_string()));
132+
let d_bad2 = Decoder::new(Bson::I64(11));
133133

134-
assert_eq!(Range10(5), t!(Deserialize::deserialize(&mut d_good)));
134+
assert_eq!(Range10(5), t!(Deserialize::deserialize(d_good)));
135135

136-
let err1: Result<Range10, _> = Deserialize::deserialize(&mut d_bad1);
136+
let err1: Result<Range10, _> = Deserialize::deserialize(d_bad1);
137137
assert!(err1.is_err());
138-
let err2: Result<Range10, _> = Deserialize::deserialize(&mut d_bad2);
138+
let err2: Result<Range10, _> = Deserialize::deserialize(d_bad2);
139139
assert!(err2.is_err());
140140
}
141141

@@ -316,10 +316,10 @@ fn type_conversion() {
316316
#[derive(Serialize, Deserialize, PartialEq, Debug)]
317317
struct Foo { bar: i32 }
318318

319-
let mut d = Decoder::new(bdoc!{
319+
let d = Decoder::new(bdoc!{
320320
"bar" => (1.0)
321321
});
322-
let a: Result<Foo, DecoderError> = Deserialize::deserialize(&mut d);
322+
let a: Result<Foo, DecoderError> = Deserialize::deserialize(d);
323323
assert_eq!(
324324
a.unwrap(),
325325
Foo { bar: 1 }
@@ -331,8 +331,8 @@ fn missing_errors() {
331331
#[derive(Serialize, Deserialize, PartialEq, Debug)]
332332
struct Foo { bar: i32 }
333333

334-
let mut d = Decoder::new(bdoc! {});
335-
let a: Result<Foo, DecoderError> = Deserialize::deserialize(&mut d);
334+
let d = Decoder::new(bdoc! {});
335+
let a: Result<Foo, DecoderError> = Deserialize::deserialize(d);
336336

337337
assert!(a.is_err());
338338
}
@@ -419,12 +419,12 @@ fn unused_fields() {
419419
struct Foo { a: i32 }
420420

421421
let v = Foo { a: 2 };
422-
let mut d = Decoder::new(bdoc! {
422+
let d = Decoder::new(bdoc! {
423423
"a" => 2,
424424
"b" => 5
425425
});
426426

427-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
427+
assert_eq!(v, t!(Deserialize::deserialize(d)));
428428
}
429429

430430
#[test]
@@ -435,14 +435,14 @@ fn unused_fields2() {
435435
struct Bar { a: i32 }
436436

437437
let v = Foo { a: Bar { a: 2 } };
438-
let mut d = Decoder::new(bdoc! {
438+
let d = Decoder::new(bdoc! {
439439
"a" => {
440440
"a" => 2,
441441
"b" => 5
442442
}
443443
});
444444

445-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
445+
assert_eq!(v, t!(Deserialize::deserialize(d)));
446446
}
447447

448448
#[test]
@@ -453,12 +453,12 @@ fn unused_fields3() {
453453
struct Bar { a: i32 }
454454

455455
let v = Foo { a: Bar { a: 2 } };
456-
let mut d = Decoder::new(bdoc! {
456+
let d = Decoder::new(bdoc! {
457457
"a" => {
458458
"a" => 2
459459
}
460460
});
461-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
461+
assert_eq!(v, t!(Deserialize::deserialize(d)));
462462
}
463463

464464
#[test]
@@ -469,12 +469,12 @@ fn unused_fields4() {
469469
let mut map = BTreeMap::new();
470470
map.insert("a".to_owned(), "foo".to_owned());
471471
let v = Foo { a: map };
472-
let mut d = Decoder::new(bdoc! {
472+
let d = Decoder::new(bdoc! {
473473
"a" => {
474474
"a" => "foo"
475475
}
476476
});
477-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
477+
assert_eq!(v, t!(Deserialize::deserialize(d)));
478478
}
479479

480480
#[test]
@@ -483,10 +483,10 @@ fn unused_fields5() {
483483
struct Foo { a: Vec<String> }
484484

485485
let v = Foo { a: vec!["a".to_string()] };
486-
let mut d = Decoder::new(bdoc! {
486+
let d = Decoder::new(bdoc! {
487487
"a" => ["a"]
488488
});
489-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
489+
assert_eq!(v, t!(Deserialize::deserialize(d)));
490490
}
491491

492492
#[test]
@@ -495,10 +495,10 @@ fn unused_fields6() {
495495
struct Foo { a: Option<Vec<String>> }
496496

497497
let v = Foo { a: Some(vec![]) };
498-
let mut d = Decoder::new(bdoc! {
498+
let d = Decoder::new(bdoc! {
499499
"a" => []
500500
});
501-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
501+
assert_eq!(v, t!(Deserialize::deserialize(d)));
502502
}
503503

504504
#[test]
@@ -509,22 +509,25 @@ fn unused_fields7() {
509509
struct Bar { a: i32 }
510510

511511
let v = Foo { a: vec![Bar { a: 1 }] };
512-
let mut d = Decoder::new(bdoc! {
512+
let d = Decoder::new(bdoc! {
513513
"a" => [{"a" => 1, "b" => 2}]
514514
});
515-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
515+
assert_eq!(v, t!(Deserialize::deserialize(d)));
516516
}
517517

518518
#[test]
519519
fn empty_arrays() {
520520
#[derive(Serialize, Deserialize, PartialEq, Debug)]
521-
struct Foo { a: Vec<Bar> }
521+
struct Foo {
522+
#[serde(default)]
523+
a: Vec<Bar>
524+
}
522525
#[derive(Serialize, Deserialize, PartialEq, Debug)]
523526
struct Bar;
524527

525528
let v = Foo { a: vec![] };
526-
let mut d = Decoder::new(bdoc! {});
527-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
529+
let d = Decoder::new(bdoc! {});
530+
assert_eq!(v, t!(Deserialize::deserialize(d)));
528531
}
529532

530533
#[test]
@@ -535,12 +538,12 @@ fn empty_arrays2() {
535538
struct Bar;
536539

537540
let v = Foo { a: None };
538-
let mut d = Decoder::new(bdoc! {});
539-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
541+
let d = Decoder::new(bdoc! {});
542+
assert_eq!(v, t!(Deserialize::deserialize(d)));
540543

541544
let v = Foo { a: Some(vec![]) };
542-
let mut d = Decoder::new(bdoc! {
545+
let d = Decoder::new(bdoc! {
543546
"a" => []
544547
});
545-
assert_eq!(v, t!(Deserialize::deserialize(&mut d)));
548+
assert_eq!(v, t!(Deserialize::deserialize(d)));
546549
}

0 commit comments

Comments
 (0)