aboutsummaryrefslogtreecommitdiff
path: root/tests/package-archive/testscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/package-archive/testscript')
-rw-r--r--tests/package-archive/testscript127
1 files changed, 127 insertions, 0 deletions
diff --git a/tests/package-archive/testscript b/tests/package-archive/testscript
new file mode 100644
index 0000000..6124d4a
--- /dev/null
+++ b/tests/package-archive/testscript
@@ -0,0 +1,127 @@
+# file : tests/package-archive/testscript
+# license : MIT; see accompanying LICENSE file
+
+# Note that searching for packages directly in $src_base is a bad idea, since
+# removing testscript working directories while testing in source makes the
+# find utility to fail with the 'no such file or directory' error. Thus, we
+# clone the archives into the test working directories and search there.
+#
+clone_arcs = \
+ cp $src_base/libhello-0.1.0.tar.gz $src_base/libhello-0.1.0+1.tar.gz ./
+
+: pkg-verify-archive
+:
+{
+ test.arguments += bpkg_rep_pkg_verify_archive
+
+ : non-existing-archive
+ :
+ $* libhello-0.1.0.tar.gz 2>>EOE != 0
+ error: archive file 'libhello-0.1.0.tar.gz' does not exist
+ EOE
+
+ : success
+ :
+ $* $src_base/libhello-0.1.0.tar.gz >:'libhello 0.1.0 hello'
+}
+
+: pkg-find-archives
+:
+{
+ test.arguments += bpkg_rep_pkg_find_archives
+
+ : none
+ :
+ {
+ $clone_arcs;
+
+ $* 'libhello' '0.2.0' $~
+ }
+
+ : package
+ :
+ {
+ $clone_arcs;
+
+ $* 'libhello' '*' $~ >>:/~"%EOO%"
+ %\(
+ $~/libhello-0.1.0.tar.gz
+ $~/libhello-0.1.0+1.tar.gz
+ %|
+ $~/libhello-0.1.0+1.tar.gz
+ $~/libhello-0.1.0.tar.gz
+ %\)
+ EOO
+ }
+
+ : package-version
+ :
+ {
+ $clone_arcs;
+
+ $* 'libhello' '0.1.0' $~ >:/"$~/libhello-0.1.0.tar.gz"
+ }
+
+ : package-revision
+ :
+ {
+ $clone_arcs;
+
+ $* 'libhello' '0.1.0+1' $~ >:/"$~/libhello-0.1.0+1.tar.gz"
+ }
+
+ : package-revisions1
+ :
+ {
+ $clone_arcs;
+
+ $* 'libhello' '0.1.0*' $~ >>:/~"%EOO%"
+ %\(
+ $~/libhello-0.1.0.tar.gz
+ $~/libhello-0.1.0+1.tar.gz
+ %|
+ $~/libhello-0.1.0+1.tar.gz
+ $~/libhello-0.1.0.tar.gz
+ %\)
+ EOO
+ }
+
+ : package-revisions2
+ :
+ {
+ $clone_arcs;
+
+ $* 'libhello' '0.1.0+2*' $~ >>:/~"%EOO%"
+ %\(
+ $~/libhello-0.1.0.tar.gz
+ $~/libhello-0.1.0+1.tar.gz
+ %|
+ $~/libhello-0.1.0+1.tar.gz
+ $~/libhello-0.1.0.tar.gz
+ %\)
+ EOO
+ }
+}
+
+: pkg-find-archive
+:
+{
+ test.arguments += bpkg_rep_pkg_find_archive
+
+ : non-existent
+ :
+ $* 'libhello-0.1.0.*' $~
+
+ : existing
+ :
+ {
+ $clone_arcs;
+
+ $* 'libhello-0.1.0.*' $~ >>:/"EOO"
+ libhello
+ 0.1.0
+ hello
+ $~/libhello-0.1.0.tar.gz
+ EOO
+ }
+}