aboutsummaryrefslogtreecommitdiff
path: root/tests/pkg-unpack.test
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2018-09-04 14:02:11 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2018-09-04 14:02:11 +0300
commitf8fdb500cc705e2b8b4a74166ceb2c6d8cee3fd3 (patch)
tree3f94b0b79ebad275904b9dc4a4165326ff598492 /tests/pkg-unpack.test
parentf727c2b8fe273a12d059826291523060dab4b512 (diff)
Rename .test/test{} to .testscript/testscript{}
Diffstat (limited to 'tests/pkg-unpack.test')
-rw-r--r--tests/pkg-unpack.test297
1 files changed, 0 insertions, 297 deletions
diff --git a/tests/pkg-unpack.test b/tests/pkg-unpack.test
deleted file mode 100644
index 1e20b22..0000000
--- a/tests/pkg-unpack.test
+++ /dev/null
@@ -1,297 +0,0 @@
-# file : tests/pkg-unpack.test
-# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
-# license : MIT; see accompanying LICENSE file
-
-.include common.test auth.test config.test remote.test remote-git.test
-
-# Source repository:
-#
-# pkg-unpack
-# |-- hello
-# | |-- libhello-1.0.0.tar.gz
-# | `-- repositories.manifest
-# |-- libfoo-1.1.0
-# | |-- build
-# | | `-- bootstrap.build
-# | |-- buildfile
-# | `-- manifest
-# |-- t1
-# | |-- libfoo-1.0.0.tar.gz
-# | |-- libfoo-1.1.0.tar.gz
-# | `-- repositories.manifest
-# |
-# `-- git
-# `-- style-basic.git
-
-# Prepare repositories used by tests if running in the local mode.
-#
-+if ($remote != true)
- rep_create += 2>!
-
- # Create the signed 'hello' repository.
- #
- cp -r $src/hello $out/hello
- cat <<<$cert_manifest >+$out/hello/repositories.manifest
-
- $rep_create --key $key $out/hello &$out/hello/packages.manifest \
- &$out/hello/signature.manifest
-
- # Create the 't1' repository.
- #
- cp -r $src/t1 $out/t1 && $rep_create $out/t1 &$out/t1/packages.manifest
-
- # Create git repositories.
- #
- $git_extract $src/git/style-basic.tar &$out_git/state0/***
-end
-
-pkg_fetch += -d cfg 2>!
-pkg_purge += -d cfg
-pkg_status += -d cfg
-rep_add += -d cfg 2>!
-rep_fetch += -d cfg --auth all 2>!
-pkg_configure += -d cfg
-pkg_disfigure += -d cfg
-
-: replace-with-existing
-:
-$clone_cfg;
-$* foo -r 2>>EOE != 0
- error: --replace|-r can only be specified with external package
- EOE
-
-: no-dir
-:
-$clone_cfg;
-$* -e 2>>EOE != 0
- error: package directory argument expected
- info: run 'bpkg help pkg-unpack' for more information
- EOE
-
-: not-package-dir
-:
-$clone_cfg;
-$* -e ./ 2>>/EOE != 0
- error: no manifest file in package directory ./
- EOE
-
-: dir-not-exist
-:
-$clone_cfg;
-$* -e ./no-such-dir 2>>/EOE != 0
- error: package directory ./no-such-dir/ does not exist
- EOE
-
-: no-name
-:
-$clone_cfg;
-$* 2>>EOE != 0
- error: package name argument expected
- info: run 'bpkg help pkg-unpack' for more information
- EOE
-
-: fetched-rep
-:
-{
- +$clone_cfg && $rep_add $rep/t1 && $rep_fetch --trust-yes
-
- : package-exists
- :
- {
- $clone_cfg && $pkg_fetch libfoo/1.0.0;
-
- $* -e $src/libfoo-1.1.0 2>>/EOE != 0;
- error: package libfoo already exists in configuration cfg/
- info: version: 1.0.0, state: fetched, substate: none
- info: use 'pkg-unpack --replace|-r' to replace
- EOE
-
- $pkg_purge libfoo 2>'purged libfoo/1.0.0';
- $* -e $src/libfoo-1.1.0 2>'using libfoo/1.1.0 (external)';
- $pkg_status libfoo/1.1.0 1>'libfoo unpacked 1.1.0';
-
- $pkg_configure libfoo 2>'configured libfoo/1.1.0';
- test -d cfg/libfoo;
- $pkg_disfigure libfoo 2>'disfigured libfoo/1.1.0';
-
- $pkg_purge libfoo 2>'purged libfoo/1.1.0'
- }
-
- : replace-fetched
- :
- {
- $clone_cfg && $pkg_fetch libfoo/1.0.0;
-
- $* -e $src/libfoo-1.1.0 2>>/EOE != 0;
- error: package libfoo already exists in configuration cfg/
- info: version: 1.0.0, state: fetched, substate: none
- info: use 'pkg-unpack --replace|-r' to replace
- EOE
-
- $* -r -e $src/libfoo-1.1.0 2>'using libfoo/1.1.0 (external)';
- $pkg_status libfoo/1.1.0 1>'libfoo unpacked 1.1.0';
-
- $pkg_purge libfoo 2>'purged libfoo/1.1.0'
- }
-
- : replace-unpacked
- :
- {
- $clone_cfg && $pkg_fetch libfoo/1.0.0;
-
- $* libfoo 2>'unpacked libfoo/1.0.0';
-
- $* -e $src/libfoo-1.1.0 2>>/EOE != 0;
- error: package libfoo already exists in configuration cfg/
- info: version: 1.0.0, state: unpacked, substate: none
- info: use 'pkg-unpack --replace|-r' to replace
- EOE
-
- $* -r -e $src/libfoo-1.1.0 2>'using libfoo/1.1.0 (external)';
- $pkg_status libfoo/1.1.0 1>'libfoo unpacked 1.1.0';
-
- $pkg_purge libfoo 2>'purged libfoo/1.1.0'
- }
-
- : wrong-state
- :
- {
- $clone_cfg;
-
- $* libfoo 2>>/EOE != 0;
- error: package libfoo does not exist in configuration cfg/
- EOE
-
- $* -e $src/libfoo-1.1.0 2>'using libfoo/1.1.0 (external)';
-
- $* libfoo 2>>EOE != 0;
- error: package libfoo is unpacked
- info: expected it to be fetched
- EOE
-
- $pkg_purge libfoo 2>'purged libfoo/1.1.0'
- }
-
- : right-state
- :
- {
- $clone_cfg && $pkg_fetch libfoo/1.0.0;
-
- $pkg_status libfoo/1.0.0 1>'libfoo fetched 1.0.0';
- $* libfoo 2>'unpacked libfoo/1.0.0';
- $pkg_status libfoo/1.0.0 1>'libfoo unpacked 1.0.0';
-
- $pkg_configure libfoo 2>'configured libfoo/1.0.0';
- test -d cfg/libfoo-1.0.0;
- $pkg_disfigure libfoo 2>'disfigured libfoo/1.0.0';
-
- $pkg_purge libfoo 2>'purged libfoo/1.0.0'
- }
-
- : purge-existing
- :
- {
- $clone_cfg;
- cp --no-cleanup -r $src/libfoo-1.1.0 ./;
-
- $* -p -e libfoo-1.1.0 2>'using libfoo/1.1.0 (external)';
-
- $pkg_purge libfoo 2>'purged libfoo/1.1.0'
- }
-}
-
-: dir-rep
-:
-{
- rep_add += --type dir
-
- : no-repos
- :
- {
- $clone_root_cfg;
-
- $* libfoo/1.1.0 2>>/EOE != 0
- error: configuration cfg/ has no repositories
- info: use 'bpkg rep-add' to add a repository
- EOE
- }
-
- : unfetched
- :
- {
- $clone_root_cfg && $rep_add $src/libfoo-1.1.0;
-
- $* libfoo/1.1.0 2>>/EOE != 0
- error: configuration cfg/ has no available packages
- info: use 'bpkg rep-fetch' to fetch available packages list
- EOE
- }
-
- : unavailable
- :
- {
- $clone_root_cfg && $rep_add $src/libfoo-1.1.0 && $rep_fetch;
-
- $* libfoo/1.0.0 2>>EOE != 0
- error: package libfoo 1.0.0 is not available
- EOE
- }
-
- : unavailable-dir-based
- :
- {
- $clone_root_cfg && $rep_add $rep/t1 --type pkg && $rep_fetch --trust-yes;
-
- $* libfoo/1.0.0 2>>EOE != 0
- error: package libfoo 1.0.0 is not available from a directory-based repository
- EOE
- }
-
- : available
- :
- {
- $clone_root_cfg && $rep_add $src/libfoo-1.1.0 && $rep_fetch;
-
- $* libfoo/1.1.0 2>>EOE;
- using libfoo/1.1.0 (external)
- EOE
-
- $pkg_status libfoo 1>'libfoo unpacked 1.1.0';
-
- $pkg_configure libfoo 2>'configured libfoo/1.1.0';
- test -d cfg/libfoo;
- $pkg_disfigure libfoo 2>'disfigured libfoo/1.1.0'
- }
-}
-
-: existing
-:
-{
- : version-fixup
- :
- : Test that the version is populated with the snapshot information for the
- : package directory that is under the version control.
- :
- if ($remote != true)
- {
- $clone_root_cfg;
-
- rep = $canonicalize([dir_path] $out_git/state0);
-
- $* -e $rep/style-basic.git 2>>~%EOE%
- %using style-basic/1\.1\.0-a\.0\.\d+\..+ \(external\)%
- EOE
- }
-}
-
-: hello
-:
-{
- $clone_cfg;
- $rep_add $rep/hello && $rep_fetch --trust $cert_fp &cfg/.bpkg/certs/**;
- $pkg_fetch libhello/1.0.0;
-
- $* libhello 2>'unpacked libhello/1.0.0';
-
- $pkg_purge libhello 2>'purged libhello/1.0.0'
-}