You've already forked docker-mailserver
mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-08-07 23:03:10 +02:00
tests: Adjusted files not directly related to tests
`tls.bash` helper was adapted to the new helper scripts location. The `setup.bash` helper saw a bugfix (expanding the array properly) and updates the container default config to configure for IPv4 explicitly. The IPv4 default was added after recent Docker pushes and I saw weird IPv6 related errors in the logs.. now we're sure IPv4 is the default during tests. Added functionality to check if a process is running: - This change adds a helper function to check whether a program is running inside a container or not. - This added the need for a function like `_run_in_container` but allowing for providing an explicit container name. - Future PRs can use this helper function now to check whether a process is running or not. This was done for the tests of Fail2Ban, but can be used for other tests in the future as well. --- chore: Restructured BATS flags in `Makefile` The `Makefile` has seen a bit of a restructuring when it comes to flags: 1. The `MAKEFLAGS` variables is used by `make`, and allows for adding additional flags that can be used within in recursive calls (via `$(MAKE)`) too, thus DRY approach. 2. The flags for calling BATS were adjusted. `--no-parallelize-within-files` has been added as well to ensure tests _inside_ a single file are run sequentially. `dms-test` prefix matching changed to expect a `_` suffix as a delimiter. --- docs: Add a note regarding output from running tests in parallel
This commit is contained in:
@ -9,16 +9,35 @@ __load_bats_helper
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
# like _run_in_container_explicit but infers ${1} by using the ENV CONTAINER_NAME
|
||||
function _run_in_container() {
|
||||
run docker exec "${CONTAINER_NAME}" "${@}"
|
||||
}
|
||||
|
||||
# @param ${1} container name [REQUIRED]
|
||||
# @param ... command to execute
|
||||
function _run_in_container_explicit() {
|
||||
local CONTAINER_NAME=${1:?Container name must be given when using explicit}
|
||||
shift 1
|
||||
run docker exec "${CONTAINER_NAME}" "${@}"
|
||||
}
|
||||
|
||||
function _default_teardown() {
|
||||
docker rm -f "${CONTAINER_NAME}"
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
# @param ${1} program name [REQUIRED]
|
||||
# @param ${2} container name [IF UNSET: ${CONTAINER_NAME}]
|
||||
function _check_if_process_is_running() {
|
||||
local PROGRAM_NAME=${1:?Program name must be provided explicitly}
|
||||
local CONTAINER_NAME=${2:-${CONTAINER_NAME}}
|
||||
_run_in_container_explicit "${CONTAINER_NAME}" pgrep "${PROGRAM_NAME}"
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
# @param ${1} timeout
|
||||
# @param --fatal-test <command eval string> additional test whose failure aborts immediately
|
||||
# @param ... test to run
|
||||
|
Reference in New Issue
Block a user