[Lldb-commits] [PATCH] Get test/types tests passing on remote targets
Vince Harron
vharron at google.com
Wed Jan 28 17:08:29 PST 2015
refactored process_launch_o into separate function
using os.path.join instead of string.format
using assertIsNotNone(
instead of assertNotEqual(None,
using lldb.remote_platform.GetWorkingDirectory()
instead of using lldb.remote_platform_working_dir
http://reviews.llvm.org/D7221
Files:
source/Commands/CommandObjectPlatform.cpp
test/types/AbstractBase.py
Index: source/Commands/CommandObjectPlatform.cpp
===================================================================
--- source/Commands/CommandObjectPlatform.cpp
+++ source/Commands/CommandObjectPlatform.cpp
@@ -2281,19 +2281,16 @@
LoadSubCommand ("connect", CommandObjectSP (new CommandObjectPlatformConnect (interpreter)));
LoadSubCommand ("disconnect", CommandObjectSP (new CommandObjectPlatformDisconnect (interpreter)));
LoadSubCommand ("settings", CommandObjectSP (new CommandObjectPlatformSettings (interpreter)));
-#ifdef LLDB_CONFIGURATION_DEBUG
LoadSubCommand ("mkdir", CommandObjectSP (new CommandObjectPlatformMkDir (interpreter)));
LoadSubCommand ("file", CommandObjectSP (new CommandObjectPlatformFile (interpreter)));
LoadSubCommand ("get-file", CommandObjectSP (new CommandObjectPlatformGetFile (interpreter)));
LoadSubCommand ("get-size", CommandObjectSP (new CommandObjectPlatformGetSize (interpreter)));
LoadSubCommand ("put-file", CommandObjectSP (new CommandObjectPlatformPutFile (interpreter)));
-#endif
LoadSubCommand ("process", CommandObjectSP (new CommandObjectPlatformProcess (interpreter)));
LoadSubCommand ("shell", CommandObjectSP (new CommandObjectPlatformShell (interpreter)));
LoadSubCommand ("target-install", CommandObjectSP (new CommandObjectPlatformInstall (interpreter)));
}
-
//----------------------------------------------------------------------
// Destructor
//----------------------------------------------------------------------
Index: test/types/AbstractBase.py
===================================================================
--- test/types/AbstractBase.py
+++ test/types/AbstractBase.py
@@ -50,7 +50,7 @@
# True: build dSYM file #
# False: build DWARF map #
# bc -> blockCaptured (defaulted to False) #
- # True: testing vars of various basic types from isnide a block #
+ # True: testing vars of various basic types from inside a block #
# False: testing vars of various basic types from a function #
# qd -> quotedDisplay (defaulted to False) #
# True: the output from 'frame var' or 'expr var' contains a pair #
@@ -81,14 +81,29 @@
else:
self.generic_type_tester(self.exe_name, atoms, blockCaptured=bc, quotedDisplay=qd)
+ def process_launch_o(self, localPath):
+ # process launch command output redirect always goes to host the process is running on
+ if lldb.remote_platform:
+ # process launch -o requires a path that is valid on the target
+ self.assertIsNotNone(lldb.remote_platform.GetWorkingDirectory())
+ remote_path = os.path.join(lldb.remote_platform.GetWorkingDirectory(), "lldb-stdout-redirect.txt")
+ self.runCmd('process launch -o {remote}'.format(remote=remote_path))
+ # copy remote_path to local host
+ self.runCmd('platform get-file {remote} "{local}"'.format(
+ remote=remote_path, local=self.golden_filename))
+ else:
+ self.runCmd('process launch -o "{local}"'.format(local=self.golden_filename))
+
def generic_type_tester(self, exe_name, atoms, quotedDisplay=False, blockCaptured=False):
"""Test that variables with basic types are displayed correctly."""
self.runCmd("file %s" % exe_name, CURRENT_EXECUTABLE_SET)
# First, capture the golden output emitted by the oracle, i.e., the
# series of printf statements.
- self.runCmd('process launch -o "%s"'%(self.golden_filename))
+
+ self.process_launch_o(self.golden_filename)
+
with open(self.golden_filename) as f:
go = f.read()
@@ -169,7 +184,9 @@
# First, capture the golden output emitted by the oracle, i.e., the
# series of printf statements.
- self.runCmd('process launch -o "%s"'%(self.golden_filename))
+
+ self.process_launch_o(self.golden_filename)
+
with open(self.golden_filename) as f:
go = f.read()
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7221.18932.patch
Type: text/x-patch
Size: 4228 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150129/e811f155/attachment.bin>
More information about the lldb-commits
mailing list