Implement userspace-probe regression tests
This adds regression testcases for the following userspace probe
features and should-fail scenarios.
Features:
* ELF function location tracing works,
* ELF C++ mangled function and method location tracing works,
* SDT tracepoint location tracing works,
* Implicit location type defaults to ELF location,
* Binary found $PATH,
* Binary found using full path,
* Binary with colon in file name,
* Disabling of all location types,
* Listing of all location types,
* Saving and loading of all location types,
* SDT probe with one or more callsites,
* SDT probe with arguments,
* SDT probe in shared object,
* SDT probe in dlopen()ed and ldpreload()ed shared object.
Should-fail:
* Target binary does not exist,
* Target binary not ELF file,
* ELF symbol not found in target binary,
* ELF symbol not a function,
* SDT provider name not found,
* SDT probe name not found,
* SDT probe guarded by a semaphore.
We also make sure to disable testcases when the necessary files/tools
for them are not found:
* Disables C++ testcases if no C++ compiler is found.
* Disables SDT testcases if the Systemtap header files are not found.
This is tested by trying to compile a simple C program with a SDT
probe. If it fails, it will only disable the testcases and not the
feature since the SDT userspace probe feature does not use this header
for parsing.
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Signed-off-by: Erica Bugden <ebugden@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
25 files changed:
This page took 0.027601 seconds and 4 git commands to generate.