diff options
author | Randy MacLeod <Randy.MacLeod@windriver.com> | 2019-09-10 17:41:33 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-09-16 23:02:44 +0100 |
commit | ecb8b17efcb07e576f6693d05ceeffa65eae957e (patch) | |
tree | 62d987582cacea18ed0ef1f0b21ee6b86b9d44f1 /meta/recipes-devtools/valgrind | |
parent | fb5556a4b68a24d9218ac4faa0db5c360c465cd4 (diff) | |
download | poky-ecb8b17efcb07e576f6693d05ceeffa65eae957e.tar.gz |
valgrind: enable ~500 more ptests
Add valgrind's top level config.h to the ptest package since
it is used by several scripts to determine which tests to run.
Drop the removal of:
none/tests/shell,
the content was already moved to:
none/tests/scripts/shell
so the filter useless and the files no longer cause a problem.
Add a few more test directories that had been omitted.
Add perf/bigcode for test: none/tests/bigcode
Leave .c, .h, .S files in the ptest image since several of them are
needed to run the tests. The overhead is ~13 MB which is high but
keeping all test code is easier than figuring out which source files
are needed and the entire valgrind-ptest package is ~115 MB so in
this context it's an acceptable trade-off.
Add bash dependency for ptest for none/tests/scripts/shell
With core-image-minimal on qemux86-64/kvm:
Recipe | Passed | Failed | Skipped | Time(s)
before | 149 | 1 | 9 | 663
after | 648 | 12 | 60 | 1541
(From OE-Core rev: 083a5dd27d305ecd12214f2665460dbe06b96c2a)
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/valgrind')
-rw-r--r-- | meta/recipes-devtools/valgrind/valgrind_3.15.0.bb | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb index 4e89c604d6..7bb6001d90 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb | |||
@@ -109,7 +109,7 @@ RDEPENDS_${PN} += "perl" | |||
109 | # redirect functions like strlen. | 109 | # redirect functions like strlen. |
110 | RRECOMMENDS_${PN} += "${TCLIBC}-dbg" | 110 | RRECOMMENDS_${PN} += "${TCLIBC}-dbg" |
111 | 111 | ||
112 | RDEPENDS_${PN}-ptest += " file perl perl-module-file-glob sed ${PN}-dbg" | 112 | RDEPENDS_${PN}-ptest += " bash file perl perl-module-file-glob procps sed ${PN}-dbg" |
113 | RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" | 113 | RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" |
114 | 114 | ||
115 | # One of the tests contains a bogus interpreter path on purpose. | 115 | # One of the tests contains a bogus interpreter path on purpose. |
@@ -134,40 +134,45 @@ do_install_ptest() { | |||
134 | for parent_dir in ${S} ${B} ; do | 134 | for parent_dir in ${S} ${B} ; do |
135 | cd $parent_dir | 135 | cd $parent_dir |
136 | 136 | ||
137 | # exclude shell or the package won't install | ||
138 | rm -rf none/tests/shell* 2>/dev/null | ||
139 | |||
140 | subdirs=" \ | 137 | subdirs=" \ |
141 | cachegrind/tests \ | 138 | cachegrind/tests \ |
142 | callgrind/tests \ | 139 | callgrind/tests \ |
140 | dhat/tests \ | ||
143 | drd/tests \ | 141 | drd/tests \ |
142 | exp-bbv/tests \ | ||
143 | exp-dhat/tests \ | ||
144 | gdbserver_tests \ | 144 | gdbserver_tests \ |
145 | helgrind/tests \ | 145 | helgrind/tests \ |
146 | lackey/tests \ | ||
146 | massif/tests \ | 147 | massif/tests \ |
147 | memcheck/tests \ | 148 | memcheck/tests \ |
148 | none/tests \ | 149 | none/tests \ |
149 | tests \ | 150 | tests \ |
150 | " | 151 | " |
151 | |||
152 | # Get the vg test scripts, filters, and expected files | 152 | # Get the vg test scripts, filters, and expected files |
153 | for dir in $subdirs ; do | 153 | for dir in $subdirs ; do |
154 | find $dir | cpio -pvdu ${D}${PTEST_PATH} | 154 | find $dir | cpio -pvdu ${D}${PTEST_PATH} |
155 | done | 155 | done |
156 | cd $saved_dir | 156 | cd $saved_dir |
157 | done | 157 | done |
158 | cp ${B}/config.h ${D}${PTEST_PATH} | ||
159 | mkdir ${D}${PTEST_PATH}/perf | ||
160 | cp ${B}/perf/bigcode ${D}${PTEST_PATH}/perf | ||
158 | 161 | ||
159 | # Hide then restore a.c that is used by ann[12].vgtest in call/cachegrind | 162 | # Hide then restore a.c that is used by ann[12].vgtest in call/cachegrind |
160 | mv ${D}${PTEST_PATH}/cachegrind/tests/a.c ${D}${PTEST_PATH}/cachegrind/tests/a_c | 163 | mv ${D}${PTEST_PATH}/cachegrind/tests/a.c ${D}${PTEST_PATH}/cachegrind/tests/a_c |
161 | # clean out build artifacts before building the rpm | 164 | # clean out build artifacts before building the package. Keep config.h for ptests. |
165 | mv ${D}${PTEST_PATH}/config.h ${D}${PTEST_PATH}/config_h | ||
166 | |||
162 | find ${D}${PTEST_PATH} \ | 167 | find ${D}${PTEST_PATH} \ |
163 | \( -name "Makefile*" \ | 168 | \( \ |
169 | -name "Makefile*" \ | ||
164 | -o -name "*.o" \ | 170 | -o -name "*.o" \ |
165 | -o -name "*.c" \ | 171 | \) \ |
166 | -o -name "*.S" \ | ||
167 | -o -name "*.h" \) \ | ||
168 | -exec rm {} \; | 172 | -exec rm {} \; |
169 | mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c | 173 | mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c |
170 | touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test | 174 | touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test |
175 | mv ${D}${PTEST_PATH}/config_h ${D}${PTEST_PATH}/config.h | ||
171 | 176 | ||
172 | # find *_annotate in ${bindir} for yocto build | 177 | # find *_annotate in ${bindir} for yocto build |
173 | sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest | 178 | sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest |