From 5d76b1b56e1578a7a2d8dbd61ab3f74e7fce2f47 Mon Sep 17 00:00:00 2001 From: Chaoren Lin Date: Sat, 6 Jun 2015 00:25:50 +0000 Subject: [PATCH] Fix TestAttachDenied and TestChangeProcessGroup for remote Windows to Android. Summary: Updated `append_to_remote_wd` to work for both remote and local. Reviewers: clayborg, ovyalov Reviewed By: ovyalov Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10288 llvm-svn: 239203 --- .../process_attach/attach_denied/TestAttachDenied.py | 4 ++-- .../process_group/TestChangeProcessGroup.py | 4 ++-- lldb/test/lldbtest.py | 4 ++-- lldb/test/lldbutil.py | 7 +++++-- lldb/test/python_api/target/TestTargetAPI.py | 2 +- lldb/test/tools/lldb-server/TestLldbGdbServer.py | 2 +- lldb/test/tools/lldb-server/gdbremote_testcase.py | 2 +- lldb/test/types/AbstractBase.py | 2 +- 8 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lldb/test/functionalities/process_attach/attach_denied/TestAttachDenied.py b/lldb/test/functionalities/process_attach/attach_denied/TestAttachDenied.py index af697eb65407..b5ea4b709262 100644 --- a/lldb/test/functionalities/process_attach/attach_denied/TestAttachDenied.py +++ b/lldb/test/functionalities/process_attach/attach_denied/TestAttachDenied.py @@ -28,8 +28,8 @@ class AttachDeniedTestCase(TestBase): exe = os.path.join(os.getcwd(), exe_name) # Use a file as a synchronization point between test and inferior. - pid_file_path = os.path.join(self.get_process_working_directory(), - "pid_file_%d" % (int(time.time()))) + pid_file_path = lldbutil.append_to_process_working_directory( + "pid_file_%d" % (int(time.time()))) self.addTearDownHook(lambda: self.run_platform_command("rm %s" % (pid_file_path))) # Spawn a new process diff --git a/lldb/test/functionalities/process_group/TestChangeProcessGroup.py b/lldb/test/functionalities/process_group/TestChangeProcessGroup.py index 5fc44da96b7e..8d2c49d46bd7 100644 --- a/lldb/test/functionalities/process_group/TestChangeProcessGroup.py +++ b/lldb/test/functionalities/process_group/TestChangeProcessGroup.py @@ -42,8 +42,8 @@ class ChangeProcessGroupTestCase(TestBase): exe = os.path.join(os.getcwd(), 'a.out') # Use a file as a synchronization point between test and inferior. - pid_file_path = os.path.join(self.get_process_working_directory(), - "pid_file_%d" % (int(time.time()))) + pid_file_path = lldbutil.append_to_process_working_directory( + "pid_file_%d" % (int(time.time()))) self.addTearDownHook(lambda: self.run_platform_command("rm %s" % (pid_file_path))) popen = self.spawnSubprocess(exe, [pid_file_path]) diff --git a/lldb/test/lldbtest.py b/lldb/test/lldbtest.py index f6ba3de1a450..281031889fde 100644 --- a/lldb/test/lldbtest.py +++ b/lldb/test/lldbtest.py @@ -329,7 +329,7 @@ class _RemoteProcess(_BaseProcess): def launch(self, executable, args): if self._install_remote: src_path = executable - dst_path = lldbutil.append_to_remote_wd(os.path.basename(executable)) + dst_path = lldbutil.append_to_process_working_directory(os.path.basename(executable)) dst_file_spec = lldb.SBFileSpec(dst_path, False) err = lldb.remote_platform.Install(lldb.SBFileSpec(src_path, True), dst_file_spec) @@ -2196,7 +2196,7 @@ class TestBase(Base): if lldb.remote_platform: # We must set the remote install location if we want the shared library # to get uploaded to the remote target - remote_shlib_path = lldbutil.append_to_remote_wd(os.path.basename(local_shlib_path)) + remote_shlib_path = lldbutil.append_to_process_working_directory(os.path.basename(local_shlib_path)) shlib_module.SetRemoteInstallFileSpec(lldb.SBFileSpec(remote_shlib_path, False)) return environment diff --git a/lldb/test/lldbutil.py b/lldb/test/lldbutil.py index 2a7de0a707a9..8577fd011e41 100644 --- a/lldb/test/lldbutil.py +++ b/lldb/test/lldbutil.py @@ -920,8 +920,11 @@ def join_remote_paths(*paths): return os.path.join(*paths).replace(os.path.sep, '\\') return os.path.join(*paths).replace(os.path.sep, '/') -def append_to_remote_wd(*paths): - return join_remote_paths(lldb.remote_platform.GetWorkingDirectory(), *paths) +def append_to_process_working_directory(*paths): + remote = lldb.remote_platform + if remote: + return join_remote_paths(remote.GetWorkingDirectory(), *paths) + return os.path.join(os.getcwd(), *paths) # ================================================== # Utility functions to get the correct signal number diff --git a/lldb/test/python_api/target/TestTargetAPI.py b/lldb/test/python_api/target/TestTargetAPI.py index 0dcafcef6226..22909adfbef6 100644 --- a/lldb/test/python_api/target/TestTargetAPI.py +++ b/lldb/test/python_api/target/TestTargetAPI.py @@ -375,7 +375,7 @@ class TargetAPITestCase(TestBase): # The inferior should run to completion after "process.Continue()" call. local_path = "stdout.txt"; if lldb.remote_platform: - stdout_path = lldbutil.append_to_remote_wd("lldb-stdout-redirect.txt") + stdout_path = lldbutil.append_to_process_working_directory("lldb-stdout-redirect.txt") else: stdout_path = local_path error = lldb.SBError() diff --git a/lldb/test/tools/lldb-server/TestLldbGdbServer.py b/lldb/test/tools/lldb-server/TestLldbGdbServer.py index f2063727b9f9..03dcc84b6148 100644 --- a/lldb/test/tools/lldb-server/TestLldbGdbServer.py +++ b/lldb/test/tools/lldb-server/TestLldbGdbServer.py @@ -95,7 +95,7 @@ class LldbGdbServerTestCase(gdbremote_testcase.GdbRemoteTestCaseBase): exe_path = os.path.abspath('a.out') if not lldb.remote_platform: return [exe_path] - remote_path = lldbutil.append_to_remote_wd(os.path.basename(exe_path)) + remote_path = lldbutil.append_to_process_working_directory(os.path.basename(exe_path)) remote_file_spec = lldb.SBFileSpec(remote_path, False) err = lldb.remote_platform.Install(lldb.SBFileSpec(exe_path, True), remote_file_spec) if err.Fail(): diff --git a/lldb/test/tools/lldb-server/gdbremote_testcase.py b/lldb/test/tools/lldb-server/gdbremote_testcase.py index ed45845090a5..c81dd101319a 100644 --- a/lldb/test/tools/lldb-server/gdbremote_testcase.py +++ b/lldb/test/tools/lldb-server/gdbremote_testcase.py @@ -395,7 +395,7 @@ class GdbRemoteTestCaseBase(TestBase): inferior_exe_path = os.path.abspath("a.out") if lldb.remote_platform: - remote_path = lldbutil.append_to_remote_wd(os.path.basename(inferior_exe_path)) + remote_path = lldbutil.append_to_process_working_directory(os.path.basename(inferior_exe_path)) remote_file_spec = lldb.SBFileSpec(remote_path, False) err = lldb.remote_platform.Install(lldb.SBFileSpec(inferior_exe_path, True), remote_file_spec) if err.Fail(): diff --git a/lldb/test/types/AbstractBase.py b/lldb/test/types/AbstractBase.py index d1ad04648833..87ff38b3d91e 100644 --- a/lldb/test/types/AbstractBase.py +++ b/lldb/test/types/AbstractBase.py @@ -86,7 +86,7 @@ class GenericTester(TestBase): if lldb.remote_platform: # process launch -o requires a path that is valid on the target self.assertIsNotNone(lldb.remote_platform.GetWorkingDirectory()) - remote_path = lldbutil.append_to_remote_wd("lldb-stdout-redirect.txt") + remote_path = lldbutil.append_to_process_working_directory("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(