aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Isemann <teemperor@gmail.com>2020-03-12 16:06:51 +0100
committerRaphael Isemann <teemperor@gmail.com>2020-03-12 16:12:14 +0100
commit352f16db87f583ec7f55f8028647b5fd8616111f (patch)
tree1836f86d87cd32b30925da1c1f91cba68fb9b3f6
parenteb4b5a36a6331a0de3559a01e6854895cacce6b3 (diff)
downloadllvm-352f16db87f583ec7f55f8028647b5fd8616111f.zip
llvm-352f16db87f583ec7f55f8028647b5fd8616111f.tar.gz
llvm-352f16db87f583ec7f55f8028647b5fd8616111f.tar.bz2
[lldb] Let OptionValueRegex::Clear set to value to the default and not an empty regex
Since D75537 the test suite clears all settings before a test. This caused two tests to fail: lldb-api :: functionalities/inline-stepping/TestInlineStepping.py lldb-api :: lang/cpp/std-function-step-into-callable/TestStdFunctionStepIntoCallable.py The reason for that is that OptionValueRegex::Clear was setting the regex to empty instead of the default value that was passed initially. This caused that the target.process.thread.step-avoid-regexp setting which is used in the tests was set to "" instead of "^std::". This patch is just a quick fix that sets the regex back to the original value to make the tests pass. In total these 3 setting values have changed with D75537 and also need to be fixed (even though they don't seem to break any tests). target.process.thread.step-avoid-regexp (regex) -> from '^std::' to empty string platform.module-cache-directory (file) -> from "~/.lldb/module_cache" to empty string script-lang (enum) -> from 'default' to 'python'
-rw-r--r--lldb/include/lldb/Interpreter/OptionValueRegex.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/lldb/include/lldb/Interpreter/OptionValueRegex.h b/lldb/include/lldb/Interpreter/OptionValueRegex.h
index caeab69..b09b841 100644
--- a/lldb/include/lldb/Interpreter/OptionValueRegex.h
+++ b/lldb/include/lldb/Interpreter/OptionValueRegex.h
@@ -17,7 +17,8 @@ namespace lldb_private {
class OptionValueRegex : public OptionValue {
public:
OptionValueRegex(const char *value = nullptr)
- : OptionValue(), m_regex(llvm::StringRef::withNullAsEmpty(value)) {}
+ : OptionValue(), m_regex(llvm::StringRef::withNullAsEmpty(value)),
+ m_default_regex_str(llvm::StringRef::withNullAsEmpty(value).str()) {}
~OptionValueRegex() override = default;
@@ -36,7 +37,7 @@ public:
VarSetOperationType = eVarSetOperationAssign) = delete;
bool Clear() override {
- m_regex = RegularExpression();
+ m_regex = RegularExpression(m_default_regex_str);
m_value_was_set = false;
return true;
}
@@ -59,6 +60,7 @@ public:
protected:
RegularExpression m_regex;
+ std::string m_default_regex_str;
};
} // namespace lldb_private