summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRandy MacLeod <Randy.MacLeod@windriver.com>2019-09-10 17:41:33 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-09-16 23:02:44 +0100
commitecb8b17efcb07e576f6693d05ceeffa65eae957e (patch)
tree62d987582cacea18ed0ef1f0b21ee6b86b9d44f1
parentfb5556a4b68a24d9218ac4faa0db5c360c465cd4 (diff)
downloadpoky-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>
-rw-r--r--meta/recipes-devtools/valgrind/valgrind_3.15.0.bb25
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.
110RRECOMMENDS_${PN} += "${TCLIBC}-dbg" 110RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
111 111
112RDEPENDS_${PN}-ptest += " file perl perl-module-file-glob sed ${PN}-dbg" 112RDEPENDS_${PN}-ptest += " bash file perl perl-module-file-glob procps sed ${PN}-dbg"
113RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" 113RDEPENDS_${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