From 15514b1013a22977a451c64b6df229414a9dde6b Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 23 Sep 2020 13:13:05 +0300 Subject: Add package-archive.bash public module --- tests/package-archive/testscript | 127 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 tests/package-archive/testscript (limited to 'tests/package-archive/testscript') 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 + } +} -- cgit v1.1