2025-06-13 15:44:16 +02:00
|
|
|
output=
|
|
|
|
|
exit_code=
|
|
|
|
|
|
|
|
|
|
function assert() {
|
|
|
|
|
test $1 || { echo "Assertion '$1' failed: $2" >&2; exit 1; }
|
|
|
|
|
}
|
|
|
|
|
function assert_eq() {
|
|
|
|
|
assert "$1 -eq $2" "$3"
|
|
|
|
|
}
|
|
|
|
|
function assert_not_eq() {
|
|
|
|
|
assert "$1 -ne $2" "$3"
|
|
|
|
|
}
|
|
|
|
|
function assert_contains() {
|
2026-03-27 15:56:33 +01:00
|
|
|
echo -n "$1" | grep -q -- "$2" || {
|
|
|
|
|
echo "Assertion failed: $3. The following does not contain $2: $1" >&2;
|
2025-06-13 15:44:16 +02:00
|
|
|
exit 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
function assert_not_contains() {
|
2026-03-27 15:56:33 +01:00
|
|
|
echo -n "$1" | grep -q -- "$2" && {
|
|
|
|
|
echo "Assertion failed: $3. The following does contain $2: $1" >&2;
|
2025-06-13 15:44:16 +02:00
|
|
|
exit 1;
|
2026-03-27 15:56:33 +01:00
|
|
|
} || true
|
2025-06-13 15:44:16 +02:00
|
|
|
}
|
|
|
|
|
function assert_file_contains() {
|
|
|
|
|
grep -q -- "$2" $1 || {
|
|
|
|
|
echo "Assertion failed: $3. $1 does not contain $2" >&2;
|
|
|
|
|
exit 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
function assert_file_not_contains() {
|
|
|
|
|
grep -q -- "$2" $1 && {
|
|
|
|
|
echo "Assertion failed: $3. $1 does contain $2" >&2;
|
|
|
|
|
exit 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function run() {
|
|
|
|
|
output=$($@ 2>&1)
|
|
|
|
|
exit_code=$?
|
|
|
|
|
}
|