Commit Graph

18 Commits

Author SHA1 Message Date
Khem Raj
11702842f9 valgrind: Fix timerfd syscall test to be 64bit time_t safe
This helps compile the testcase with musl on 32bit arches

(From OE-Core rev: ac5a65cb5fdb315df2cb016d0cc5c3389c7971f0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:28 +00:00
Khem Raj
2fcd0cebe5 valgrind: Fix ptest builds on musl
(From OE-Core rev: 20e7d638322cf03f512d4f13c698f25211097f86)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Alexander Kanavin
85a0d61025 valgrind: fix the remaining ptest failures
Particularly, one test is disabled as it is failing everywhere,
two patches that actually cause failures are dropped and
some binaries are prevented from being stripped where that is
expected.

(From OE-Core rev: 64bc13f3c9c96584494f0984da5253a306e8a140)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02 16:57:21 +00:00
Alexander Kanavin
4b45e7419f valgrind: partially fix ptests
Unfortunately the ptests assume that $S=$B, and also require
the presence of original source code.

There are still some failures left which require additional investigation.

(From OE-Core rev: f781e2a70ce1086c49e0c3d5ac61b7bf5bd79a9c)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-01-16 22:33:09 +00:00
Khem Raj
cbe0b1987b valgrind: Fix build with -fno-common
(From OE-Core rev: 14f14eccf176539493fbfe710b66704feb7710da)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-12-30 08:47:12 +00:00
Randy MacLeod
09cfb218cb valgrind: disable 256 ptests for aarch64
On qemuarm64 systems, about half of the valgrind tests fail and
often result in defunct processes, eg:
   root       819   818 25 00:12 pts/0    00:01:52 /usr/bin/valgrind --command-line-only=yes --memcheck:leak-check=no --tool=memcheck -q --track-origins=
   root       861   420  0 00:13 pts/0    00:00:00 [sh] <defunct>
Eventually these processes use so much memory that the
out of memory killer runs.

Hide the tests that fail as a horrid work-around until the
root cause has been resolved since this at least allows the
ptest run to complete. This work-around is done in the run-ptest
script using a sorted list of tests so that they can be easily
restored one by one without a rebuild during testing.

With core-image-minimal on qemuarm64:
Recipe         | Passed      | Failed   | Skipped   | Time(s)
valgrind       | 333         | 49       | 17        | 7637

(From OE-Core rev: 208023f8fcbf4aee34544a80f962ae25f25ffb8d)

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>
2019-09-16 23:02:44 +01:00
Randy MacLeod
997d91f608 valgrind: ptest improvements to run-ptest and more
Make some changes to the run-ptest script:
  - after main tests run integrity check like the pkg Makefile.
  - aesthetic and ordering changes

Add the .in_place directory and its contents which allows valgrind
to be run in-place thereby enabling the gdbserver_tests to
complete rather than hang. Unfortunately directory paths embedded
in binaries still cause many of these test to fail.

Add the exp-sgcheck tests.

With core-image-minimal on qemux86-64/kvm:
Recipe         | Passed      | Failed   | Skipped   | Time(s)
before         | 648         | 12       | 60        | 1541
after          | 662         | 20       | 38        | 1429
ppc-no-gdbserv | 415         | 196      | 34        | 10689

Since fewer tests timeout, the overall time has decreased.
With core-image-sato on qemux86-64/kvm the results are now
the same as core-image-minimal.

qemuppc/arm64 runs result in the oom-killer eventually running since
some processes do not terminate properly and accumulate as defunct
processes in memory. Without the gdbserver_tests, the tests
complete without defunct process or the oom-killer running for
ppc but not for arm64.

(From OE-Core rev: 6dbaaeec17eae8329031188b688b33306a871870)

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>
2019-09-16 23:02:44 +01:00
Randy MacLeod
3b83ad5830 valgrind: make a few more ptests pass
Adjust two memcheck vgtest files to deal with relative paths
that are in test executables when cross-compiling.
Add libgomp to enable OpenMP tests.
Add the bz2 executable for memcheck/tests/vcpu_bz2.

(From OE-Core rev: f75792b28e39e4c393c0a00369d5417e3af75b36)

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>
2019-09-16 23:02:44 +01:00
Randy MacLeod
ecb8b17efc 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>
2019-09-16 23:02:44 +01:00
Adrian Bunk
c2f055257e valgrind: Remove dependency on libx11
It doesn't seem to be used.

(From OE-Core rev: 70fa25399503bd43da28d9d98765d354543c8975)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-27 12:20:36 +01:00
Randy MacLeod
95a4691d15 valgrind: add 'file' to ptest depends
to avoid:
   ./run_openmp_test: line 12: /usr/bin/file: No such file or directory
   SKIP: drd/tests/omp_matinv
when using core-image-minimal to run valgrind ptests.

(From OE-Core rev: f68ba3e49a8a8da7e48cd3fecf1dd3fc39219a40)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21 12:56:34 +01:00
Randy MacLeod
706a31f326 valgrind: Make ptest timestamps copasetic
Avoid ptest failures due to .diffs such as
cachegrind/tests/ann1.post.diff:
   @ Source file 'a.c' is more recent than input file 'cgout-test'.
   @ Annotations may not be correct.
by using:
   touch a.c -r cgout-test

(From OE-Core rev: 531cea018fa440fc408e1e061794978a502ad4ba)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21 12:56:34 +01:00
Randy MacLeod
3fc20fcef4 valgrind: fix call/cachegrind ptests
Use the *_annotate executables from ${bindir}

Actually install cachegrind/tests/a.c since it is used by
the call/cachegrind/tests/ann[12].vgtest files.

With this change and the previous commits, the ptest results
on qemux86-64 when invoked with:
    runqemu qemux86 kvm nographic slirp qemuparams="-m 2048"
are:

=== Test Summary ===
TOTAL: 159
PASSED: 149
FAILED: 1
SKIPPED: 9

Only drd/tests/pth_detached3 remains to be fixed.

(From OE-Core rev: 7fc21775e62fddd6620d49a6cf00ca914ba6b4ba)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-15 17:53:29 +01:00
Randy MacLeod
5ee06716de valgrind: adjust test filters and expected output
Skip two filters in filter_xml_frames since they
are intended to filter filesystem paths under '/usr' that
vary from platform to platform. In the ptest case
for Yocto's valgrind, the ptest executables are placed under:
   /usr/lib/valgrind/ptest
and if these frames are filtered out, then several 'drd' tests fail
the comparision between expected and actual output.

Also adjust the std_list expected output to agree with that
produced when the --yocto-ptest option to vg_regtest is used.

(From OE-Core rev: 38cc663b69ec96ae1470f040f7dcb05e816deb2e)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-15 17:53:29 +01:00
Randy MacLeod
ac087b259e valgrind: update the ptest subdirs list
Split the list into one directory per line.
Sort the list alphabetically.
Add the gdbserver_tests directory to get the 'gone' executable
which is needed by:
    memcheck/tests/gone_abrt_xml.vgtest

(From OE-Core rev: eb7d907deb09f2658f69d8faa8e56e6a56510fca)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-15 17:53:29 +01:00
Richard Purdie
587990fa28 valgrind: Include debugging symbols in ptests
About half the ptests will fail if the executables deployed
as part of the ptest package are stripped. We therefore need
to add a dependency on the dbg symbols package and silence the
QA test which would complain about this since we really do want
it in this case.

(From OE-Core rev: 7d8407583033ea70039dd7e475c325efcf857c18)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-15 17:53:29 +01:00
Randy MacLeod
eab20c9d50 valgrind: fix vg_regtest return code
(From OE-Core rev: ec7f0ba9bfd8a102e1ca6ab2f93bcb13fd819d95)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-15 17:53:29 +01:00
Randy MacLeod
f3b96fa0bb valgrind: update from 3.14.0 to 3.15.0
The SRC_URI moved.
Two local patches are now fixed upstream so remove them.

The glibc ptest results are essentially the same.

             3.14  3.15
TOTAL:        579   589
PASSED:       297   301
FAILED:       251   254
SKIPPED:       31    34
DURATION:    1312  1171

(From OE-Core rev: dfbc1e03c1f98a5a987a94ea815ba44f61abf289)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-23 23:30:19 +01:00