[Lldb-commits] [lldb] r115579 - in /lldb/trunk/test: README-TestSuite attic/ attic/dotest.pl attic/tester.py dotest.pl tester.py
Johnny Chen
johnny.chen at apple.com
Mon Oct 4 17:08:09 PDT 2010
Author: johnny
Date: Mon Oct 4 19:08:08 2010
New Revision: 115579
URL: http://llvm.org/viewvc/llvm-project?rev=115579&view=rev
Log:
Move two files to the 'attic'.
Added:
lldb/trunk/test/attic/
lldb/trunk/test/attic/dotest.pl
- copied unchanged from r115570, lldb/trunk/test/dotest.pl
lldb/trunk/test/attic/tester.py
- copied unchanged from r115570, lldb/trunk/test/tester.py
Removed:
lldb/trunk/test/dotest.pl
lldb/trunk/test/tester.py
Modified:
lldb/trunk/test/README-TestSuite
Modified: lldb/trunk/test/README-TestSuite
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/README-TestSuite?rev=115579&r1=115578&r2=115579&view=diff
==============================================================================
--- lldb/trunk/test/README-TestSuite (original)
+++ lldb/trunk/test/README-TestSuite Mon Oct 4 19:08:08 2010
@@ -89,3 +89,4 @@
different way of running the whole test suite. As lldb and the Python test
suite become more reliable, we don't expect to be using 'dotest.pl' anymore.
+ Note: dotest.pl has been moved to the attic directory.
Removed: lldb/trunk/test/dotest.pl
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.pl?rev=115578&view=auto
==============================================================================
--- lldb/trunk/test/dotest.pl (original)
+++ lldb/trunk/test/dotest.pl (removed)
@@ -1,44 +0,0 @@
-#!/usr/bin/perl -w
-
-#
-# Use this script to visit each python test case under the specified directory
-# and invoke unittest.main() on each test case.
-#
-
-use strict;
-use FindBin;
-use File::Find;
-use File::Basename;
-use Cwd;
-use Cwd 'abs_path';
-
-scalar(@ARGV) == 1 or die "Usage: dotest.pl testdir";
-
-my $scriptDir = $FindBin::Bin;
-my $baseDir = abs_path("$scriptDir/..");
-my $pluginDir = "$baseDir/test/plugins";
-my $testDir = $ARGV[0];
-
-my $dbgPath = "$baseDir/build/Debug/LLDB.framework/Resources/Python";
-my $relPath = "$baseDir/build/Release/LLDB.framework/Resources/Python";
-if (-d $dbgPath) {
- $ENV{'PYTHONPATH'} = "$dbgPath:$scriptDir:$pluginDir";
-} elsif (-d $relPath) {
- $ENV{'PYTHONPATH'} = "$relPath:$scriptDir:$pluginDir";
-}
-#print("ENV{PYTHONPATH}=$ENV{'PYTHONPATH'}\n");
-
-# Traverse the directory to find our python test cases.
-find(\&handleFind, $testDir);
-
-sub handleFind {
- my $foundFile = $File::Find::name;
- my $dir = getcwd;
- #print("foundFile: $foundFile\n");
-
- # Test*.py is the naming pattern for our test cases.
- if ($foundFile =~ /.*\/(Test.*\.py)$/) {
- print("Running python $1 (cwd = $dir)...\n");
- system("python $1");
- }
-}
Removed: lldb/trunk/test/tester.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/tester.py?rev=115578&view=auto
==============================================================================
--- lldb/trunk/test/tester.py (original)
+++ lldb/trunk/test/tester.py (removed)
@@ -1,109 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf8 -*-
-
-import math, os.path, re, sys, time, 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,
- 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 == 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 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) + "] ",
- 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
-
-class SanityCheckTestCase(LLDBTestCase):
- def runTest(self):
- ret = self.runCommand("show arch", "show-arch")
- #print ret
-
-suite = unittest.TestLoader().loadTestsFromTestCase(SanityCheckTestCase)
-unittest.TextTestRunner(verbosity=2).run(suite)
-ExecutionTimes.executionTimes().dumpStats()
More information about the lldb-commits
mailing list