diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2019-08-20 18:01:57 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2019-08-20 18:01:57 +0000 | 
| commit | 88c643b6fec27eec436c8d138fee6346e92337d6 (patch) | |
| tree | 82cd13b2f3cde1c9e5f79689ba4e6ba67694843f /packages/Python/lldbsuite/test/benchmarks/expression | |
| parent | 94994d372d014ce4c8758b9605d63fae651bd8aa (diff) | |
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/benchmarks/expression')
4 files changed, 0 insertions, 280 deletions
diff --git a/packages/Python/lldbsuite/test/benchmarks/expression/Makefile b/packages/Python/lldbsuite/test/benchmarks/expression/Makefile deleted file mode 100644 index 8a7102e347af..000000000000 --- a/packages/Python/lldbsuite/test/benchmarks/expression/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -LEVEL = ../../make - -CXX_SOURCES := main.cpp - -include $(LEVEL)/Makefile.rules diff --git a/packages/Python/lldbsuite/test/benchmarks/expression/TestExpressionCmd.py b/packages/Python/lldbsuite/test/benchmarks/expression/TestExpressionCmd.py deleted file mode 100644 index 064e7b3f5209..000000000000 --- a/packages/Python/lldbsuite/test/benchmarks/expression/TestExpressionCmd.py +++ /dev/null @@ -1,83 +0,0 @@ -"""Test lldb's expression evaluations and collect statistics.""" - -from __future__ import print_function - - -import os -import sys -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbbench import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import configuration -from lldbsuite.test import lldbutil - - -class ExpressionEvaluationCase(BenchBase): - -    mydir = TestBase.compute_mydir(__file__) - -    def setUp(self): -        BenchBase.setUp(self) -        self.source = 'main.cpp' -        self.line_to_break = line_number( -            self.source, '// Set breakpoint here.') -        self.count = 25 - -    @benchmarks_test -    @expectedFailureAll( -        oslist=["windows"], -        bugnumber="llvm.org/pr22274: need a pexpect replacement for windows") -    def test_expr_cmd(self): -        """Test lldb's expression commands and collect statistics.""" -        self.build() -        self.exe_name = 'a.out' - -        print() -        self.run_lldb_repeated_exprs(self.exe_name, self.count) -        print("lldb expr cmd benchmark:", self.stopwatch) - -    def run_lldb_repeated_exprs(self, exe_name, count): -        import pexpect -        exe = self.getBuildArtifact(exe_name) - -        # Set self.child_prompt, which is "(lldb) ". -        self.child_prompt = '(lldb) ' -        prompt = self.child_prompt - -        # Reset the stopwatch now. -        self.stopwatch.reset() -        for i in range(count): -            # So that the child gets torn down after the test. -            self.child = pexpect.spawn( -                '%s %s %s' % -                (lldbtest_config.lldbExec, self.lldbOption, exe)) -            child = self.child - -            # Turn on logging for what the child sends back. -            if self.TraceOn(): -                child.logfile_read = sys.stdout - -            child.expect_exact(prompt) -            child.sendline( -                'breakpoint set -f %s -l %d' % -                (self.source, self.line_to_break)) -            child.expect_exact(prompt) -            child.sendline('run') -            child.expect_exact(prompt) -            expr_cmd1 = 'expr ptr[j]->point.x' -            expr_cmd2 = 'expr ptr[j]->point.y' - -            with self.stopwatch: -                child.sendline(expr_cmd1) -                child.expect_exact(prompt) -                child.sendline(expr_cmd2) -                child.expect_exact(prompt) - -            child.sendline('quit') -            try: -                self.child.expect(pexpect.EOF) -            except: -                pass - -        self.child = None diff --git a/packages/Python/lldbsuite/test/benchmarks/expression/TestRepeatedExprs.py b/packages/Python/lldbsuite/test/benchmarks/expression/TestRepeatedExprs.py deleted file mode 100644 index dcbd36cc1387..000000000000 --- a/packages/Python/lldbsuite/test/benchmarks/expression/TestRepeatedExprs.py +++ /dev/null @@ -1,141 +0,0 @@ -"""Test evaluating expressions repeatedly comparing lldb against gdb.""" - -from __future__ import print_function - - -import os -import sys -import lldb -from lldbsuite.test.lldbbench import BenchBase -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import configuration -from lldbsuite.test import lldbutil - - -class RepeatedExprsCase(BenchBase): - -    mydir = TestBase.compute_mydir(__file__) - -    def setUp(self): -        BenchBase.setUp(self) -        self.source = 'main.cpp' -        self.line_to_break = line_number( -            self.source, '// Set breakpoint here.') -        self.lldb_avg = None -        self.gdb_avg = None -        self.count = 100 - -    @benchmarks_test -    @expectedFailureAll( -        oslist=["windows"], -        bugnumber="llvm.org/pr22274: need a pexpect replacement for windows") -    def test_compare_lldb_to_gdb(self): -        """Test repeated expressions with lldb vs. gdb.""" -        self.build() -        self.exe_name = 'a.out' - -        print() -        self.run_lldb_repeated_exprs(self.exe_name, self.count) -        print("lldb benchmark:", self.stopwatch) -        self.run_gdb_repeated_exprs(self.exe_name, self.count) -        print("gdb benchmark:", self.stopwatch) -        print("lldb_avg/gdb_avg: %f" % (self.lldb_avg / self.gdb_avg)) - -    def run_lldb_repeated_exprs(self, exe_name, count): -        import pexpect -        exe = self.getBuildArtifact(exe_name) - -        # Set self.child_prompt, which is "(lldb) ". -        self.child_prompt = '(lldb) ' -        prompt = self.child_prompt - -        # So that the child gets torn down after the test. -        self.child = pexpect.spawn( -            '%s %s %s' % -            (lldbtest_config.lldbExec, self.lldbOption, exe)) -        child = self.child - -        # Turn on logging for what the child sends back. -        if self.TraceOn(): -            child.logfile_read = sys.stdout - -        child.expect_exact(prompt) -        child.sendline( -            'breakpoint set -f %s -l %d' % -            (self.source, self.line_to_break)) -        child.expect_exact(prompt) -        child.sendline('run') -        child.expect_exact(prompt) -        expr_cmd1 = 'expr ptr[j]->point.x' -        expr_cmd2 = 'expr ptr[j]->point.y' - -        # Reset the stopwatch now. -        self.stopwatch.reset() -        for i in range(count): -            with self.stopwatch: -                child.sendline(expr_cmd1) -                child.expect_exact(prompt) -                child.sendline(expr_cmd2) -                child.expect_exact(prompt) -            child.sendline('process continue') -            child.expect_exact(prompt) - -        child.sendline('quit') -        try: -            self.child.expect(pexpect.EOF) -        except: -            pass - -        self.lldb_avg = self.stopwatch.avg() -        if self.TraceOn(): -            print("lldb expression benchmark:", str(self.stopwatch)) -        self.child = None - -    def run_gdb_repeated_exprs(self, exe_name, count): -        import pexpect -        exe = self.getBuildArtifact(exe_name) - -        # Set self.child_prompt, which is "(gdb) ". -        self.child_prompt = '(gdb) ' -        prompt = self.child_prompt - -        # So that the child gets torn down after the test. -        self.child = pexpect.spawn('gdb --nx %s' % exe) -        child = self.child - -        # Turn on logging for what the child sends back. -        if self.TraceOn(): -            child.logfile_read = sys.stdout - -        child.expect_exact(prompt) -        child.sendline('break %s:%d' % (self.source, self.line_to_break)) -        child.expect_exact(prompt) -        child.sendline('run') -        child.expect_exact(prompt) -        expr_cmd1 = 'print ptr[j]->point.x' -        expr_cmd2 = 'print ptr[j]->point.y' - -        # Reset the stopwatch now. -        self.stopwatch.reset() -        for i in range(count): -            with self.stopwatch: -                child.sendline(expr_cmd1) -                child.expect_exact(prompt) -                child.sendline(expr_cmd2) -                child.expect_exact(prompt) -            child.sendline('continue') -            child.expect_exact(prompt) - -        child.sendline('quit') -        child.expect_exact('The program is running.  Exit anyway?') -        child.sendline('y') -        try: -            self.child.expect(pexpect.EOF) -        except: -            pass - -        self.gdb_avg = self.stopwatch.avg() -        if self.TraceOn(): -            print("gdb expression benchmark:", str(self.stopwatch)) -        self.child = None diff --git a/packages/Python/lldbsuite/test/benchmarks/expression/main.cpp b/packages/Python/lldbsuite/test/benchmarks/expression/main.cpp deleted file mode 100644 index 8f2706e26388..000000000000 --- a/packages/Python/lldbsuite/test/benchmarks/expression/main.cpp +++ /dev/null @@ -1,51 +0,0 @@ -//===-- main.cpp ------------------------------------------------*- C++ -*-===// -// -//                     The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -#include <stdio.h> - -class Point { -public: -    int x; -    int y; -    Point(int a, int b): -        x(a), -        y(b) -    {} -}; - -class Data { -public: -    int id; -    Point point; -    Data(int i): -        id(i), -        point(0, 0) -    {} -}; - -int main(int argc, char const *argv[]) { -    Data *data[1000]; -    Data **ptr = data; -    for (int i = 0; i < 1000; ++i) { -        ptr[i] = new Data(i); -        ptr[i]->point.x = i; -        ptr[i]->point.y = i+1; -    } - -    printf("Finished populating data.\n"); -    for (int j = 0; j < 1000; ++j) { -        bool dump = argc > 1; // Set breakpoint here. -                              // Evaluate a couple of expressions (2*1000 = 2000 exprs): -                              // expr ptr[j]->point.x -                              // expr ptr[j]->point.y -        if (dump) { -            printf("data[%d] = %d (%d, %d)\n", j, ptr[j]->id, ptr[j]->point.x, ptr[j]->point.y); -        } -    } -    return 0; -}  | 
