Skip to content

Conversation

@sdimitro
Copy link
Contributor

@sdimitro sdimitro commented Apr 3, 2023

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.

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.
@sdimitro sdimitro force-pushed the multiple_crash_dumps branch from e727851 to e60cecc Compare April 3, 2023 23:25
@sdimitro sdimitro merged commit 482a982 into delphix:6.0/stage Apr 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants