mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-21 12:35:47 -04:00
38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
# 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)
|
|
|
|
# Test enabling/disabling stats
|
|
self.assertFalse(target.GetCollectingStats())
|
|
target.SetCollectingStats(True)
|
|
self.assertTrue(target.GetCollectingStats())
|
|
target.SetCollectingStats(False)
|
|
self.assertFalse(target.GetCollectingStats())
|
|
|
|
# Test the function to get the statistics in JSON'ish.
|
|
stats = target.GetStatistics()
|
|
stream = lldb.SBStream()
|
|
res = stats.GetAsJSON(stream)
|
|
stats_json = sorted(json.loads(stream.GetData()))
|
|
self.assertEqual(len(stats_json), 4)
|
|
self.assertTrue("Number of expr evaluation failures" in stats_json)
|
|
self.assertTrue("Number of expr evaluation successes" in stats_json)
|
|
self.assertTrue("Number of frame var failures" in stats_json)
|
|
self.assertTrue("Number of frame var successes" in stats_json)
|