aboutsummaryrefslogtreecommitdiff
path: root/spec/03_contrib_spec.sh
diff options
context:
space:
mode:
Diffstat (limited to 'spec/03_contrib_spec.sh')
-rw-r--r--spec/03_contrib_spec.sh49
1 files changed, 32 insertions, 17 deletions
diff --git a/spec/03_contrib_spec.sh b/spec/03_contrib_spec.sh
index c817b2f..a3fce8e 100644
--- a/spec/03_contrib_spec.sh
+++ b/spec/03_contrib_spec.sh
@@ -1,24 +1,27 @@
Describe 'contrib scripts'
- no_db_dir() {
- # Return 0 if database directory is empty (or doesn't exist)
- # shellcheck disable=2012
- count=$(ls -1 "$CPT_ROOT/var/db/cpt/installed" 2>/dev/null | wc -l)
- [ "$count" -eq 0 ]
+ 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"
}
- Skip if "there are no installed packages" no_db_dir
-
- for firstpkg in "$CPT_ROOT/var/db/cpt/installed/"*; do
- firstpkg=${firstpkg##*/}; break
- done
+ 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 (${PWD##*/})"
- When run script ./contrib/cpt-cat
+ 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
@@ -43,20 +46,24 @@ Describe 'contrib scripts'
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 (${PWD##*/} - $1)"
- When run script ./contrib/cpt-cat "" "$1"
+ 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 (${PWD##*/})"
- When run script ./contrib/cpt-depends
- The stdout should eq "$(cat "$CPT_ROOT/var/db/cpt/installed/${PWD##*/}/depends" 2>/dev/null ||:)"
+ 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"
@@ -64,4 +71,12 @@ Describe 'contrib scripts'
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