From 0c6f153135e703b497462419b826afe59efc2d4d Mon Sep 17 00:00:00 2001 From: Dirreke Date: Sun, 17 Dec 2023 17:07:32 +0800 Subject: [PATCH] test(time): add some test --- src/append/rolling_file/mod.rs | 4 ++-- .../policy/compound/trigger/size.rs | 11 ++++++++++ .../policy/compound/trigger/time.rs | 20 +++++++++++-------- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/append/rolling_file/mod.rs b/src/append/rolling_file/mod.rs index 6160142f..360cfa6e 100644 --- a/src/append/rolling_file/mod.rs +++ b/src/append/rolling_file/mod.rs @@ -390,8 +390,8 @@ appenders: path: {0}/foo.log policy: trigger: - kind: size - limit: 1024 + kind: time + limit: 2 minutes roller: kind: delete bar: diff --git a/src/append/rolling_file/policy/compound/trigger/size.rs b/src/append/rolling_file/policy/compound/trigger/size.rs index d1e8b4a5..d399cb2f 100644 --- a/src/append/rolling_file/policy/compound/trigger/size.rs +++ b/src/append/rolling_file/policy/compound/trigger/size.rs @@ -153,3 +153,14 @@ impl Deserialize for SizeTriggerDeserializer { Ok(Box::new(SizeTrigger::new(config.limit))) } } + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn pre_process() { + let trigger = SizeTrigger::new(2048); + assert!(!trigger.is_pre_process()); + } +} diff --git a/src/append/rolling_file/policy/compound/trigger/time.rs b/src/append/rolling_file/policy/compound/trigger/time.rs index 9e5ab737..6e0c4c89 100644 --- a/src/append/rolling_file/policy/compound/trigger/time.rs +++ b/src/append/rolling_file/policy/compound/trigger/time.rs @@ -152,9 +152,12 @@ impl TimeTrigger { let weekday = time.weekday(); let hour = time.hour(); let min = time.minute(); + let sec = time.second(); let time_new = match limit { - TimeTriggerLimit::Second(_) => time, + TimeTriggerLimit::Second(_) => Local + .with_ymd_and_hms(year, month, day, hour, min, sec) + .unwrap(), TimeTriggerLimit::Minute(_) => Local .with_ymd_and_hms(year, month, day, hour, min, 0) .unwrap(), @@ -259,16 +262,17 @@ mod test { path: file.path(), len: 0, }; - let trigger = TimeTrigger::new(TimeTriggerLimit::Second(10)); - let result = trigger.trigger(&logfile).unwrap(); - assert_eq!(false, result); - std::thread::sleep(std::time::Duration::from_secs(12)); - let result = trigger.trigger(&logfile).unwrap(); - assert_eq!(true, result); + let trigger = TimeTrigger::new(TimeTriggerLimit::Second(2)); let result = trigger.trigger(&logfile).unwrap(); assert_eq!(false, result); - std::thread::sleep(std::time::Duration::from_secs(12)); + std::thread::sleep(std::time::Duration::from_secs(3)); let result = trigger.trigger(&logfile).unwrap(); assert_eq!(true, result); } + + #[test] + fn pre_process() { + let trigger = TimeTrigger::new(TimeTriggerLimit::Minute(2)); + assert!(trigger.is_pre_process()); + } }