teak-llvm/lldb/packages/Python/lldbsuite/test/functionalities/command_source/TestCommandSource.py
Zachary Turner c432c8f856 Move lldb/test to lldb/packages/Python/lldbsuite/test.
This is the conclusion of an effort to get LLDB's Python code
structured into a bona-fide Python package.  This has a number
of benefits, but most notably the ability to more easily share
Python code between different but related pieces of LLDB's Python
infrastructure (for example, `scripts` can now share code with
`test`).

llvm-svn: 251532
2015-10-28 17:43:26 +00:00

37 lines
1.1 KiB
Python

"""
Test that lldb command "command source" works correctly.
See also http://llvm.org/viewvc/llvm-project?view=rev&revision=109673.
"""
from __future__ import print_function
import use_lldb_suite
import os, sys
import lldb
from lldbtest import *
class CommandSourceTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@no_debug_info_test
def test_command_source(self):
"""Test that lldb command "command source" works correctly."""
# Sourcing .lldb in the current working directory, which in turn imports
# the "my" package that defines the date() function.
self.runCmd("command source .lldb")
# Python should evaluate "my.date()" successfully.
command_interpreter = self.dbg.GetCommandInterpreter()
self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)
result = lldb.SBCommandReturnObject()
command_interpreter.HandleCommand("script my.date()", result)
import datetime
self.expect(result.GetOutput(), "script my.date() runs successfully",
exe=False,
substrs = [str(datetime.date.today())])