update `_filter_service_log` to not use `-i -E`
Moreover, I added a function to print the whole mail log. Appropriate comments were added to this function to indicate that one should only use this function when necessary.
This commit is contained in:
parent
143ca0c27d
commit
aaeea8af81
|
@ -20,22 +20,24 @@ function _should_output_number_of_lines() {
|
||||||
#
|
#
|
||||||
# @param ${1} = service name
|
# @param ${1} = service name
|
||||||
# @param ${2} = string to filter by
|
# @param ${2} = string to filter by
|
||||||
# @param ${3} = container name [OPTIONAL]
|
# @param ... = options given to `grep` (which is used to filter logs)
|
||||||
#
|
|
||||||
# ## Attention
|
|
||||||
#
|
|
||||||
# The string given to this function is interpreted by `grep -E`, i.e.
|
|
||||||
# as a regular expression. In case you use characters that are special
|
|
||||||
# in regular expressions, you need to escape them!
|
|
||||||
function _filter_service_log() {
|
function _filter_service_log() {
|
||||||
local SERVICE=${1:?Service name must be provided}
|
local SERVICE=${1:?Service name must be provided}
|
||||||
local STRING=${2:?String to match must be provided}
|
local STRING=${2:?String to match must be provided}
|
||||||
local CONTAINER_NAME=$(__handle_container_name "${3:-}")
|
shift 2
|
||||||
local FILE="/var/log/supervisor/${SERVICE}.log"
|
|
||||||
|
|
||||||
# Fallback to alternative log location:
|
local FILE="/var/log/supervisor/${SERVICE}.log"
|
||||||
[[ -f ${FILE} ]] || FILE="/var/log/mail/${SERVICE}.log"
|
[[ -f ${FILE} ]] || FILE="/var/log/mail/${SERVICE}.log" # Fallback to alternative log location:
|
||||||
_run_in_container grep -i -E "${STRING}" "${FILE}"
|
_run_in_container grep "${@}" "${STRING}" "${FILE}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Use this function to print the complete mail log, but use it only where necessary.
|
||||||
|
# In most cases, you will rather want to filter the log with
|
||||||
|
#
|
||||||
|
# 1. _filter_service_log
|
||||||
|
# 2. _service_log_should_[not_]contain_string
|
||||||
|
function _show_complete_mail_log() {
|
||||||
|
_run_in_container cat /var/log/mail/mail.log
|
||||||
}
|
}
|
||||||
|
|
||||||
# Like `_filter_service_log` but asserts that the string was found.
|
# Like `_filter_service_log` but asserts that the string was found.
|
||||||
|
|
|
@ -276,7 +276,7 @@ function teardown_file() { _default_teardown ; }
|
||||||
_service_log_should_contain_string 'mail' 'imapsieve: Matched static mailbox rule \[1\]'
|
_service_log_should_contain_string 'mail' 'imapsieve: Matched static mailbox rule \[1\]'
|
||||||
_service_log_should_not_contain_string 'mail' 'imapsieve: Matched static mailbox rule \[2\]'
|
_service_log_should_not_contain_string 'mail' 'imapsieve: Matched static mailbox rule \[2\]'
|
||||||
|
|
||||||
_filter_service_log 'mail' '.'
|
_show_complete_mail_log
|
||||||
for LINE in "${LEARN_SPAM_LINES[@]}"; do
|
for LINE in "${LEARN_SPAM_LINES[@]}"; do
|
||||||
assert_output --partial "${LINE}"
|
assert_output --partial "${LINE}"
|
||||||
done
|
done
|
||||||
|
@ -289,7 +289,7 @@ function teardown_file() { _default_teardown ; }
|
||||||
|
|
||||||
_service_log_should_contain_string 'mail' 'imapsieve: Matched static mailbox rule \[2\]'
|
_service_log_should_contain_string 'mail' 'imapsieve: Matched static mailbox rule \[2\]'
|
||||||
|
|
||||||
_filter_service_log 'mail' '.'
|
_show_complete_mail_log
|
||||||
for LINE in "${LEARN_HAM_LINES[@]}"; do
|
for LINE in "${LEARN_HAM_LINES[@]}"; do
|
||||||
assert_output --partial "${LINE}"
|
assert_output --partial "${LINE}"
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue