[Bug 21793] New: Detect stopped due to assert correctly on Windows

Bug ID 21793
Summary Detect stopped due to assert correctly on Windows
Product lldb
Version unspecified
Hardware PC
OS Windows NT
Status NEW
Severity normal
Priority P
Component All Bugs
Assignee zturner@google.com
Reporter zturner@google.com
CC lldb-dev@cs.uiuc.edu
Blocks 21766
Classification Unclassified

Repro command line:

d:\src\llvm\build\ninja>D:\python_src\Python-2.7.8\PCbuild\python_d.exe
D:\src\llvm\tools\lldb\test/dotest.py -q --arch=i686 --executable
D:/src/llvm/build/ninja/bin/lldb.exe -s
D:/src/llvm/build/ninja/lldb-test-traces -u CXXFLAGS -u CFLAGS -C
D:\src\llvm\build\ninja\bin\clang.exe -p TestInferiorAssert.py
D:\src\llvm\tools\lldb\test\functionalities\inferior-assert

Description:

TestInferiorAssert.py attempts to detect that, after hitting an assert, the
reason the inferior stopped was actually due to the assert, and not some other
reason.  It does this by looking for the string "stop reason = signal SIGABRT"
in the backtrace.  This is a non-portable string, and we should verify this
differently on Windows.  One possibility might be to modify StopInfo and create
StopInfo::CreateStopInfoForAssertion() or StopInfo::CreateStopInfoForAbort(),
then have the test check the stop reason directly, instead of searching the
backtrace output for this string.