#!/usr/bin/env roundup describe pkgbuild-check-nonfree . ./test-common.sh before() { common_before install -Dm644 /dev/stdin "$XDG_CONFIG_HOME/libretools/libretools.conf" <<-eot BLACKLIST='phony://example.com' eot install -Dm644 /dev/stdin "$XDG_CACHE_HOME/libretools/blacklist.txt" <<-eot linux:linux-libre:nonfree blobs and firmwares skype eot } it_displays_usage_text() { # This test seems silly, but it makes sure that it is executable, # syntactically correct, and loading libraries works. LC_ALL=C pkgbuild-check-nonfree -h >$tmpdir/stdout 2>$tmpdir/stderr status=$? [[ "$(sed 1q $tmpdir/stdout)" =~ Usage:.* ]] empty $tmpdir/stderr [[ $status == 0 ]] } it_succeeds_for_free_depends() { pkgbuild-check-nonfree pkgbuild-check-nonfree.d/PKGBUILD.free >$tmpdir/stdout 2>$tmpdir/stderr || status=$? empty $tmpdir/stdout not empty $tmpdir/stderr [[ $status == 0 ]] } it_succeeds_for_nonfree_depend_with_replacement() { pkgbuild-check-nonfree pkgbuild-check-nonfree.d/PKGBUILD.nonfree-replacement >$tmpdir/stdout 2>$tmpdir/stderr || status=$? empty $tmpdir/stdout not empty $tmpdir/stderr [[ $status == 0 ]] } it_fails_for_nonfree_depend() { pkgbuild-check-nonfree pkgbuild-check-nonfree.d/PKGBUILD.nonfree >$tmpdir/stdout 2>$tmpdir/stderr || status=$? [[ $status != 0 ]] empty $tmpdir/stdout not empty $tmpdir/stderr local pcn_stat=$status pkgbuild-summarize-nonfree $pcn_stat >$tmpdir/stdout 2>$tmpdir/stderr || status=$? [[ $status != 0 ]] empty $tmpdir/stdout not empty $tmpdir/stderr } it_fails_when_there_is_no_blacklist() { rm $XDG_CACHE_HOME/libretools/blacklist.txt pkgbuild-check-nonfree pkgbuild-check-nonfree.d/PKGBUILD.free >$tmpdir/stdout 2>$tmpdir/stderr || status=$? empty $tmpdir/stdout not empty $tmpdir/stderr [[ $status != 0 ]] && [[ $status != 15 ]] }