agl-test-framework: Bump SRCREV
[AGL/meta-agl-devel.git] / meta-agl-test / recipes-tests / agl-test-framework / agl-test-framework.bb
1 SUMMARY = "Agl Test Framework"
2 HOMEPAGE = "https://git.automotivelinux.org/src/agl-test-framework/"
3 LICENSE = "Apache-2.0"
4 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
5
6 PN = 'agl-test-framework'
7 PV = '1'
8
9 SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/agl-test-framework;protocol=https;branch=master"
10 SRCREV = "03bb1cf226206bf361ef665bead92ed8fb3a81f4"
11
12 S = "${WORKDIR}/git"
13
14 # Notice:
15 # This is the list of all installed tests
16 #       On the installing board, if you get dirpath like:
17 #         /usr/AGL/agl-test/tests/bc/
18 #           Then, the test name here you should write down: bc
19 #       If you are installing LTP related files:
20 #         /usr/AGL/agl-test/tests/LTP/syscalls/
21 #           Then, the test name here you should write down: LTP/syscalls
22 #
23 FRAMEWORK_INSTALL_LIST = " \
24     acl \
25     aio_stress \
26     attr \
27     babeltrace \
28     babeltrace2 \
29     bash \
30     bc \
31     bluez5 \
32     busybox \
33     bzip2 \
34     coreutils \
35     cpio \
36     crashme \
37     curl \
38     diffutils \
39     e2fsprogs \
40     expat \
41     flex \
42     gawk \
43     gdbm \
44     gdk_pixbuf \
45     glib2 \
46     gstreamer \
47     json_glib \
48     kbd \
49     libpam \
50     libxml2 \
51     linus_stress \
52     lua \
53     lz4 \
54     LTP/math \
55     LTP/cve \
56     LTP/posix_conformance_tests \
57     LTP/syscalls \
58     openssl \
59     python3 \
60     stress_ng \
61     zlib \
62 "
63
64 # Function of the structure installation
65 install_framework () {
66     # basic essential pytest structure
67     install -d ${D}/usr/bin/
68     install -m 0755 ${WORKDIR}/git/agl-test ${D}/usr/bin/
69     install -d ${D}/usr/AGL/agl-test/plugins/
70     install -m 0644 ${WORKDIR}/git/pytest.ini ${D}/usr/AGL/agl-test/
71     install -m 0644 ${WORKDIR}/git/plugins/* ${D}/usr/AGL/agl-test/plugins/
72     install -d ${D}/usr/AGL/agl-test/template/
73     install -m 0644 ${WORKDIR}/git/template/* ${D}/usr/AGL/agl-test/template/
74     install -d ${D}/usr/AGL/agl-test/tests/
75     install -m 0644 ${WORKDIR}/git/tests/__init__.py ${D}/usr/AGL/agl-test/tests/
76     install -d ${D}/usr/AGL/agl-test/tests/LTP/
77     install -m 0644 ${WORKDIR}/git/tests/LTP/*py ${D}/usr/AGL/agl-test/tests/LTP/
78 }
79
80 # Function of the test file installation
81 install_test_files () {
82     for test_name in ${FRAMEWORK_INSTALL_LIST}; do
83         # Step 1 : install basic python files (no check, this is common installation)
84         install -d ${D}/usr/AGL/agl-test/tests/${test_name}
85         install -m 0644 ${WORKDIR}/git/tests/${test_name}/*.py ${D}/usr/AGL/agl-test/tests/${test_name}/
86
87         # Step 2 : install spec.json (check first, not common)
88         if [ -f "${WORKDIR}/git/tests/${test_name}/spec.json" ];then
89             install -m 0644 ${WORKDIR}/git/tests/${test_name}/spec.json ${D}/usr/AGL/agl-test/tests/${test_name}
90         fi
91
92         # Step 3 : install the resource folder (check first, not common)
93         if [ -d "${WORKDIR}/git/tests/${test_name}/resource/" ];then
94             install -d ${D}/usr/AGL/agl-test/tests/${test_name}/resource
95             install -m 0644 ${WORKDIR}/git/tests/${test_name}/resource/* ${D}/usr/AGL/agl-test/tests/${test_name}/resource/
96         fi
97     done
98 }
99
100 # install agl-test-framework
101 do_install() {
102     install_framework
103     install_test_files
104 }
105
106 # Override PACKAGES
107 # base: basic structure of the agl-test-framework along with pytest modules
108 # fast: fast mode packages
109 # standard: standard mode packages
110 # extreme: extreme mode packages
111 #
112 PACKAGES = " \
113     ${PN}-base \
114     ${PN}-fast \
115     ${PN}-standard \
116     ${PN}-extreme \
117 "
118
119 # Filter for basic structure
120 FILES:${PN}-base += " \
121     /usr/AGL/agl-test/plugins/* \
122     /usr/AGL/agl-test/pytest.ini \
123     /usr/AGL/agl-test/template/* \
124     /usr/AGL/agl-test/tests/LTP/agl_test_ltp_base.py \
125     /usr/AGL/agl-test/tests/LTP/__init__.py \
126     /usr/AGL/agl-test/tests/__init__.py \
127     /usr/bin/agl-test \
128 "
129
130 # Filter for fase mode
131 FILES:${PN}-fast = " \
132      /usr/AGL/agl-test/tests/aio_stress/* \
133      /usr/AGL/agl-test/tests/attr/* \
134      /usr/AGL/agl-test/tests/bc/* \
135      /usr/AGL/agl-test/tests/diffutils/* \
136      /usr/AGL/agl-test/tests/expat/* \
137      /usr/AGL/agl-test/tests/flex/* \
138      /usr/AGL/agl-test/tests/gdk_pixbuf/* \
139      /usr/AGL/agl-test/tests/json_glib/* \
140      /usr/AGL/agl-test/tests/kbd/* \
141      /usr/AGL/agl-test/tests/libpam/* \
142      /usr/AGL/agl-test/tests/lua/* \
143      /usr/AGL/agl-test/tests/LTP/math/* \
144      /usr/AGL/agl-test/tests/stress_ng/* \
145      /usr/AGL/agl-test/tests/zlib/* \
146 "
147
148 # Filter for standard mode
149 FILES:${PN}-standard = " \
150      /usr/AGL/agl-test/tests/acl/* \
151      /usr/AGL/agl-test/tests/babeltrace/* \
152      /usr/AGL/agl-test/tests/babeltrace2/* \
153      /usr/AGL/agl-test/tests/bash/* \
154      /usr/AGL/agl-test/tests/bluez5/* \
155      /usr/AGL/agl-test/tests/busybox/* \
156      /usr/AGL/agl-test/tests/bzip2/* \
157      /usr/AGL/agl-test/tests/coreutils/* \
158      /usr/AGL/agl-test/tests/cpio/* \
159      /usr/AGL/agl-test/tests/crashme/* \
160      /usr/AGL/agl-test/tests/curl/* \
161      /usr/AGL/agl-test/tests/e2fsprogs/* \
162      /usr/AGL/agl-test/tests/gawk/* \
163      /usr/AGL/agl-test/tests/gdbm/* \
164      /usr/AGL/agl-test/tests/glib2/* \
165      /usr/AGL/agl-test/tests/gstreamer/* \
166      /usr/AGL/agl-test/tests/libxml2/* \
167      /usr/AGL/agl-test/tests/linus_stress/* \
168      /usr/AGL/agl-test/tests/LTP/cve/* \
169      /usr/AGL/agl-test/tests/LTP/posix_conformance_tests/* \
170      /usr/AGL/agl-test/tests/openssl/* \
171 "
172
173 # Filter for extreme mode
174 FILES:${PN}-extreme = " \
175      /usr/AGL/agl-test/tests/python3/* \
176      /usr/AGL/agl-test/tests/lz4/* \
177      /usr/AGL/agl-test/tests/LTP/syscalls/* \
178 "
179
180 # Runtime dependency for basic structure
181 RDEPENDS:${PN}-base += " \
182     python3-jinja2 \
183     python3-pytest \
184     python3-pytest-order \
185 "
186
187 # Runtime dependency for fast mode package
188 RDEPENDS:${PN}-fast += " \
189     ltp \
190     aio-stress \
191     stress-ng \
192 "
193
194 # Runtime dependency for standard mode packages
195 RDEPENDS:${PN}-standard += " \
196     linus-stress \
197 "
198
199 # Runtime dependency for extreme mode packages
200 RDEPENDS:${PN}-extreme += " \
201     \
202 "