Skip to content

Commit

Permalink
logger: tests for spec and hierarchy
Browse files Browse the repository at this point in the history
  • Loading branch information
niamster committed Jun 21, 2017
1 parent e93140f commit b33cbb0
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions src/logger.rs
Expand Up @@ -414,6 +414,21 @@ mod tests {
});
}

#[test]
fn test_logger_hierarchy_override() {
run_test(|_| {
wp_set_level!(LogLevel::CRITICAL, "foo::bar").unwrap();
wp_set_level!(LogLevel::INFO, "foo").unwrap();

assert_eq!(wp_get_level!(^), LogLevel::WARN);
assert_eq!(wp_get_level!("foo::bar::qux::xyz"), LogLevel::INFO);
assert_eq!(wp_get_level!("foo::bar::qux"), LogLevel::INFO);
assert_eq!(wp_get_level!("foo::bar"), LogLevel::INFO);
assert_eq!(wp_get_level!("foo"), LogLevel::INFO);
assert_eq!(wp_get_level!("bar"), LogLevel::WARN);
});
}

#[test]
#[should_panic(expected = "File path not specified")]
fn test_set_level_range_0() {
Expand Down Expand Up @@ -657,4 +672,45 @@ mod tests {
assert_eq!(sum, expected);
});
}

#[test]
fn test_logger_spec_simple() {
run_test(|_| {
let spec = format!("critical,{},foo=info", this_file!());
wp_set_level!(spec(&spec)).unwrap();
assert_eq!(wp_get_level!(^), LogLevel::CRITICAL);
assert_eq!(wp_get_level!(), LogLevel::TRACE);
assert_eq!(wp_get_level!("foo"), LogLevel::INFO);
});
}

#[test]
fn test_logger_spec_json_valid() {
run_test(|_| {
let spec = format!(
r#"{{
"level": "debug",
"modules": [
{{
"path": "foo"
}},
{{
"path": "{}",
"level": "notice"
}},
{{
"path": "{}",
"level": "critical",
"lines": [[{}, {}]]
}}
]
}}"#,
this_file!(), this_file!(), line!() + 4, line!() + 100);
wp_set_level!(spec(&spec)).unwrap();
assert_eq!(wp_get_level!(^), LogLevel::DEBUG);
assert_eq!(wp_get_level!(), LogLevel::NOTICE);
assert_eq!(wp_get_level!("foo"), LogLevel::TRACE);
assert_eq!(wp_get_level!(), LogLevel::CRITICAL);
});
}
}

0 comments on commit b33cbb0

Please sign in to comment.