[Lldb-commits] [lldb] b54a50f - [lldb/Reproducers] Extract function for reading environment override (NFC)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Wed Jan 15 19:15:32 PST 2020
Author: Jonas Devlieghere
Date: 2020-01-15T19:14:28-08:00
New Revision: b54a50f52e9427f250c192a8618b881732e5d7a4
URL: https://github.com/llvm/llvm-project/commit/b54a50f52e9427f250c192a8618b881732e5d7a4
DIFF: https://github.com/llvm/llvm-project/commit/b54a50f52e9427f250c192a8618b881732e5d7a4.diff
LOG: [lldb/Reproducers] Extract function for reading environment override (NFC)
Create a helper function for reading reproducer overrides from
environment variables.
Added:
Modified:
lldb/source/Utility/Reproducer.cpp
Removed:
################################################################################
diff --git a/lldb/source/Utility/Reproducer.cpp b/lldb/source/Utility/Reproducer.cpp
index b11e1a577ed2..e243d784d185 100644
--- a/lldb/source/Utility/Reproducer.cpp
+++ b/lldb/source/Utility/Reproducer.cpp
@@ -18,6 +18,15 @@ using namespace lldb_private::repro;
using namespace llvm;
using namespace llvm::yaml;
+static llvm::Optional<bool> GetEnv(const char *var) {
+ std::string val = llvm::StringRef(getenv(var)).lower();
+ if (val == "0" || val == "off")
+ return false;
+ if (val == "1" || val == "on")
+ return true;
+ return {};
+}
+
Reproducer &Reproducer::Instance() { return *InstanceImpl(); }
llvm::Error Reproducer::Initialize(ReproducerMode mode,
@@ -27,12 +36,12 @@ llvm::Error Reproducer::Initialize(ReproducerMode mode,
// The environment can override the capture mode.
if (mode != ReproducerMode::Replay) {
- std::string env =
- llvm::StringRef(getenv("LLDB_CAPTURE_REPRODUCER")).lower();
- if (env == "0" || env == "off")
- mode = ReproducerMode::Off;
- else if (env == "1" || env == "on")
- mode = ReproducerMode::Capture;
+ if (llvm::Optional<bool> override = GetEnv("LLDB_CAPTURE_REPRODUCER")) {
+ if (*override)
+ mode = ReproducerMode::Capture;
+ else
+ mode = ReproducerMode::Off;
+ }
}
switch (mode) {
More information about the lldb-commits
mailing list