#!/usr/bin/env zsh setopt err_exit function stringcmp { diff -u <(echo $1) <(echo $2) } test_pdir=$(mktemp -dt pkgdir.XXXXXX) test_proot=$(mktemp -dt pkgroot.XXXXXX) test_home=$(mktemp -dt pkghome.XXXXXX) cat << meow test directories: PDIR = $test_pdir PKG_ROOT = $test_proot HOME = $test_home meow echo "# setting up PKG_ROOT" cd $test_proot git clone ${1-git://git.tabularazor.org/~derf/pkg} core cp core/include/pkglist pkglist for repo in ra rb rc; ( mkdir $repo cd $repo git init touch foo git add foo git commit -m 'initial commit' ) echo "# bootstrapping PDIR" cd $test_home export HOME=$test_home $test_proot/core/include/bootstrap $test_proot $test_pdir echo "# checking for success" [[ -e $test_home/.pkg.conf ]] [[ -d $test_proot/core ]] [[ -d $test_pdir/core ]] echo "# pkg list local" stringcmp "core" $(pkg list) stringcmp "core" $(pkg list local) echo "# pkg list not-installed" stringcmp "ra\nrb\nrc" "$(pkg list not-installed)" echo "# pkg list all" stringcmp "core\nra\nrb\nrc" "$(pkg list all)" rm -rf $test_pdir $test_proot $test_home print -P '%F{green} test passed%F{default}'