Describe 'contrib scripts' export PATH=$PWD/src:$PWD/contrib:$PATH export CPT_ROOT=$PWD/tests/03 export CPT_PATH=$PWD/tests/repository export CPT_COMPRESS='' install_tmp() { CPT_HOOK='' ./src/cpt b -y contrib-dummy-pkg >/dev/null 2>&1 CPT_HOOK='' ./src/cpt-install -y contrib-dummy-pkg >/dev/null 2>&1 mkdir -p "$CPT_ROOT/tmp" } remove_tmp() { rm -rf "${CPT_ROOT:?}/var" "$CPT_ROOT/tmp" ;} BeforeAll install_tmp AfterAll remove_tmp Describe 'cpt-cat' firstpkg=$(getfirstpkg) It 'outputs the file contents in the given package directory' When run script ./contrib/cpt-cat "$firstpkg" The stdout should not eq "" The line 1 of stderr should eq "$(printf '\033[1mbuild:\033[m\n')" End It "uses the current directory for the package name if none is supplied (contrib-dummy-pkg)" cd "$CPT_PATH/contrib-dummy-pkg" || return 1 When run script "$(command -v cpt-cat)" The stdout should not eq "" The line 1 of stderr should eq "$(printf '\033[1mbuild:\033[m\n')" End It "exits with error if the package isn't installed" When run script ./contrib/cpt-cat somerandompackage The stderr should eq "-> somerandompackage not installed" The status should be failure End It "prints usage information when called with --help" When run script ./contrib/cpt-cat --help The word 1 of stdout should eq "usage:" The status should be success End Parameters build checksums manifest version End It "outputs the given file contents in the given package directory ($1)" When run script ./contrib/cpt-cat "$firstpkg" "$1" The stdout should eq "$(cat "$CPT_ROOT/var/db/cpt/installed/$firstpkg/$1")" The stderr should eq "$(printf '\033[1m%s:\033[m\n' "$1")" End It "outputs the given file contents for the name of the current directory (contrib-dummy-pkg - $1)" cd "$CPT_PATH/contrib-dummy-pkg" || return 1 When run script "$(command -v cpt-cat)" "" "$1" The stdout should eq "$(cat "$CPT_ROOT/var/db/cpt/installed/${PWD##*/}/$1")" The stderr should eq "$(printf '\033[1m%s:\033[m\n' "$1")" End End Describe 'cpt-depends' firstpkg=$(getfirstpkg) It "outputs the dependencies of the given package" When run script ./contrib/cpt-depends "$firstpkg" The stdout should eq "$(cat "$CPT_ROOT/var/db/cpt/installed/$firstpkg/depends" 2>/dev/null ||:)" The status should be success End It "uses the current directory for the package name if none is supplied (contrib-dummy-pkg)" cd "$CPT_PATH/contrib-dummy-pkg" || return 1 When run script "$(command -v cpt-depends)" The stdout should eq "$(cat "$CPT_ROOT/var/db/cpt/installed/contrib-dummy-pkg/depends" 2>/dev/null ||:)" The status should be success End It "prints usage information when called with --help" When run script ./contrib/cpt-depends --help The word 1 of stdout should eq usage: End End Describe 'cpt-export' firstpkg=$(getfirstpkg) It "exports a tarball of the given package" cd "$CPT_ROOT/tmp" || return 1 When run script "$(command -v cpt-export)" contrib-dummy-pkg The stdout should eq "tarball created in $CPT_ROOT/tmp/contrib-dummy-pkg#1-1.tar.gz" End End End