From 182a8083c1e26577dfc52e78dbd95d221daed20d Mon Sep 17 00:00:00 2001 From: Jason Molenda Date: Thu, 21 Sep 2017 23:00:19 +0000 Subject: Initial patchset to get the testsuite running against armv7 and arm64 iOS devices. Normal customer devices won't be able to run these devices, we're hoping to get a public facing bot set up at some point. There will be some smaller follow-on patches. The changes to tools/lldb-server are verbose and I'm not thrilled with having to skip all of these tests manually. There are a few places where I'm making the assumption that "armv7", "armv7k", "arm64" means it's an ios device, and I need to review & clean these up with an OS check as well. (Android will show up as "arm" and "aarch64" so by pure luck they shouldn't cause problems, but it's not an assumption I want to rely on). I'll be watching the bots for the rest of today; if any problems are introduced by this patch I'll revert it - if anyone sees a problem with their bot that I don't see, please do the same. I know it's a rather large patch. One change I had to make specifically for iOS devices was that debugserver can't create files. There were several tests that launch the inferior process redirecting its output to a file, then they retrieve the file. They were not trying to test file redirection in these tests, so I rewrote those to write their output to a file directly. llvm-svn: 313932 --- .../test/functionalities/load_unload/TestLoadUnload.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py') diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py b/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py index 027968a727f..8e548e11658 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py @@ -56,10 +56,14 @@ class LoadUnloadTestCase(TestBase): Does nothing in case of non-remote platforms. """ if lldb.remote_platform: - cwd = os.getcwd() - shlibs = ['libloadunload_a.so', 'libloadunload_b.so', - 'libloadunload_c.so', 'libloadunload_d.so'] + ext = 'so' + if self.platformIsDarwin(): + ext = 'dylib' + + shlibs = ['libloadunload_a.' + ext, 'libloadunload_b.' + ext, + 'libloadunload_c.' + ext, 'libloadunload_d.' + ext] wd = lldb.remote_platform.GetWorkingDirectory() + cwd = os.getcwd() for f in shlibs: err = lldb.remote_platform.Put( lldb.SBFileSpec(os.path.join(cwd, f)), @@ -69,7 +73,7 @@ class LoadUnloadTestCase(TestBase): "Unable copy '%s' to '%s'.\n>>> %s" % (f, wd, err.GetCString())) if hidden_dir: - shlib = 'libloadunload_d.so' + shlib = 'libloadunload_d.' + ext hidden_dir = os.path.join(wd, 'hidden') hidden_file = os.path.join(hidden_dir, shlib) err = lldb.remote_platform.MakeDirectory(hidden_dir) -- cgit v1.2.3