summaryrefslogtreecommitdiffstats
path: root/lldb/unittests/Process/minidump/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* minidump: Use yaml for memory info testsPavel Labath2019-10-141-1/+0
| | | | | | | Also, delete some minidump binary files that are no longer used in any test. llvm-svn: 374776
* minidump: Remove checked-in files used for testing MemoryList handlingPavel Labath2019-05-201-4/+0
| | | | | | | Now that yaml2obj supports this stream, we can use the yaml form instead. llvm-svn: 361126
* minidump: Use yaml instead of checked-in binaries for ThreadList testsPavel Labath2019-05-131-3/+0
| | | | | | yaml2obj now supports the ThreadList stream. llvm-svn: 360568
* Minidump: yamlify module-related unit testsPavel Labath2019-04-211-4/+0
| | | | | | | | | | | | | The tests reading the untouched module list are now not using any lldb code (as module list loading lives in llvm now), so they can be removed. The "filtering" of the module list remains (and probably will remain) an lldb concept, so I keep those tests, but replace the checked-in binaries with their yaml equivalents. The binaries which are no longer referenced by any tests have been removed. llvm-svn: 358850
* MinidumpParser: use minidump parser in llvm/ObjectPavel Labath2019-04-051-2/+1
| | | | | | | | | | | | | | | | | | This patch removes the lower layers of the minidump parsing code from the MinidumpParser class, and replaces it with the minidump parser in llvm. Not all functionality is already avaiable in the llvm class, but it is enough for us to be able to stop enumerating streams manually, and rely on the minidump directory parsing code from the llvm class. This also removes some checked-in binaries which were used to test error handling in the parser, as the error handling is now done (and tested) in llvm. Instead I just add one test that ensures we correctly propagate the errors reported by the llvm parser. The input for this test can be written in yaml instead of a checked-in binary. llvm-svn: 357748
* Avoid two-stage initialization of MinidumpParserPavel Labath2019-02-221-0/+1
| | | | | | | | | remove the Initialize function, move the things that can fail into the static factory function. The factory function now returns Expected<Parser> instead of Optional<Parser> so that it can give a reason why creation failed. llvm-svn: 354668
* Split up minidump register context testsPavel Labath2019-02-221-0/+1
| | | | | | | | | | | | | | | | | The tests were doing two somewhat independent things: - checking that the registers can be retrieved from the minidump file - checking that they can be converted into a form suitable for consumption by lldb The first thing requires a minidump file (but it's independent of other lldb structures), while the second one does not require a minidump file (but it needs lldb register info structures). Splitting this into two tests gives an opportunity to write more detailed tests, and allows the two pieces of functionality to be moved into different packages, if that proves to be necessary. llvm-svn: 354662
* Add missing .dmp files to test inputs.Greg Clayton2018-12-141-0/+3
| | | | llvm-svn: 349183
* Fix minidump unit test failures from r349062Pavel Labath2018-12-141-9/+12
| | | | | | | | | This commit added new test inputs, but it did not add them to the cmake files. This caused the test to fail at runtime. While in there, I also sorted the list of minidump test inputs. llvm-svn: 349154
* Add support for parsing Breakpad minidump files that can have extra padding ↵Greg Clayton2018-07-231-1/+7
| | | | | | | | in the module, thread and memory lists. Differential Revision: https://reviews.llvm.org/D49579 llvm-svn: 337694
* Restructure the minidump loading path and add early & explicit consistency ↵Leonard Mosescu2018-07-121-1/+3
| | | | | | | | | | | | | | | | | | | | | checks Corrupted minidumps was leading to unpredictable behavior. This change adds explicit consistency checks for the minidump early on. The checks are not comprehensive but they should catch obvious structural violations: streams with type == 0 duplicate streams (same type) overlapping streams truncated minidumps Another early check is to make sure we actually support the minidump architecture instead of crashing at a random place deep inside LLDB. Differential Revision: https://reviews.llvm.org/D49202 llvm-svn: 336918
* [unittests] Add a helper function for getting an input filePavel Labath2017-06-291-0/+1
| | | | | | | | | | | | | | | | | Summary: Fetching an input file required about five lines of code, and this was repeated in multiple unit tests, with slight variations. Add a helper function for doing that into the lldbUtilityMocks module (which I rename to lldbUtilityHelpers to commemorate the fact it includes more than mocks) Reviewers: zturner, eugene Subscribers: emaste, mgorny, lldb-commits Differential Revision: https://reviews.llvm.org/D34683 llvm-svn: 306668
* [CMake] Update unit tests with accurate dependenciesChris Bieneman2017-02-011-0/+9
| | | | | | This is extending the updates from r293696 to the LLDB unit tests. llvm-svn: 293821
* Minidump plugin: Adding x86_32 register context converterDimitar Vlahovski2016-10-311-0/+1
| | | | | | | | | | | | | | | | | Summary: This, like the x86_64 case, reads the register values from the minidump file, and emits a binary buffer that is ordered using the offsets from the RegisterInfoInterface argument. That way we can reuse an existing register context. Added unit tests. Reviewers: labath, zturner Subscribers: beanz, mgorny, modocache, amccarth, lldb-commits Differential Revision: https://reviews.llvm.org/D25832 llvm-svn: 285584
* Minidump plugin: functions parsing memory structures and filtering module listDimitar Vlahovski2016-10-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Summary: Now the Minidump parser can parse the: 1) MemoryInfoList - containing region info about memory ranges (readable, writable, executable) 2) Memory64List - this is the stuct used when the Minidump is a full-memory one. 3) Adding filtering of the module list (shared libraries list) - there can be mutliple records in the module list under the same name but with different load address (e.g. when the binary has non contigious sections). FilterModuleList eliminates the duplicated modules, leaving the one with the lowest load addr. Added unit tests for everything. Reviewers: labath, zturner Subscribers: beanz, mgorny, modocache, lldb-commits, amccarth Differential Revision: https://reviews.llvm.org/D25569 llvm-svn: 284593
* MinidumpParsing: pid, modules, exceptions, stringsDimitar Vlahovski2016-09-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Added parsing of the MiscInfo data stream. The main member of it that we care about is the process_id On Linux generated Minidump (from breakpad) we don't have the MiscInfo, we have the /proc/$pid/status from where we can get the pid. Also parsing the module list - the list of all of the loaded modules/shared libraries. Parsing the exception stream. Parsing MinidumpStrings. I have unit tests for all of that. Also added some tests using a Minidump generated from Windows tools (not from breakpad) Reviewers: labath, zturner Subscribers: beanz, lldb-commits Differential Revision: https://reviews.llvm.org/D24385 llvm-svn: 281348
* Minidump parsingDimitar Vlahovski2016-09-011-0/+8
Summary: This is a Minidump parsing code. There are still some more structures/data streams that need to be added. The aim ot this is to be used in the implementation of a minidump debugging plugin that works on all platforms/architectures. Currently we have a windows-only plugin that uses the WinAPI to parse the dump files. Also added unittests for the current functionality. Reviewers: labath, amccarth Subscribers: tberghammer, danalbert, srhines, lldb-commits, dschuff Differential Revision: https://reviews.llvm.org/D23545 llvm-svn: 280356
OpenPOWER on IntegriCloud