aboutsummaryrefslogtreecommitdiff
path: root/tests/assert.sh
blob: 73b5dd41d7fe82460981e439ba22946d40163e78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function assert_error()
{
    expected_stderr="$1"

    shift 1
    actual_stderr="$("$@" 2>&1 1>/dev/null)"
    retval=$?
    is_stderr_expected="$(echo "$actual_stderr" | grep -i "$expected_stderr")"

    if [ $retval -eq 0 ]; then
        echo "assert_error: Return value is $retval, expected != 0"
        exit 1
    elif [ -z "$is_stderr_expected" ]; then
        echo "assert_error: stderr does not contain expected string"
        echo "      actual: $actual_stderr"
        echo "    expected: $expected_stderr"
        exit 1
    fi
}

function assert_success()
{
    actual_stderr="$("$@" 2>&1 1>/dev/null)"
    retval=$?

    if [ $retval -ne 0 ]; then
        echo "assert_error: Return value is $retval, expected 0"
        exit 1
    elif [ -n "$actual_stderr" ]; then
        echo "assert_error: stderr is not empty"
        echo "      actual: $actual_stderr"
        exit 1
    fi
}