summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/commands/gui/invalid-args/TestInvalidArgsGui.py4
-rw-r--r--lldb/packages/Python/lldbsuite/test/decorators.py15
-rw-r--r--lldb/source/API/SBDebugger.cpp7
4 files changed, 19 insertions, 8 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py b/lldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py
index 7edddf3ff97..89bd3e1109e 100644
--- a/lldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py
+++ b/lldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py
@@ -11,6 +11,7 @@ class BasicGuiCommandTest(PExpectTest):
mydir = TestBase.compute_mydir(__file__)
+ @skipIfCursesSupportMissing
def test_gui(self):
self.build()
diff --git a/lldb/packages/Python/lldbsuite/test/commands/gui/invalid-args/TestInvalidArgsGui.py b/lldb/packages/Python/lldbsuite/test/commands/gui/invalid-args/TestInvalidArgsGui.py
index 92ead9f4fa7..11fdc92243b 100644
--- a/lldb/packages/Python/lldbsuite/test/commands/gui/invalid-args/TestInvalidArgsGui.py
+++ b/lldb/packages/Python/lldbsuite/test/commands/gui/invalid-args/TestInvalidArgsGui.py
@@ -6,10 +6,8 @@ class GuiTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
- def setUp(self):
- TestBase.setUp(self)
-
@no_debug_info_test
+ @skipIfCursesSupportMissing
def test_reproducer_generate_invalid_invocation(self):
self.expect("gui blub", error=True,
substrs=["the gui command takes no arguments."])
diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py
index fd0aecfef50..17b97d572bd 100644
--- a/lldb/packages/Python/lldbsuite/test/decorators.py
+++ b/lldb/packages/Python/lldbsuite/test/decorators.py
@@ -783,13 +783,18 @@ def skipUnlessAddressSanitizer(func):
return None
return skipTestIfFn(is_compiler_with_address_sanitizer)(func)
-def skipIfXmlSupportMissing(func):
+def _get_bool_config_skip_if_decorator(key):
config = lldb.SBDebugger.GetBuildConfiguration()
- xml = config.GetValueForKey("xml")
-
+ value_node = config.GetValueForKey(key)
fail_value = True # More likely to notice if something goes wrong
- have_xml = xml.GetValueForKey("value").GetBooleanValue(fail_value)
- return unittest2.skipIf(not have_xml, "requires xml support")(func)
+ have = value_node.GetValueForKey("value").GetBooleanValue(fail_value)
+ return unittest2.skipIf(not have, "requires " + key)
+
+def skipIfCursesSupportMissing(func):
+ return _get_bool_config_skip_if_decorator("curses")(func)
+
+def skipIfXmlSupportMissing(func):
+ return _get_bool_config_skip_if_decorator("xml")(func)
def skipIfLLVMTargetMissing(target):
config = lldb.SBDebugger.GetBuildConfiguration()
diff --git a/lldb/source/API/SBDebugger.cpp b/lldb/source/API/SBDebugger.cpp
index f5da4677b4e..7e6f8d2c6e9 100644
--- a/lldb/source/API/SBDebugger.cpp
+++ b/lldb/source/API/SBDebugger.cpp
@@ -624,6 +624,13 @@ SBStructuredData SBDebugger::GetBuildConfiguration() {
AddBoolConfigEntry(
*config_up, "xml", XMLDocument::XMLEnabled(),
"A boolean value that indicates if XML support is enabled in LLDB");
+ bool have_curses = true;
+#ifdef LLDB_DISABLE_CURSES
+ have_curses = false;
+#endif
+ AddBoolConfigEntry(
+ *config_up, "curses", have_curses,
+ "A boolean value that indicates if curses support is enabled in LLDB");
AddLLVMTargets(*config_up);
SBStructuredData data;
OpenPOWER on IntegriCloud