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 |