Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: eclass/tests/
Date: Sun, 09 Dec 2018 20:32:14
Message-Id: 1544387523.61f0a9c777bbad70575e63699cbde914bcf4a90f.slyfox@gentoo
1 commit: 61f0a9c777bbad70575e63699cbde914bcf4a90f
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Sun Dec 9 12:47:23 2018 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Sun Dec 9 20:32:03 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61f0a9c7
7
8 eclass/tests/toolchain.sh: add tests to prepare to eapi7-ver switch
9
10 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
11
12 eclass/tests/toolchain.sh | 91 +++++++++++++++++++++++++++++++++++++++++++++++
13 1 file changed, 91 insertions(+)
14
15 diff --git a/eclass/tests/toolchain.sh b/eclass/tests/toolchain.sh
16 index 558a44c8771..ec225356856 100755
17 --- a/eclass/tests/toolchain.sh
18 +++ b/eclass/tests/toolchain.sh
19 @@ -4,6 +4,10 @@
20
21 EAPI=5
22
23 +# apply exlass globals to test version parsing
24 +TOOLCHAIN_GCC_PV=7.3.0
25 +PR=r0
26 +
27 source tests-common.sh
28
29 inherit toolchain
30 @@ -81,4 +85,91 @@ test_downgrade_arch_flags 4.3 "-march=foo -mno-sse4.1" "-march=foo -mno-sha -mno
31 test_downgrade_arch_flags 4.2 "-march=foo" "-march=foo -mno-sha -mno-rtm -mno-avx2 -mno-avx -mno-sse4.1"
32
33 test_downgrade_arch_flags 4.4 "-O2 -march=core2 -ffoo -fblah" "-O2 -march=atom -mno-sha -ffoo -mno-rtm -fblah"
34 +
35 +# basic version parsing tests in preparation to eapi7-ver switch
36 +
37 +test_tc_version_is_at_least() {
38 + local exp msg ret=0 want mine res
39 +
40 + want=${1}
41 + mine=${2}
42 + exp=${3}
43 +
44 + tbegin "tc_version_is_at_least: ${want} ${mine} => ${exp}"
45 +
46 + tc_version_is_at_least ${want} ${mine}
47 + res=$?
48 +
49 + if [[ ${res} -ne ${exp} ]]; then
50 + msg="Failure - Expected: \"${exp}\" Got: \"${res}\""
51 + ret=1
52 + fi
53 + tend ${ret} ${msg}
54 +}
55 +
56 +# want mine expect
57 +test_tc_version_is_at_least 8 '' 1
58 +test_tc_version_is_at_least 8.0 '' 1
59 +test_tc_version_is_at_least 7 '' 0
60 +test_tc_version_is_at_least 7.0 '' 0
61 +test_tc_version_is_at_least ${TOOLCHAIN_GCC_PV} '' 0
62 +test_tc_version_is_at_least 5.0 6.0 0
63 +
64 +test_tc_version_is_between() {
65 + local exp msg ret=0 lo hi res
66 +
67 + lo=${1}
68 + hi=${2}
69 + exp=${3}
70 +
71 + tbegin "tc_version_is_between: ${lo} ${hi} => ${exp}"
72 +
73 + tc_version_is_between ${lo} ${hi}
74 + res=$?
75 +
76 + if [[ ${res} -ne ${exp} ]]; then
77 + msg="Failure - Expected: \"${exp}\" Got: \"${res}\""
78 + ret=1
79 + fi
80 + tend ${ret} ${msg}
81 +}
82 +
83 +# lo hi expect
84 +test_tc_version_is_between 1 0 1
85 +test_tc_version_is_between 1 2 1
86 +test_tc_version_is_between 7 8 0
87 +test_tc_version_is_between ${TOOLCHAIN_GCC_PV} 8 0
88 +test_tc_version_is_between ${TOOLCHAIN_GCC_PV} ${TOOLCHAIN_GCC_PV} 1
89 +test_tc_version_is_between 7 ${TOOLCHAIN_GCC_PV} 1
90 +test_tc_version_is_between 8 9 1
91 +
92 +# eclass has a few critical global variables worth not breaking
93 +test_var_assert() {
94 + local var_name exp
95 +
96 + var_name=${1}
97 + exp=${2}
98 +
99 + tbegin "asserv variable value: ${var_name} => ${exp}"
100 +
101 + if [[ ${!var_name} != ${exp} ]]; then
102 + msg="Failure - Expected: \"${exp}\" Got: \"${!var_name}\""
103 + ret=1
104 + fi
105 + tend ${ret} ${msg}
106 +}
107 +
108 +# TODO: convert these globals to helpers to ease testing against multiple
109 +# ${TOOLCHAIN_GCC_PV} vaues.
110 +test_var_assert GCC_PV 7.3.0
111 +test_var_assert GCC_PVR 7.3.0
112 +test_var_assert GCC_RELEASE_VER 7.3.0
113 +test_var_assert GCC_BRANCH_VER 7.3
114 +test_var_assert GCCMAJOR 7
115 +test_var_assert GCCMINOR 3
116 +test_var_assert GCCMICRO 0
117 +test_var_assert BRANCH_UPDATE ''
118 +test_var_assert GCC_CONFIG_VER 7.3.0
119 +test_var_assert PREFIX /usr
120 +
121 texit