From 4e36277689f92772e474c0829cb7f517aa06d58d Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 27 May 2013 01:52:03 -0400 Subject: add (some) unit tests for librelib and libremessages --- test/librelib-test.sh | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 test/librelib-test.sh (limited to 'test/librelib-test.sh') diff --git a/test/librelib-test.sh b/test/librelib-test.sh new file mode 100644 index 0000000..36ba947 --- /dev/null +++ b/test/librelib-test.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env roundup + +describe librelib + +before() { + tmpdir=$(mktemp -d --tmpdir test-librelib.XXXXXXXXXXXX) +} + +after() { + rm -rf -- "$tmpdir" +} + + +it_fails_with_0_args() { + ret=0 + librelib >$tmpdir/stdout 2>$tmpdir/stderr || ret=$? + + [[ -z "$(cat $tmpdir/stdout)" ]] + [[ -n "$(cat $tmpdir/stderr)" ]] + [[ $ret != 0 ]] +} + +it_fails_with_2_args() { + ret=0 + librelib a b >$tmpdir/stdout 2>$tmpdir/stderr || ret=$? + + [[ -z "$(cat $tmpdir/stdout)" ]] + [[ -n "$(cat $tmpdir/stderr)" ]] + [[ $ret != 0 ]] +} + +it_displays_usage_text() { + librelib -h >$tmpdir/stdout 2>$tmpdir/stderr + + [[ "$(sed 1q $tmpdir/stdout)" =~ Usage:.* ]] + [[ -z "$(cat $tmpdir/stderr)" ]] +} + +# libremessages is executable +it_finds_messages() { + v1=$(librelib messages) + v2=$(librelib libremessages) + v3=$(librelib messages.sh) + v4=$(librelib libremessages.sh) + + [[ -x "$v1" ]] + [[ "$v1" == "$v2" ]] + [[ "$v1" == "$v3" ]] + [[ "$v1" == "$v4" ]] +} + +# conf.sh is non-executable +it_finds_conf() { + v1=$(librelib conf) + v2=$(librelib libreconf) + v3=$(librelib conf.sh) + v4=$(librelib libreconf.sh) + + [[ -r "$v1" && ! -x "$v1" ]] + [[ "$v1" == "$v2" ]] + [[ "$v1" == "$v3" ]] + [[ "$v1" == "$v4" ]] +} + +it_fails_to_find_phony() { + ret=0 + librelib phony >$tmpdir/stdout 2>$tmpdir/stderr || ret=$? + + [[ -z "$(cat $tmpdir/stdout)" ]] + [[ -z "$(cat $tmpdir/stderr)" ]] + [[ $ret != 0 ]] +} -- cgit v1.2.2