Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage-utils:master commit in: tests/qmerge/
Date: Mon, 25 May 2020 10:44:03
Message-Id: 1590403275.1feb7c2887f1e257506a1577cd3f3f4d28e12ace.grobian@gentoo
1 commit: 1feb7c2887f1e257506a1577cd3f3f4d28e12ace
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Mon May 25 10:41:15 2020 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Mon May 25 10:41:15 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=1feb7c28
7
8 tests: add qmerge tests for different compression schemes in binpkgs
9
10 While we had support for installing various compressed binpkgs, we never
11 tested this at all. Especially since zstd now became the new standard
12 Portage uses, it is a good idea to ensure we cope well with this.
13
14 This new blob of tests, checks qtbz2, qlist and qmerge to disassemble,
15 assemble and install binpkgs with all known supported compressors.
16
17 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
18
19 tests/qmerge/dotest | 36 +++++++++++++++++++++++++++++++++++-
20 1 file changed, 35 insertions(+), 1 deletion(-)
21
22 diff --git a/tests/qmerge/dotest b/tests/qmerge/dotest
23 index 208bc3b..59f249d 100755
24 --- a/tests/qmerge/dotest
25 +++ b/tests/qmerge/dotest
26 @@ -130,8 +130,42 @@ out=$(yes | qmerge -FU qmerge-test)
27 tend $? "qmerge-test: [M] uninstall" || die "${out}"
28 [[ ! -e ${ROOT}/usr/bin/qmerge-test ]]
29 tend $? "qmerge-test: [M] /usr/bin/qmerge-test removed" || die "$(treedir "${ROOT}")"
30 -set -e
31 +
32 +# try all compressions we know to see if we handle them properly
33 +pkgver=qmerge-test-1.3
34 +rev=0
35 +mkdir -p pkgs/sys-devel
36 +qtbz2 -s ${PKGDIR}/sys-devel/${pkgver}.tbz2
37 +export PKGDIR=${PWD}/pkgs
38 +bzip2 -dc < ${pkgver}.tar.bz2 > ${pkgver}.tar
39 +for compr in "" brotli gzip bzip2 xz lz4 zstd lzip lzop ; do
40 + if [[ ${compr} != "" ]] ; then
41 + cexec=$(type -P ${compr} 2>/dev/null)
42 + echo "compressor: ${compr} = ${cexec}"
43 + [[ -x ${cexec} ]] || continue
44 + f=${pkgver}.tar.${compr}
45 + ${cexec} -c < ${pkgver}.tar > ${f}
46 + else
47 + echo "plain tar"
48 + f=${pkgver}.tar
49 + fi
50 + : $((rev++))
51 + qtbz2 -j ${f} ${pkgver}.xpak pkgs/sys-devel/${pkgver}-r${rev}.tbz2
52 + ls -l pkgs/sys-devel/${pkgver}-r${rev}.tbz2
53 + ROOT=/ qlist -kIv | tee /dev/stderr | wc -l
54 +
55 + # see if we can install this package
56 + out=$(yes | qmerge -Fv qmerge-test)
57 + tend $? "qmerge-test: [X] install ${pkgver}-r${rev}" || die "${out}"
58 + qlist -Iv
59 + out=$(yes | qmerge -FU qmerge-test)
60 + tend $? "qmerge-test: [X] uninstall ${pkgver}-r${rev}" || die "${out}"
61 +
62 + rm pkgs/sys-devel/${pkgver}-r${rev}.tbz2
63 +done
64
65 cleantmpdir
66
67 +set -e
68 +
69 end