mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
test: introduce assert_not_in() helper function
This also silence assertions, and replace grep with bash's regular expression match.
This commit is contained in:
@@ -3,42 +3,56 @@
|
||||
|
||||
# utility functions for shell tests
|
||||
|
||||
assert_true() {
|
||||
assert_true() {(
|
||||
local rc
|
||||
|
||||
set +e
|
||||
set +ex
|
||||
|
||||
"$@"
|
||||
rc=$?
|
||||
set -e
|
||||
if [[ "$rc" != "0" ]]; then
|
||||
if [[ $rc -ne 0 ]]; then
|
||||
echo "FAIL: command '$*' failed with exit code $rc" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
)}
|
||||
|
||||
|
||||
assert_eq() {
|
||||
if [[ "$1" != "$2" ]]; then
|
||||
assert_eq() {(
|
||||
set +ex
|
||||
|
||||
if [[ "${1?}" != "${2?}" ]]; then
|
||||
echo "FAIL: expected: '$2' actual: '$1'" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
)}
|
||||
|
||||
assert_in() {
|
||||
if ! echo "$2" | grep -q "$1"; then
|
||||
assert_in() {(
|
||||
set +ex
|
||||
|
||||
if ! [[ "${2?}" =~ ${1?} ]]; then
|
||||
echo "FAIL: '$1' not found in:" >&2
|
||||
echo "$2" >&2
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
)}
|
||||
|
||||
assert_not_in() {(
|
||||
set +ex
|
||||
|
||||
if [[ "${2?}" =~ ${1?} ]]; then
|
||||
echo "FAIL: '$1' found in:" >&2
|
||||
echo "$2" >&2
|
||||
exit 1
|
||||
fi
|
||||
)}
|
||||
|
||||
assert_rc() {(
|
||||
local rc exp="${1?}"
|
||||
|
||||
set +ex
|
||||
|
||||
assert_rc() {
|
||||
local exp=$1
|
||||
local rc
|
||||
shift
|
||||
set +e
|
||||
"$@"
|
||||
rc=$?
|
||||
set -e
|
||||
assert_eq "$rc" "$exp"
|
||||
}
|
||||
)}
|
||||
|
||||
@@ -21,7 +21,7 @@ test_timezone() {
|
||||
echo 'change timezone'
|
||||
assert_eq "$(timedatectl --no-pager set-timezone Europe/Kiev 2>&1)" ""
|
||||
assert_eq "$(readlink /etc/localtime | sed 's#^.*zoneinfo/##')" "Europe/Kiev"
|
||||
assert_in "Time.*zone: Europe/Kiev (EEST, +" "$(timedatectl --no-pager)"
|
||||
assert_in "Time zone: Europe/Kiev \(EEST, \+0[0-9]00\)" "$(timedatectl)"
|
||||
|
||||
if [[ -n "$ORIG_TZ" ]]; then
|
||||
echo 'reset timezone to original'
|
||||
|
||||
Reference in New Issue
Block a user