Add a test that verifies that when the user does not have permissions
to set watchpoints on NetBSD, the 'watchpoint set' errors out gracefully
and thread monitoring does not crash on being unable to copy watchpoints
to new threads.
Details
- Reviewers
labath krytarowski
Diff Detail
Event Timeline
lldb/test/Shell/Watchpoint/Inputs/thread-dbreg.c | ||
---|---|---|
1–23 | Threads are intentional since new thread handler copies dbregs per the other patch. This makes sure that new thread handler will not crash when it is unable to set dbregs. | |
lldb/test/Shell/Watchpoint/netbsd-nouserdbregs.test | ||
5 | I have to admit that I'm at ~Oct 31 in my checkout. I've tried using %clang_host but it failed with fg saying that there is no job control. |
lldb/test/Shell/Watchpoint/Inputs/thread-dbreg.c | ||
---|---|---|
1–23 | Hang on, isn't this test about what happens when you *cannot* set watchpoints? In that case there should be nothing to copy the dbregs from, right? | |
lldb/test/Shell/Watchpoint/netbsd-nouserdbregs.test | ||
5 | %clang_host was added *on* Oct 31, so maybe you need to sync a bit further... :) |
lldb/test/Shell/Watchpoint/Inputs/thread-dbreg.c | ||
---|---|---|
1–23 | Hmm... or is it that you're testing that the act of trying to copy this "nothing" works? In that case, this might be fine, but it'd probably be worth mentioning this in the test case. |
lldb/test/Shell/Watchpoint/Inputs/thread-dbreg.c | ||
---|---|---|
1–23 | Actually, since the whole dbreg support is rather stateless at the moment, we just unconditionally copy dbregs. I suppose this needs to be fixed, and now I see that my other patch misses error handling as well. However, the main point for this test is to prevent regressions, and this is a potential programmer's mistake. | |
lldb/test/Shell/Watchpoint/netbsd-nouserdbregs.test | ||
5 | Ok, I'll try. |
Maybe simplify this and remove the threads and stuff?