From 4a6a2b1ce313f0901c8c1e03a8c62fa0f7f526d8 Mon Sep 17 00:00:00 2001 From: Davide Italiano Date: Mon, 16 Apr 2018 22:55:34 +0000 Subject: [Commands] Expose statistics through the SBAPI. The API is `SBStructuredData GetStatistics()`. This allows the command to be used in scripts. llvm-svn: 330165 --- .../test/functionalities/stats_api/Makefile | 3 +++ .../functionalities/stats_api/TestStatisticsAPI.py | 28 ++++++++++++++++++++++ .../test/functionalities/stats_api/main.c | 3 +++ 3 files changed, 34 insertions(+) create mode 100644 lldb/packages/Python/lldbsuite/test/functionalities/stats_api/Makefile create mode 100644 lldb/packages/Python/lldbsuite/test/functionalities/stats_api/TestStatisticsAPI.py create mode 100644 lldb/packages/Python/lldbsuite/test/functionalities/stats_api/main.c (limited to 'lldb/packages/Python/lldbsuite/test') diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/stats_api/Makefile b/lldb/packages/Python/lldbsuite/test/functionalities/stats_api/Makefile new file mode 100644 index 00000000000..f5a47fcc46c --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/stats_api/Makefile @@ -0,0 +1,3 @@ +LEVEL = ../../make +C_SOURCES := main.c +include $(LEVEL)/Makefile.rules diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/stats_api/TestStatisticsAPI.py b/lldb/packages/Python/lldbsuite/test/functionalities/stats_api/TestStatisticsAPI.py new file mode 100644 index 00000000000..e3e1cba3aec --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/stats_api/TestStatisticsAPI.py @@ -0,0 +1,28 @@ +# Test the SBAPI for GetStatistics() + +import json +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + + +class TestStatsAPI(TestBase): + mydir = TestBase.compute_mydir(__file__) + + def setUp(self): + TestBase.setUp(self) + + def test_stats_api(self): + self.build() + exe = self.getBuildArtifact("a.out") + target = self.dbg.CreateTarget(exe) + stats = target.GetStatistics() + stream = lldb.SBStream() + res = stats.GetAsJSON(stream) + stats_json = sorted(json.loads(stream.GetData())) + self.assertEqual(len(stats_json), 4) + self.assertEqual(stats_json[0], "Number of expr evaluation failures") + self.assertEqual(stats_json[1], "Number of expr evaluation successes") + self.assertEqual(stats_json[2], "Number of frame var failures") + self.assertEqual(stats_json[3], "Number of frame var successes") diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/stats_api/main.c b/lldb/packages/Python/lldbsuite/test/functionalities/stats_api/main.c new file mode 100644 index 00000000000..03b2213bb9a --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/stats_api/main.c @@ -0,0 +1,3 @@ +int main(void) { + return 0; +} -- cgit v1.2.3