#!/usr/bin/env roundup describe librefetch . ./test-common.sh before() { _before mkdir -p "$XDG_CONFIG_HOME"/{pacman,libretools} "$tmpdir/srcdest" cat < "$XDG_CONFIG_HOME/pacman/makepkg.conf" DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' 'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u' 'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u' 'rsync::/usr/bin/rsync --no-motd -z %u %o' 'scp::/usr/bin/scp -C %u %o') BUILDDIR="" SRCDEST=$tmpdir/srcdest . ${_librelib_conf_sh_pkgconfdir}/librefetch-makepkg.conf EOF sed -i 's,/usr/bin/librefetch,$(which librefetch),' \ "${_librelib_conf_sh_pkgconfdir}/librefetch-makepkg.conf" export MAKEPKG_CONF="$XDG_CONFIG_HOME/pacman/makepkg.conf" printf '%s\n' \ 'MIRRORS=("phony://example.com/dir/")' \ 'DOWNLOADER=/usr/bin/false' \ > "$XDG_CONFIG_HOME/libretools/librefetch.conf" } after() { _after } it_displays_help() { LC_ALL=C librefetch -h >$tmpdir/stdout 2>$tmpdir/stderr [[ "$(sed 1q $tmpdir/stdout)" =~ Usage:.* ]] empty $tmpdir/stderr } # This test used to be called "it_cleans_src_libre_first", but let's # be honest: it checks pretty much everything related to normal # operation. it_runs() { local srcball=testpkg-1.0.tar.gz cp librefetch.d/* "$tmpdir/" cd "$tmpdir" # Create garbage, to verifiy that it cleans src-libre first mkdir -p src-libre/foo touch src-libre/foo/file # Run librefetch makepkg -g # Verify that no temporary files were left around not test -e librefetch.* # Verify: # - The srcball was created... # - ... and is in the correct directory # - The srcball does not contain the garbage created earlier # - The files in the srcball are in the correct order (if the # order isn't ensured, then this would only sometimes fail, # unfortunately). bsdtar tf "$tmpdir/srcdest/$srcball" > list-pkg.txt diff -u list.txt list-pkg.txt }