* [pmg-devel] [PATCH log-tracker] change tests to use faketime
@ 2021-03-22 13:06 Mira Limbeck
2021-03-22 15:28 ` [pmg-devel] applied: " Stoiko Ivanov
0 siblings, 1 reply; 2+ messages in thread
From: Mira Limbeck @ 2021-03-22 13:06 UTC (permalink / raw)
To: pmg-devel
We only have the month, day, hours, minutes and seconds available to us,
but not the year. Because of this we assume the logs are always relative
to the current year. This means when running the log tracker the CTIME
is calculated based on the current year and once a new year starts, all
old tests have to be updated to match the new year.
To work around this issue, use 'faketime' to set the time to 2020-12-31
23:59:59 as all tests assume 2020 as the year.
Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
---
debian/debcargo.toml | 1 +
tests/tests_after_queue.rs | 24 ++++++++++++-----
tests/tests_before_queue.rs | 52 +++++++++++++++++++++++++++----------
3 files changed, 58 insertions(+), 19 deletions(-)
diff --git a/debian/debcargo.toml b/debian/debcargo.toml
index 5ee9490..3a5c8a0 100644
--- a/debian/debcargo.toml
+++ b/debian/debcargo.toml
@@ -7,6 +7,7 @@ section = "admin"
homepage = "http://www.proxmox.com"
vcs_git = "git://git.proxmox.com/git/pmg-log-tracker.git"
vcs_browser = "https://git.proxmox.com/?p=pmg-log-tracker.git;a=summary"
+build_depends = ["faketime"]
[package]
summary = "Proxmox Mailgateway Log Tracker"
diff --git a/tests/tests_after_queue.rs b/tests/tests_after_queue.rs
index f479325..6918de7 100644
--- a/tests/tests_after_queue.rs
+++ b/tests/tests_after_queue.rs
@@ -6,7 +6,9 @@ mod utils;
#[test]
fn after_queue_start_end_time_string() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("2020-12-18 15:40:00")
@@ -27,7 +29,9 @@ fn after_queue_start_end_time_string() {
#[test]
fn after_queue_start_end_timestamp() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608302400")
@@ -48,7 +52,9 @@ fn after_queue_start_end_timestamp() {
#[test]
fn after_queue_qid() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608302400")
@@ -71,7 +77,9 @@ fn after_queue_qid() {
#[test]
fn after_queue_host() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608302400")
@@ -94,7 +102,9 @@ fn after_queue_host() {
#[test]
fn after_queue_search_string() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608302400")
@@ -117,7 +127,9 @@ fn after_queue_search_string() {
#[test]
fn after_queue_search_string_case_insensitive() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608302400")
diff --git a/tests/tests_before_queue.rs b/tests/tests_before_queue.rs
index 5f36ec2..6089b92 100644
--- a/tests/tests_before_queue.rs
+++ b/tests/tests_before_queue.rs
@@ -5,7 +5,9 @@ mod utils;
#[test]
fn before_queue_start_end_time_string() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("2020-12-18 15:00:00")
@@ -26,7 +28,9 @@ fn before_queue_start_end_time_string() {
#[test]
fn before_queue_start_end_timestamp() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608300000")
@@ -47,7 +51,9 @@ fn before_queue_start_end_timestamp() {
#[test]
fn before_queue_qid() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608300000")
@@ -70,7 +76,9 @@ fn before_queue_qid() {
#[test]
fn before_queue_host() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608300000")
@@ -93,7 +101,9 @@ fn before_queue_host() {
#[test]
fn before_queue_search_string() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608300000")
@@ -116,7 +126,9 @@ fn before_queue_search_string() {
#[test]
fn before_queue_search_string_case_insensitive() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608300000")
@@ -139,7 +151,9 @@ fn before_queue_search_string_case_insensitive() {
#[test]
fn before_queue_exclude_greylist_ndr() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608300000")
@@ -162,7 +176,9 @@ fn before_queue_exclude_greylist_ndr() {
#[test]
fn before_queue_to() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608300000")
@@ -185,7 +201,9 @@ fn before_queue_to() {
#[test]
fn before_queue_mixed_downstream() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-v")
.arg("-s")
.arg("1608303600")
@@ -206,7 +224,9 @@ fn before_queue_mixed_downstream() {
#[test]
fn before_queue_from_to() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1608300000")
@@ -231,7 +251,9 @@ fn before_queue_from_to() {
#[test]
fn before_queue_mixed_accept_block_quarantine() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1588254000")
@@ -253,7 +275,9 @@ fn before_queue_mixed_accept_block_quarantine() {
#[test]
fn before_queue_to_search_string() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("1589810100")
@@ -278,7 +302,9 @@ fn before_queue_to_search_string() {
#[test]
fn before_queue_syntax_reject() {
- let output = Command::new(utils::log_tracker_path())
+ let output = Command::new("faketime")
+ .arg("2020-12-31 23:59:59")
+ .arg(utils::log_tracker_path())
.arg("-vv")
.arg("-s")
.arg("2020-08-27 14:00:00")
--
2.20.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [pmg-devel] applied: [PATCH log-tracker] change tests to use faketime
2021-03-22 13:06 [pmg-devel] [PATCH log-tracker] change tests to use faketime Mira Limbeck
@ 2021-03-22 15:28 ` Stoiko Ivanov
0 siblings, 0 replies; 2+ messages in thread
From: Stoiko Ivanov @ 2021-03-22 15:28 UTC (permalink / raw)
To: Mira Limbeck; +Cc: pmg-devel
On Mon, 22 Mar 2021 14:06:18 +0100
Mira Limbeck <m.limbeck@proxmox.com> wrote:
> We only have the month, day, hours, minutes and seconds available to us,
> but not the year. Because of this we assume the logs are always relative
> to the current year. This means when running the log tracker the CTIME
> is calculated based on the current year and once a new year starts, all
> old tests have to be updated to match the new year.
>
> To work around this issue, use 'faketime' to set the time to 2020-12-31
> 23:59:59 as all tests assume 2020 as the year.
applied the patch but fixed-up the updated debian/control file resulting
from the change do debian/debcargo.toml
If possible include the changes to debian/control in those cases in your
patch
huge thanks for the patch!
>
> Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
> ---
> debian/debcargo.toml | 1 +
> tests/tests_after_queue.rs | 24 ++++++++++++-----
> tests/tests_before_queue.rs | 52 +++++++++++++++++++++++++++----------
> 3 files changed, 58 insertions(+), 19 deletions(-)
>
> diff --git a/debian/debcargo.toml b/debian/debcargo.toml
> index 5ee9490..3a5c8a0 100644
> --- a/debian/debcargo.toml
> +++ b/debian/debcargo.toml
> @@ -7,6 +7,7 @@ section = "admin"
> homepage = "http://www.proxmox.com"
> vcs_git = "git://git.proxmox.com/git/pmg-log-tracker.git"
> vcs_browser = "https://git.proxmox.com/?p=pmg-log-tracker.git;a=summary"
> +build_depends = ["faketime"]
>
> [package]
> summary = "Proxmox Mailgateway Log Tracker"
> diff --git a/tests/tests_after_queue.rs b/tests/tests_after_queue.rs
> index f479325..6918de7 100644
> --- a/tests/tests_after_queue.rs
> +++ b/tests/tests_after_queue.rs
> @@ -6,7 +6,9 @@ mod utils;
>
> #[test]
> fn after_queue_start_end_time_string() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("2020-12-18 15:40:00")
> @@ -27,7 +29,9 @@ fn after_queue_start_end_time_string() {
>
> #[test]
> fn after_queue_start_end_timestamp() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608302400")
> @@ -48,7 +52,9 @@ fn after_queue_start_end_timestamp() {
>
> #[test]
> fn after_queue_qid() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608302400")
> @@ -71,7 +77,9 @@ fn after_queue_qid() {
>
> #[test]
> fn after_queue_host() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608302400")
> @@ -94,7 +102,9 @@ fn after_queue_host() {
>
> #[test]
> fn after_queue_search_string() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608302400")
> @@ -117,7 +127,9 @@ fn after_queue_search_string() {
>
> #[test]
> fn after_queue_search_string_case_insensitive() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608302400")
> diff --git a/tests/tests_before_queue.rs b/tests/tests_before_queue.rs
> index 5f36ec2..6089b92 100644
> --- a/tests/tests_before_queue.rs
> +++ b/tests/tests_before_queue.rs
> @@ -5,7 +5,9 @@ mod utils;
>
> #[test]
> fn before_queue_start_end_time_string() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("2020-12-18 15:00:00")
> @@ -26,7 +28,9 @@ fn before_queue_start_end_time_string() {
>
> #[test]
> fn before_queue_start_end_timestamp() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608300000")
> @@ -47,7 +51,9 @@ fn before_queue_start_end_timestamp() {
>
> #[test]
> fn before_queue_qid() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608300000")
> @@ -70,7 +76,9 @@ fn before_queue_qid() {
>
> #[test]
> fn before_queue_host() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608300000")
> @@ -93,7 +101,9 @@ fn before_queue_host() {
>
> #[test]
> fn before_queue_search_string() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608300000")
> @@ -116,7 +126,9 @@ fn before_queue_search_string() {
>
> #[test]
> fn before_queue_search_string_case_insensitive() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608300000")
> @@ -139,7 +151,9 @@ fn before_queue_search_string_case_insensitive() {
>
> #[test]
> fn before_queue_exclude_greylist_ndr() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608300000")
> @@ -162,7 +176,9 @@ fn before_queue_exclude_greylist_ndr() {
>
> #[test]
> fn before_queue_to() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608300000")
> @@ -185,7 +201,9 @@ fn before_queue_to() {
>
> #[test]
> fn before_queue_mixed_downstream() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-v")
> .arg("-s")
> .arg("1608303600")
> @@ -206,7 +224,9 @@ fn before_queue_mixed_downstream() {
>
> #[test]
> fn before_queue_from_to() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1608300000")
> @@ -231,7 +251,9 @@ fn before_queue_from_to() {
>
> #[test]
> fn before_queue_mixed_accept_block_quarantine() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1588254000")
> @@ -253,7 +275,9 @@ fn before_queue_mixed_accept_block_quarantine() {
>
> #[test]
> fn before_queue_to_search_string() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("1589810100")
> @@ -278,7 +302,9 @@ fn before_queue_to_search_string() {
>
> #[test]
> fn before_queue_syntax_reject() {
> - let output = Command::new(utils::log_tracker_path())
> + let output = Command::new("faketime")
> + .arg("2020-12-31 23:59:59")
> + .arg(utils::log_tracker_path())
> .arg("-vv")
> .arg("-s")
> .arg("2020-08-27 14:00:00")
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-03-22 15:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-22 13:06 [pmg-devel] [PATCH log-tracker] change tests to use faketime Mira Limbeck
2021-03-22 15:28 ` [pmg-devel] applied: " Stoiko Ivanov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox