diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/attic/tester.py')
| -rw-r--r-- | packages/Python/lldbsuite/test/attic/tester.py | 149 | 
1 files changed, 0 insertions, 149 deletions
diff --git a/packages/Python/lldbsuite/test/attic/tester.py b/packages/Python/lldbsuite/test/attic/tester.py deleted file mode 100644 index 2e783512369d4..0000000000000 --- a/packages/Python/lldbsuite/test/attic/tester.py +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf8 -*- - -from __future__ import print_function - -import math -import os.path -import re -import sys -import time -import unittest - - -def setupSysPath(): -    testPath = sys.path[0] -    rem = re.match("(^.*/)test$", testPath) -    if not rem: -        print("This script expects to reside in .../test.") -        sys.exit(-1) -    lldbBasePath = rem.group(1) -    lldbDebugPythonPath = "build/Debug/LLDB.framework/Resources/Python" -    lldbReleasePythonPath = "build/Release/LLDB.framework/Resources/Python" -    lldbPythonPath = None -    if os.path.isfile(lldbDebugPythonPath + "/lldb.py"): -        lldbPythonPath = lldbDebugPythonPath -    if os.path.isfile(lldbReleasePythonPath + "/lldb.py"): -        lldbPythonPath = lldbReleasePythonPath -    if not lldbPythonPath: -        print( -            "This script requires lldb.py to be in either " + -            lldbDebugPythonPath, -            end='') -        print("or" + lldbReleasePythonPath) -        sys.exit(-1) -    sys.path.append(lldbPythonPath) - - -def prettyTime(t): -    if t == 0.0: -        return "0s" -    if t < 0.000001: -        return ("%.3f" % (t * 1000000000.0)) + "ns" -    if t < 0.001: -        return ("%.3f" % (t * 1000000.0)) + "µs" -    if t < 1: -        return ("%.3f" % (t * 1000.0)) + "ms" -    return str(t) + "s" - - -class ExecutionTimes: - -    @classmethod -    def executionTimes(cls): -        if cls.m_executionTimes is None: -            cls.m_executionTimes = ExecutionTimes() -            for i in range(100): -                cls.m_executionTimes.start() -                cls.m_executionTimes.end("null") -        return cls.m_executionTimes - -    def __init__(self): -        self.m_times = dict() - -    def start(self): -        self.m_start = time.time() - -    def end(self, component): -        e = time.time() -        if component not in self.m_times: -            self.m_times[component] = list() -        self.m_times[component].append(e - self.m_start) - -    def dumpStats(self): -        for key in list(self.m_times.keys()): -            if len(self.m_times[key]): -                sampleMin = float('inf') -                sampleMax = float('-inf') -                sampleSum = 0.0 -                sampleCount = 0.0 -                for time in self.m_times[key]: -                    if time > sampleMax: -                        sampleMax = time -                    if time < sampleMin: -                        sampleMin = time -                    sampleSum += time -                    sampleCount += 1.0 -                sampleMean = sampleSum / sampleCount -                sampleVariance = 0 -                for time in self.m_times[key]: -                    sampleVariance += (time - sampleMean) ** 2 -                sampleVariance /= sampleCount -                sampleStandardDeviation = math.sqrt(sampleVariance) -                print( -                    key + -                    ": [" + -                    prettyTime(sampleMin) + -                    ", " + -                    prettyTime(sampleMax) + -                    "] ", -                    end='') -                print( -                    "µ " + -                    prettyTime(sampleMean) + -                    ", σ " + -                    prettyTime(sampleStandardDeviation)) -    m_executionTimes = None - -setupSysPath() - -import lldb - - -class LLDBTestCase(unittest.TestCase): - -    def setUp(self): -        debugger = lldb.SBDebugger.Create() -        debugger.SetAsync(True) -        self.m_commandInterpreter = debugger.GetCommandInterpreter() -        if not self.m_commandInterpreter: -            print("Couldn't get the command interpreter") -            sys.exit(-1) - -    def runCommand(self, command, component): -        res = lldb.SBCommandReturnObject() -        ExecutionTimes.executionTimes().start() -        self.m_commandInterpreter.HandleCommand(command, res, False) -        ExecutionTimes.executionTimes().end(component) -        if res.Succeeded(): -            return res.GetOutput() -        else: -            self.fail("Command " + command + " returned an error") -            return None - -    def getCategories(self): -        return [] - - -class SanityCheckTestCase(LLDBTestCase): - -    def runTest(self): -        ret = self.runCommand("show arch", "show-arch") -        # print(ret) - -    def getCategories(self): -        return [] - -suite = unittest.TestLoader().loadTestsFromTestCase(SanityCheckTestCase) -unittest.TextTestRunner(verbosity=2).run(suite) -ExecutionTimes.executionTimes().dumpStats()  | 
