summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorFred Riss <friss@apple.com>2019-11-06 13:53:14 -0800
committerFred Riss <friss@apple.com>2019-11-06 14:28:48 -0800
commit8243918f43c6eedc2b018c1edc9c6b72fe9b3c1e (patch)
treea2cc8f3836dddb3e25db2f01e0a060b4e97bd027 /lldb/packages/Python/lldbsuite/test
parent83393d27af6631d1df5c549feb214abbdd1d6054 (diff)
downloadbcm5719-llvm-8243918f43c6eedc2b018c1edc9c6b72fe9b3c1e.tar.gz
bcm5719-llvm-8243918f43c6eedc2b018c1edc9c6b72fe9b3c1e.zip
Testuite: Support Asan test with remote testing
To do so, we need to register the sanitizer libraries with the target so that they get uploaded before running. This patch adds a helper to the test class to this effect.
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py8
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/asan/TestReportData.py9
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbtest.py9
3 files changed, 18 insertions, 8 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py b/lldb/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py
index 6b299e6c3b8..6b192b3fc30 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/asan/TestMemoryHistory.py
@@ -17,7 +17,6 @@ class AsanTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipIfFreeBSD # llvm.org/pr21136 runtimes not yet available by default
- @skipIfRemote
@skipUnlessAddressSanitizer
def test(self):
self.build()
@@ -33,9 +32,10 @@ class AsanTestCase(TestBase):
def asan_tests(self):
exe = self.getBuildArtifact("a.out")
- self.expect(
- "file " + exe,
- patterns=["Current executable set to .*a.out"])
+ target = self.dbg.CreateTarget(exe)
+ self.assertTrue(target, VALID_TARGET)
+
+ self.registerSanitizerLibrariesWithTarget(target)
self.runCmd("breakpoint set -f main.c -l %d" % self.line_breakpoint)
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/asan/TestReportData.py b/lldb/packages/Python/lldbsuite/test/functionalities/asan/TestReportData.py
index d523b472b3e..18d99638925 100644
--- a/lldb/packages/Python/lldbsuite/test/functionalities/asan/TestReportData.py
+++ b/lldb/packages/Python/lldbsuite/test/functionalities/asan/TestReportData.py
@@ -17,7 +17,6 @@ class AsanTestReportDataCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipIfFreeBSD # llvm.org/pr21136 runtimes not yet available by default
- @skipIfRemote
@skipUnlessAddressSanitizer
@skipIf(archs=['i386'], bugnumber="llvm.org/PR36710")
def test(self):
@@ -36,9 +35,11 @@ class AsanTestReportDataCase(TestBase):
def asan_tests(self):
exe = self.getBuildArtifact("a.out")
- self.expect(
- "file " + exe,
- patterns=["Current executable set to .*a.out"])
+ target = self.dbg.CreateTarget(exe)
+ self.assertTrue(target, VALID_TARGET)
+
+ self.registerSanitizerLibrariesWithTarget(target)
+
self.runCmd("run")
stop_reason = self.dbg.GetSelectedTarget().process.GetSelectedThread().GetStopReason()
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index f3165ab3258..0b32fc4ef58 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -1922,6 +1922,15 @@ class TestBase(Base):
return environment
+ def registerSanitizerLibrariesWithTarget(self, target):
+ runtimes = []
+ for m in target.module_iter():
+ libspec = m.GetFileSpec()
+ if "clang_rt" in libspec.GetFilename():
+ runtimes.append(os.path.join(libspec.GetDirectory(),
+ libspec.GetFilename()))
+ return self.registerSharedLibrariesWithTarget(target, runtimes)
+
# utility methods that tests can use to access the current objects
def target(self):
if not self.dbg:
OpenPOWER on IntegriCloud