diff options
author | Pavel Labath <labath@google.com> | 2017-05-17 11:47:44 +0000 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2017-05-17 11:47:44 +0000 |
commit | 1b8fe5ec8d6fa2f7b085d7f76eab571e851ea468 (patch) | |
tree | c0a8bfa12e40e804f8f68c2c54a45413d9ab10d3 /lldb/packages/Python/lldbsuite/test | |
parent | 68d21c864e7df765e42bf6f9c59cd4750d9ddf21 (diff) | |
download | bcm5719-llvm-1b8fe5ec8d6fa2f7b085d7f76eab571e851ea468.tar.gz bcm5719-llvm-1b8fe5ec8d6fa2f7b085d7f76eab571e851ea468.zip |
Make TestConflictingSymbol run on non-darwin targets
For remote targets we need to call registerSharedLibrariesWithTarget to
make sure they are installed alongside main executable. This also
required a small fixup in the the mentioned function as in this case
"One" was both a directory name and a library name template. I fixed it
to make sure it checks that the string refers to a file before it
assumed it was a full library path.
llvm-svn: 303248
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/lang/c/conflicting-symbol/TestConflictingSymbol.py | 18 | ||||
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/lldbtest.py | 2 |
2 files changed, 12 insertions, 8 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lang/c/conflicting-symbol/TestConflictingSymbol.py b/lldb/packages/Python/lldbsuite/test/lang/c/conflicting-symbol/TestConflictingSymbol.py index fc3490b3f85..d3327700bfd 100644 --- a/lldb/packages/Python/lldbsuite/test/lang/c/conflicting-symbol/TestConflictingSymbol.py +++ b/lldb/packages/Python/lldbsuite/test/lang/c/conflicting-symbol/TestConflictingSymbol.py @@ -16,10 +16,16 @@ class TestConflictingSymbols(TestBase): mydir = TestBase.compute_mydir(__file__) NO_DEBUG_INFO_TESTCASE = True - @skipUnlessDarwin def test_conflicting_symbols(self): self.build() - self.common_setup() + exe = os.path.join(os.getcwd(), "a.out") + target = self.dbg.CreateTarget("a.out") + self.assertTrue(target, VALID_TARGET) + + # Register our shared libraries for remote targets so they get + # automatically uploaded + environment = self.registerSharedLibrariesWithTarget( + target, ['One', 'Two']) One_line = line_number('One/One.c', '// break here') Two_line = line_number('Two/Two.c', '// break here') @@ -31,7 +37,9 @@ class TestConflictingSymbols(TestBase): lldbutil.run_break_set_by_file_and_line( self, 'main.c', main_line, num_expected_locations=1, loc_exact=True) - self.runCmd("run", RUN_SUCCEEDED) + process = target.LaunchSimple( + None, environment, self.get_process_working_directory()) + self.assertTrue(process, PROCESS_IS_VALID) # The stop reason of the thread should be breakpoint. self.expect("thread list", STOPPED_DUE_TO_BREAKPOINT, @@ -80,7 +88,3 @@ class TestConflictingSymbols(TestBase): error=True, substrs=[ "Multiple internal symbols"]) - - def common_setup(self): - exe = os.path.join(os.getcwd(), "a.out") - self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py index bc0fb1b686a..f1d65cf2076 100644 --- a/lldb/packages/Python/lldbsuite/test/lldbtest.py +++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py @@ -1934,7 +1934,7 @@ class TestBase(Base): # "libFoo.dylib" or "libFoo.so", or "Foo.so" for "Foo.so" or "libFoo.so", or just a # basename like "libFoo.so". So figure out which one it is and resolve the local copy # of the shared library accordingly - if os.path.exists(name): + if os.path.isfile(name): local_shlib_path = name # name is the full path to the local shared library else: # Check relative names |