Commit Graph

3 Commits

Author SHA1 Message Date
Ross Burton
6ae68314b6 oeqa/selftest/debuginfod: improve testcase
Primarily, before running the debuginfod-find tool, check that the
debuginfod server has finished sweeping the deploy directory.  If we
make the request too soon then there's a rare chance that we run the
client before it has scanned the right packages, and the log gets
swamped with warnings from sqlite due to a race.

Also:
- unset DEBUGINFOD_URLS so the debuginfod doesn't proxy to an upstream
  server provided by the host distro
- Lower concurrency to reduce system load and handle systems with lower
  maximum open file counts but lots of cores (as the concurrency means
  cores*2*2 open files)
- Set the refresh times to 0 so we never rescan during the test
- Only scan the packages for the format which the image is using
- Log the commands that are being invoked

(From OE-Core rev: d65729748253eaa640333198ca8aec05946cb9e8)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-11 10:58:36 +00:00
Ross Burton
b064a9a517 oeqa/selftest/debuginfod: don't re-use the database
debuginfod writes the files it scans to a database in $HOME, which isn't
ideal when the build trees that get scanned typically are deleted after
the test has finished. This can result in debuginfod trying to return
objects that no longer exist on disk:

libc error: stat /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-1032306/tmp/deploy/rpm/core2_64/elfutils-dbg-0.187-r0.core2_64.rpm: No such file or directory
libc error: stat /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-1113320/tmp/deploy/rpm/core2_64/elfutils-dbg-0.187-r0.core2_64.rpm: No such file or directory
libc error: stat /home/pokybuild/yocto-worker/oe-selftest-debian/build/build-st-1113320/tmp/deploy/rpm/core2_64/elfutils-dbg-0.187-r0.core2_64.rpm: No such file or directory

Solve this, and save writing a database on disk at all, by using the
special database path :memory: which keeps the database in memory only,
so state can't leak between tests.

(From OE-Core rev: d1c2aa3d241bd17d68e8e38d9399cbb0a3f3b912)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-09 14:09:01 +01:00
Ross Burton
f941dad9d7 oeqa/selftest: add test for debuginfod
Add a new selftest to exercise the debuginfod support, by starting a
debuginfod on DEPLOY_DIR and verifying that an image can fetch the
symbols for a binary.

(From OE-Core rev: d035fd394fd2747ab4b75867af6123f3efb1990f)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-30 10:33:35 +01:00