init logging from yaserde crate's tests

As described here:
https://docs.rs/env_logger/0.7.1/env_logger/#capturing-logs-in-tests

This boilerplate means that "RUST_LOG=trace cargo test" does the right
thing:

* logs actually show up
* logs are separated by test, even when tests are run in parallel
This commit is contained in:
Scott Lamb 2020-06-19 22:19:35 -07:00
parent 0660a9e855
commit cb272454a4
9 changed files with 133 additions and 0 deletions

View File

@ -17,6 +17,7 @@ xml-rs = "0.8.3"
log = "0.4"
[dev-dependencies]
env_logger = "0.7.1"
yaserde_derive = { version = "0.4", path = "../yaserde_derive" }
[badges]

View File

@ -6,8 +6,14 @@ extern crate yaserde_derive;
use std::io::{Read, Write};
use yaserde::{YaDeserialize, YaSerialize};
fn init() {
let _ = env_logger::builder().is_test(true).try_init();
}
#[test]
fn default_field_string() {
init();
fn default_string() -> String {
"my_default_value".to_string()
}
@ -37,6 +43,8 @@ fn default_field_string() {
#[test]
fn default_field_boolean() {
init();
fn default_boolean() -> bool {
true
}
@ -61,6 +69,8 @@ fn default_field_boolean() {
#[test]
fn default_field_number() {
init();
fn default_number() -> u8 {
6
}
@ -85,6 +95,8 @@ fn default_field_number() {
#[test]
fn default_attribute_string() {
init();
fn default_string() -> String {
"my_default_value".to_string()
}
@ -113,6 +125,8 @@ fn default_attribute_string() {
#[test]
fn module_inclusion() {
init();
mod module {
use super::*;

View File

@ -7,6 +7,10 @@ use std::io::{Read, Write};
use yaserde::de::from_str;
use yaserde::{YaDeserialize, YaSerialize};
fn init() {
let _ = env_logger::builder().is_test(true).try_init();
}
macro_rules! convert_and_validate {
($content: expr, $struct: tt, $model: expr) => {
let loaded: Result<$struct, String> = from_str($content);
@ -16,6 +20,8 @@ macro_rules! convert_and_validate {
#[test]
fn de_basic() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "book")]
pub struct Book {
@ -48,6 +54,8 @@ fn de_basic() {
#[test]
fn de_dash_param() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "book")]
pub struct Book {
@ -81,6 +89,8 @@ fn de_dash_param() {
#[test]
fn de_multiple_segments() {
init();
mod other_mod {
use std::io::Read;
use yaserde::YaDeserialize;
@ -127,6 +137,8 @@ fn de_multiple_segments() {
#[test]
fn de_list_of_items() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "library")]
pub struct Library {
@ -167,6 +179,8 @@ fn de_list_of_items() {
#[test]
fn de_attributes() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "base")]
pub struct XmlStruct {
@ -205,6 +219,8 @@ fn de_attributes() {
#[test]
fn de_attributes_custom_deserializer() {
init();
mod other_mod {
use super::*;
@ -269,6 +285,8 @@ fn de_attributes_custom_deserializer() {
#[test]
fn de_attributes_complex() {
init();
mod other_mod {
use super::*;
@ -316,6 +334,8 @@ fn de_attributes_complex() {
#[test]
fn de_rename() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "base")]
pub struct XmlStruct {
@ -358,6 +378,8 @@ fn de_rename() {
#[test]
fn de_text_content_with_attributes() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "base")]
pub struct XmlStruct {
@ -402,6 +424,8 @@ fn de_text_content_with_attributes() {
#[test]
fn de_enum() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "base")]
pub struct XmlStruct {
@ -466,6 +490,8 @@ fn de_enum() {
#[test]
fn de_attribute_enum() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "base")]
pub struct XmlStruct {
@ -498,6 +524,8 @@ fn de_attribute_enum() {
#[test]
fn de_complex_enum() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
pub struct XmlStruct {
background: Color,
@ -717,6 +745,8 @@ fn de_complex_enum() {
#[test]
fn de_name_issue_21() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "book")]
pub struct Book {
@ -735,6 +765,8 @@ fn de_name_issue_21() {
#[test]
fn de_custom() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize)]
struct Date {
#[yaserde(rename = "Year")]
@ -792,6 +824,8 @@ fn de_custom() {
#[test]
fn de_subitem_issue_12() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize)]
pub struct Struct {
id: i32,
@ -814,6 +848,8 @@ fn de_subitem_issue_12() {
#[test]
fn de_subitem_issue_12_with_sub() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize)]
pub struct SubStruct {
id: i32,
@ -846,6 +882,8 @@ fn de_subitem_issue_12_with_sub() {
#[test]
fn de_subitem_issue_12_attributes() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize)]
pub struct Struct {
#[yaserde(attribute)]
@ -866,6 +904,8 @@ fn de_subitem_issue_12_attributes() {
#[test]
fn de_subitem_issue_12_attributes_with_sub() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize)]
pub struct SubStruct {
#[yaserde(attribute)]
@ -899,6 +939,8 @@ fn de_subitem_issue_12_attributes_with_sub() {
#[test]
fn de_same_field_name_sub() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize)]
pub struct SubStruct {
sub: Option<i32>,
@ -922,6 +964,8 @@ fn de_same_field_name_sub() {
#[test]
fn de_same_field_name_sub_sub() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize)]
pub struct SubSubStruct {
sub: i32,
@ -960,6 +1004,8 @@ fn de_same_field_name_sub_sub() {
#[test]
fn de_same_field_name_but_some_other_fields_or_something() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize, YaSerialize)]
#[yaserde(rename = "foo")]
pub struct FooOuter {

View File

@ -5,8 +5,14 @@ use std::io::Read;
use yaserde::de::from_str;
use yaserde::YaDeserialize;
fn init() {
let _ = env_logger::builder().is_test(true).try_init();
}
#[test]
fn de_no_content() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "book")]
pub struct Book {
@ -26,6 +32,8 @@ fn de_no_content() {
#[test]
fn de_wrong_end_balise() {
init();
#[derive(YaDeserialize, PartialEq, Debug)]
#[yaserde(root = "book")]
pub struct Book {

View File

@ -7,8 +7,14 @@ use std::io::{Read, Write};
use yaserde::{YaDeserialize, YaSerialize};
fn init() {
let _ = env_logger::builder().is_test(true).try_init();
}
#[test]
fn basic_flatten() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize, YaSerialize)]
struct DateTime {
#[yaserde(flatten)]
@ -93,6 +99,8 @@ fn basic_flatten() {
#[test]
fn root_flatten_struct() {
init();
#[derive(YaDeserialize, YaSerialize, PartialEq, Debug)]
#[yaserde(flatten)]
pub struct Content {
@ -113,6 +121,8 @@ fn root_flatten_struct() {
#[test]
fn root_flatten_enum() {
init();
#[derive(YaSerialize, PartialEq, Debug)]
#[yaserde(flatten)]
pub enum Content {
@ -147,6 +157,8 @@ fn root_flatten_enum() {
#[test]
fn flatten_attribute() {
init();
#[derive(Default, PartialEq, Debug, YaDeserialize, YaSerialize)]
struct HtmlText {
#[yaserde(flatten)]

View File

@ -6,8 +6,14 @@ extern crate yaserde_derive;
use std::io::{Read, Write};
use yaserde::{YaDeserialize, YaSerialize};
fn init() {
let _ = env_logger::builder().is_test(true).try_init();
}
#[test]
fn struct_simple_namespace() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "book",
@ -39,6 +45,8 @@ fn struct_simple_namespace() {
#[test]
fn struct_multiple_namespaces() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "book",
@ -71,6 +79,8 @@ fn struct_multiple_namespaces() {
#[test]
fn struct_partial_namespace() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "book",
@ -101,6 +111,8 @@ fn struct_partial_namespace() {
#[test]
fn struct_sub_namespace_definition() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "book",
@ -134,6 +146,8 @@ fn struct_sub_namespace_definition() {
#[test]
fn struct_namespace_nested() {
init();
#[derive(Debug, Default, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(prefix = "nsa", namespace = "nsa: http://www.sample.com/ns/a")]
struct A {
@ -167,6 +181,8 @@ fn struct_namespace_nested() {
#[test]
fn struct_namespace_nested_defined_at_root() {
init();
#[derive(Debug, Default, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(prefix = "nsa", namespace = "nsa: http://www.sample.com/ns/a")]
struct A {
@ -204,6 +220,8 @@ fn struct_namespace_nested_defined_at_root() {
#[test]
fn struct_attribute_namespace() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "root",
@ -234,6 +252,8 @@ fn struct_attribute_namespace() {
#[test]
fn struct_implicit_default_namespace() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "tt",
@ -256,6 +276,8 @@ fn struct_implicit_default_namespace() {
#[test]
fn struct_explicit_default_namespace() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "tt",
@ -279,6 +301,8 @@ fn struct_explicit_default_namespace() {
#[test]
fn struct_default_namespace_via_attribute_with_prefix() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "tt",
@ -303,6 +327,8 @@ fn struct_default_namespace_via_attribute_with_prefix() {
#[test]
fn enum_namespace() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "root",
@ -333,6 +359,8 @@ fn enum_namespace() {
#[test]
fn enum_multi_namespaces() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "root",
@ -374,6 +402,8 @@ fn enum_multi_namespaces() {
#[test]
fn enum_attribute_namespace() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "rootA",
@ -412,6 +442,8 @@ fn enum_attribute_namespace() {
#[test]
fn struct_bad_namespace() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
#[yaserde(
rename = "book",

View File

@ -6,8 +6,14 @@ extern crate yaserde_derive;
use std::io::{Read, Write};
use yaserde::{YaDeserialize, YaSerialize};
fn init() {
let _ = env_logger::builder().is_test(true).try_init();
}
#[test]
fn basic_option_types() {
init();
test_for_type!(Option::<String>, Some("test".to_string()), Some("test"));
test_for_type!(Option::<String>, None, None);
test_for_type!(Option::<bool>, Some(true), Some("true"));
@ -75,6 +81,8 @@ fn basic_option_types() {
#[test]
fn option_struct() {
init();
#[derive(Debug, PartialEq, YaDeserialize, YaSerialize)]
struct Test {
field: SubTest,

View File

@ -6,8 +6,14 @@ extern crate yaserde_derive;
use std::io::Write;
use yaserde::YaSerialize;
fn init() {
let _ = env_logger::builder().is_test(true).try_init();
}
#[test]
fn skip_serializing_if_for_struct() {
init();
fn default_string_function() -> String {
"mask_default".to_string()
}

View File

@ -6,8 +6,14 @@ extern crate yaserde_derive;
use std::io::{Read, Write};
use yaserde::{YaDeserialize, YaSerialize};
fn init() {
let _ = env_logger::builder().is_test(true).try_init();
}
#[test]
fn ser_type() {
init();
test_for_type!(String, "test".to_string(), Some("test"));
test_for_type!(bool, true, Some("true"));
test_for_type!(u8, 12 as u8, Some("12"));