Skip watchpoint tests if security.models.extensions.user_set_dbregs
is disabled. This indicates that unprivileged processes are not allowed
to write to debug registers which is a prerequisite for using hardware
watchpoints.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
This definitely aren't all of our watchpoint tests. What's the reason for picking this particular bunch? Are they the only ones enabled on NetBSD right now?
Anyway, given that all of the watchpoint tests are already annotated with the "watchpoint" category, I think it would be better to handle this similar to how we handle other category-based skips (debug info flavours, c++ library types, etc.). This would also enable us to get rid of the "expectedFailure(windows)" decorator on all of these tests by implementing the skip centrally (though you don't have to do that right now). The category-based skipping happens around here: https://github.com/llvm-mirror/lldb/blob/master/packages/Python/lldbsuite/test/dotest.py#L1143
Buildbot was down at the moment, so I went only for those that I was sure started failing once I fixed dbreg error reporting.
Anyway, given that all of the watchpoint tests are already annotated with the "watchpoint" category, I think it would be better to handle this similar to how we handle other category-based skips (debug info flavours, c++ library types, etc.). This would also enable us to get rid of the "expectedFailure(windows)" decorator on all of these tests by implementing the skip centrally (though you don't have to do that right now). The category-based skipping happens around here: https://github.com/llvm-mirror/lldb/blob/master/packages/Python/lldbsuite/test/dotest.py#L1143
Will do that.
lldb/packages/Python/lldbsuite/test/dotest.py | ||
---|---|---|
1197 ↗ | (On Diff #204996) | The string isn't used anywhere, but I'd use a slightly more generic value here, because there are a number of reasons watchpoints can/cannot work on a given platform... |
This check should contain additional check for uid==root. If we are root we can read and write to DB registers.