delphix / sdb

The Slick Debugger
Apache License 2.0
57 stars 20 forks source link

Miscellaneous Test Suite And Userland Core Support Changes #324

Closed sdimitro closed 1 year ago

sdimitro commented 1 year ago

Contains the following changes:

1] New Crash Dump Directory Hierarchy

Instead of unarchiving one reference dump at a time and testing it it is now possible to have multiple unpacked crash dumps at the same time and run the regression tests against both. Each dump is now automatically unpacked under test/integration/data/dumps/<name>.

It is also possible now to generate regression output for multiple dumps at the same time.

2] Better support for automatically loading userland shared libs

The -s/load_debug_info() functionality would only look for .ko files (e.g. kernel modules) given a directory. Now it can also automatically detect debug links and shared objects.

3] Self-Descriptive Regression Output

All regression output files now contain the following appendix:

@#$ EXIT CODE $#@
<exit code number>

This makes it easier for us to not have to declare in the test suite code whether a test case is negative or positive. Simplifying our test code.

4] Test Infrastructure Refactor & Userland Support

The test suite infrastructure code has been refactored to handle userland core dumps together with kernel crash dumps. Unfortuantely due to a bug in drgn we can't use a ztest core dump for regressions (even though sdb/drgn can handle a userland core dump just fine in the host system). I'll come up with a smaller userland core dump soon so we can test the userland version of stacks and work on the drgn bug when my free time allows.