diff options
Diffstat (limited to 'test/cases/libredbdiff.bats')
-rw-r--r-- | test/cases/libredbdiff.bats | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/test/cases/libredbdiff.bats b/test/cases/libredbdiff.bats new file mode 100644 index 0000000..6cebbf6 --- /dev/null +++ b/test/cases/libredbdiff.bats @@ -0,0 +1,50 @@ +#!/usr/bin/env roundup + +describe libredbdiff +. ./test-common.sh + +before() { + common_before + + install -Dm644 /dev/stdin "$XDG_CONFIG_HOME/libretools/libredbdiff.conf" <<-'eot' + statedir="$PWD" + mirror_prbl='https://repo.parabola.nu/$repo/os/$arch' + mirror_arch='https://mirrors.kernel.org/archlinux/$repo/os/$arch' + repos=(libre) + eot +} + +it_displays_help() { + LC_ALL=C libredbdiff -h >$tmpdir/stdout 2>$tmpdir/stderr + + [[ "$(sed 1q $tmpdir/stdout)" =~ Usage:.* ]] + empty $tmpdir/stderr +} + +it_handles_packages_with_multiple_provides_explicit() { + cd libredbdiff.d/statedir + + libredbdiff -n libre >$tmpdir/stdout 2>$tmpdir/stderr + + empty $tmpdir/stderr + diff -w ../expected-explicit.txt $tmpdir/stdout +} + +it_handles_packages_with_multiple_provides_implicit() { + cd libredbdiff.d/statedir + + libredbdiff -n >$tmpdir/stdout 2>$tmpdir/stderr + + empty $tmpdir/stderr + diff -w ../expected-implicit.txt $tmpdir/stdout +} + +it_fails_on_bad_repo_args() { + cd libredbdiff.d/statedir + + libredbdiff -n bogus >$tmpdir/stdout 2>$tmpdir/stderr || status=$? + + [[ $status != 0 ]] + empty $tmpdir/stdout + not empty $tmpdir/stderr +} |