Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: eclass/tests/
Date: Thu, 28 May 2020 11:41:32
Message-Id: 1590666080.dba4f2113f6cfa539246acdad25459a479d7f434.mgorny@gentoo
1 commit: dba4f2113f6cfa539246acdad25459a479d7f434
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Tue May 26 07:25:56 2020 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Thu May 28 11:41:20 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dba4f211
7
8 llvm.eclass: Add initial tests
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 eclass/tests/llvm.sh | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
13 1 file changed, 138 insertions(+)
14
15 diff --git a/eclass/tests/llvm.sh b/eclass/tests/llvm.sh
16 new file mode 100755
17 index 00000000000..bb8d5fc998e
18 --- /dev/null
19 +++ b/eclass/tests/llvm.sh
20 @@ -0,0 +1,138 @@
21 +#!/bin/bash
22 +# Copyright 1999-2020 Gentoo Authors
23 +# Distributed under the terms of the GNU General Public License v2
24 +
25 +EAPI=7
26 +source tests-common.sh
27 +
28 +inherit llvm
29 +
30 +# llvm_check_deps override to disable has_version use.
31 +# in: ${LLVM_SLOT}
32 +# returns 0 if installed (i.e. == LLVM_INSTALLED_SLOT), 1 otherwise
33 +llvm_check_deps() {
34 + [[ ${LLVM_SLOT} == ${LLVM_INSTALLED_SLOT} ]]
35 +}
36 +
37 +# check_prefix <expected> [<args>...]
38 +# Check output of `get_llvm_prefix <args>...`.
39 +check_prefix() {
40 + local expected=${1}
41 + shift
42 +
43 + tbegin "get_llvm_prefix ${*}; inst=${LLVM_INSTALLED_SLOT} -> ${expected}"
44 + prefix=$(get_llvm_prefix "${@}")
45 + [[ ${prefix} == ${expected} ]] ||
46 + eerror "got: ${prefix} != exp: ${expected}"
47 + tend ${?}
48 +}
49 +
50 +# check_setup_path <expected>
51 +# Check PATH after pkg_setup.
52 +check_setup_path() {
53 + local expected=${1}
54 + shift
55 +
56 + tbegin "pkg_setup; max=${LLVM_MAX_SLOT}; inst=${LLVM_INSTALLED_SLOT} -> PATH=${expected}"
57 + path=$(llvm_pkg_setup; echo "${PATH}")
58 + [[ ${path} == ${expected} ]] ||
59 + eerror "got: ${path} != exp: ${expected}"
60 + tend ${?}
61 +}
62 +
63 +
64 +EAPI=7
65 +BROOT=/broot
66 +SYSROOT=/sysroot
67 +ESYSROOT=/sysroot/eprefix
68 +ROOT=/root
69 +EROOT=/root/eprefix
70 +
71 +ebegin "Testing check_setup_path without max slot"
72 +eindent
73 + LLVM_INSTALLED_SLOT=11 \
74 + check_prefix /sysroot/eprefix/usr/lib/llvm/11
75 + LLVM_INSTALLED_SLOT=10 \
76 + check_prefix /sysroot/eprefix/usr/lib/llvm/10
77 +eoutdent
78 +
79 +ebegin "Testing check_setup_path with max slot"
80 +eindent
81 + LLVM_INSTALLED_SLOT=1* \
82 + check_prefix /sysroot/eprefix/usr/lib/llvm/11 11
83 + LLVM_INSTALLED_SLOT=1* \
84 + check_prefix /sysroot/eprefix/usr/lib/llvm/10 10
85 + LLVM_INSTALLED_SLOT=10 \
86 + check_prefix /sysroot/eprefix/usr/lib/llvm/10 11
87 +eoutdent
88 +
89 +ebegin "Testing check_setup_path option switches"
90 +eindent
91 + LLVM_INSTALLED_SLOT=11 \
92 + check_prefix /broot/usr/lib/llvm/11 -b
93 + LLVM_INSTALLED_SLOT=11 \
94 + check_prefix /sysroot/eprefix/usr/lib/llvm/11 -d
95 +eoutdent
96 +
97 +ebegin "Testing check_setup_path EAPI 6 API"
98 +eindent
99 + EAPI=6 \
100 + LLVM_INSTALLED_SLOT=11 \
101 + check_prefix /usr/lib/llvm/11 -d
102 +eoutdent
103 +
104 +BASEPATH=/usr/lib/ccache/bin:/usr/bin:/usr/sbin:/bin:/sbin
105 +
106 +# TODO: cross support?
107 +ESYSROOT=
108 +
109 +ebegin "Testing pkg_setup with all installed LLVM versions in PATH"
110 +eindent
111 + LLVM_MAX_SLOT=11 \
112 + LLVM_INSTALLED_SLOT=1* \
113 + PATH=${BASEPATH}:/usr/lib/llvm/11/bin \
114 + check_setup_path "/usr/lib/llvm/11/bin:${BASEPATH}:/usr/lib/llvm/11/bin"
115 +
116 + LLVM_MAX_SLOT=10 \
117 + LLVM_INSTALLED_SLOT=1* \
118 + PATH=${BASEPATH}:/usr/lib/llvm/11/bin:/usr/lib/llvm/10/bin \
119 + check_setup_path "/usr/lib/llvm/10/bin:${BASEPATH}:/usr/lib/llvm/11/bin:/usr/lib/llvm/10/bin"
120 +
121 + LLVM_MAX_SLOT=11 \
122 + LLVM_INSTALLED_SLOT=10 \
123 + PATH=${BASEPATH}:/usr/lib/llvm/10/bin \
124 + check_setup_path "/usr/lib/llvm/10/bin:${BASEPATH}:/usr/lib/llvm/10/bin"
125 +eoutdent
126 +
127 +ebegin "Testing pkg_setup with the other LLVM version in PATH"
128 +eindent
129 + LLVM_MAX_SLOT=11 \
130 + LLVM_INSTALLED_SLOT=1* \
131 + PATH=${BASEPATH}:/usr/lib/llvm/10/bin \
132 + check_setup_path "/usr/lib/llvm/11/bin:${BASEPATH}:/usr/lib/llvm/10/bin"
133 +
134 + LLVM_MAX_SLOT=10 \
135 + LLVM_INSTALLED_SLOT=1* \
136 + PATH=${BASEPATH}:/usr/lib/llvm/11/bin \
137 + check_setup_path "/usr/lib/llvm/10/bin:${BASEPATH}:/usr/lib/llvm/11/bin"
138 +eoutdent
139 +
140 +ebegin "Testing pkg_setup with LLVM missing from PATH"
141 +eindent
142 + LLVM_MAX_SLOT=11 \
143 + LLVM_INSTALLED_SLOT=1* \
144 + PATH=${BASEPATH} \
145 + check_setup_path "/usr/lib/llvm/11/bin:${BASEPATH}"
146 +
147 + LLVM_MAX_SLOT=10 \
148 + LLVM_INSTALLED_SLOT=1* \
149 + PATH=${BASEPATH} \
150 + check_setup_path "/usr/lib/llvm/10/bin:${BASEPATH}"
151 +
152 + LLVM_MAX_SLOT=11 \
153 + LLVM_INSTALLED_SLOT=10 \
154 + PATH=${BASEPATH} \
155 + check_setup_path "/usr/lib/llvm/10/bin:${BASEPATH}"
156 +eoutdent
157 +
158 +texit