From cb272454a460cf75bd0448eff733dd2688094cc8 Mon Sep 17 00:00:00 2001 From: Scott Lamb Date: Fri, 19 Jun 2020 22:19:35 -0700 Subject: [PATCH] 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 --- yaserde/Cargo.toml | 1 + yaserde/tests/default.rs | 14 +++++++++++ yaserde/tests/deserializer.rs | 46 +++++++++++++++++++++++++++++++++++ yaserde/tests/errors.rs | 8 ++++++ yaserde/tests/flatten.rs | 12 +++++++++ yaserde/tests/namespace.rs | 32 ++++++++++++++++++++++++ yaserde/tests/option.rs | 8 ++++++ yaserde/tests/skip_if.rs | 6 +++++ yaserde/tests/types.rs | 6 +++++ 9 files changed, 133 insertions(+) diff --git a/yaserde/Cargo.toml b/yaserde/Cargo.toml index f25c65e..5f22267 100644 --- a/yaserde/Cargo.toml +++ b/yaserde/Cargo.toml @@ -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] diff --git a/yaserde/tests/default.rs b/yaserde/tests/default.rs index 5fadd15..318cae9 100644 --- a/yaserde/tests/default.rs +++ b/yaserde/tests/default.rs @@ -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::*; diff --git a/yaserde/tests/deserializer.rs b/yaserde/tests/deserializer.rs index 947516b..ea031e4 100644 --- a/yaserde/tests/deserializer.rs +++ b/yaserde/tests/deserializer.rs @@ -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, @@ -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 { diff --git a/yaserde/tests/errors.rs b/yaserde/tests/errors.rs index d91aa8f..4e5e95a 100644 --- a/yaserde/tests/errors.rs +++ b/yaserde/tests/errors.rs @@ -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 { diff --git a/yaserde/tests/flatten.rs b/yaserde/tests/flatten.rs index 13c7eb6..f0238ed 100644 --- a/yaserde/tests/flatten.rs +++ b/yaserde/tests/flatten.rs @@ -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)] diff --git a/yaserde/tests/namespace.rs b/yaserde/tests/namespace.rs index 5c96149..69a557d 100644 --- a/yaserde/tests/namespace.rs +++ b/yaserde/tests/namespace.rs @@ -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", diff --git a/yaserde/tests/option.rs b/yaserde/tests/option.rs index cc9a4bd..b34effe 100644 --- a/yaserde/tests/option.rs +++ b/yaserde/tests/option.rs @@ -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::, Some("test".to_string()), Some("test")); test_for_type!(Option::, None, None); test_for_type!(Option::, 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, diff --git a/yaserde/tests/skip_if.rs b/yaserde/tests/skip_if.rs index e7c853e..beab249 100644 --- a/yaserde/tests/skip_if.rs +++ b/yaserde/tests/skip_if.rs @@ -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() } diff --git a/yaserde/tests/types.rs b/yaserde/tests/types.rs index de5e2d4..e00eb67 100644 --- a/yaserde/tests/types.rs +++ b/yaserde/tests/types.rs @@ -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"));