21cd20ff26
This implements serde support under the optional 'serde' feature, and adds unit tests to test said support. https://serde.rs/unit-testing.html used as a guide for the unit tests - using 'serde_test' makes for much less boilerplate here, but it does require that the project have a non-optional dev dependency on 'serde_test'.
37 lines
1.3 KiB
YAML
37 lines
1.3 KiB
YAML
language: rust
|
|
sudo: false
|
|
env:
|
|
- FEATURES='serde'
|
|
matrix:
|
|
include:
|
|
- rust: 1.12.0
|
|
- rust: stable
|
|
env:
|
|
- NODEFAULT=1
|
|
- rust: beta
|
|
- rust: nightly
|
|
env:
|
|
- NODEFAULT=1
|
|
- rust: nightly
|
|
env:
|
|
- NODROP_FEATURES='use_needs_drop'
|
|
- rust: nightly
|
|
env:
|
|
- FEATURES='serde use_union'
|
|
- NODROP_FEATURES='use_union'
|
|
branches:
|
|
only:
|
|
- master
|
|
- 0.3
|
|
script:
|
|
- |
|
|
([ ! -z "$NODROP_FEATURES" ] || cargo build --verbose --features "$FEATURES") &&
|
|
([ "$NODEFAULT" != 1 ] || cargo build --verbose --no-default-features) &&
|
|
([ ! -z "$NODROP_FEATURES" ] || cargo test --verbose --features "$FEATURES") &&
|
|
([ ! -z "$NODROP_FEATURES" ] || cargo test --release --verbose --features "$FEATURES") &&
|
|
([ ! -z "$NODROP_FEATURES" ] || cargo bench --verbose --features "$FEATURES" -- --test) &&
|
|
([ ! -z "$NODROP_FEATURES" ] || cargo doc --verbose --features "$FEATURES") &&
|
|
([ "$NODEFAULT" != 1 ] || cargo build --verbose --manifest-path=nodrop/Cargo.toml --no-default-features) &&
|
|
cargo test --verbose --manifest-path=nodrop/Cargo.toml --features "$NODROP_FEATURES" &&
|
|
cargo bench --verbose --manifest-path=nodrop/Cargo.toml --features "$NODROP_FEATURES" -- --test
|