Skip to content

Commit

Permalink
Uses the target platform to determine the platform context.
Browse files Browse the repository at this point in the history
Uses the target platform to determine the platform context to use. This fixes an
early failure in some tests when running on a different remote target.

Test Plan:
./dotest.py $DOTEST_OPTS -t -p TestGlobalVariables.py|TestSharedLib.py
Running on macosx -> linux, this fails at a later stage in the test - rather
than in registerSharedLibrariesWithTarget looking for a library without the
correct "lib" prefix and ".so" suffix.

Differential Revision: http://reviews.llvm.org/D9047

llvm-svn: 235164
  • Loading branch information
flackr committed Apr 17, 2015
1 parent 4b08ea8 commit fb2f6c6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 12 deletions.
Expand Up @@ -205,7 +205,7 @@ def recursive_inferior_crashing_step_after_break(self):
self.check_stop_reason()

expected_state = 'exited' # Provide the exit code.
if self.platformIsDarwin() or self.platformIsLinux():
if self.platformIsDarwin() or self.getPlatform() == "linux":
expected_state = 'stopped' # TODO: Determine why 'next' and 'continue' have no effect after a crash.

self.expect("next",
Expand Down
21 changes: 10 additions & 11 deletions lldb/test/lldbtest.py
Expand Up @@ -626,7 +626,7 @@ def expectedFailureWindows(bugnumber=None, compilers=None):
def expectedFailureLLGS(bugnumber=None, compilers=None):
def fn(self):
# llgs local is only an option on Linux targets
if not self.platformIsLinux():
if self.getPlatform() != 'linux':
return False
self.runCmd('settings show platform.plugin.linux.use-llgs-for-local')
return 'true' in self.res.GetOutput() and self.expectedCompiler(compilers)
Expand Down Expand Up @@ -703,11 +703,16 @@ def skipUnlessDarwin(func):
return skipUnlessPlatform(getDarwinOSTriples())(func)

def getPlatform():
"""Returns the target platform the test suite is running on."""
platform = lldb.DBG.GetSelectedPlatform().GetTriple().split('-')[2]
if platform.startswith('freebsd'):
platform = 'freebsd'
return platform

def platformIsDarwin():
"""Returns true if the OS triple for the selected platform is any valid apple OS"""
return getPlatform() in getDarwinOSTriples()

def skipIfPlatform(oslist):
"""Decorate the item to skip tests if running on one of the listed platforms."""
return unittest2.skipIf(getPlatform() in oslist,
Expand Down Expand Up @@ -868,9 +873,9 @@ def setUpClass(cls):
os.chdir(os.path.join(os.environ["LLDB_TEST"], cls.mydir))

# Set platform context.
if sys.platform.startswith('darwin'):
if platformIsDarwin():
cls.platformContext = _PlatformContext('DYLD_LIBRARY_PATH', 'lib', 'dylib')
elif sys.platform.startswith('linux') or sys.platform.startswith('freebsd'):
elif getPlatform() == "linux" or getPlatform() == "freebsd":
cls.platformContext = _PlatformContext('LD_LIBRARY_PATH', 'lib', 'so')
else:
cls.platformContext = None
Expand Down Expand Up @@ -1402,16 +1407,10 @@ def getCompilerVersion(self):

def platformIsDarwin(self):
"""Returns true if the OS triple for the selected platform is any valid apple OS"""
platform_name = self.getPlatform()
return platform_name in getDarwinOSTriples()

def platformIsLinux(self):
"""Returns true if the OS triple for the selected platform is any valid apple OS"""
platform_name = self.getPlatform()
return platform_name == "linux"
return platformIsDarwin()

def getPlatform(self):
"""Returns the platform the test suite is running on."""
"""Returns the target platform the test suite is running on."""
return getPlatform()

def isIntelCompiler(self):
Expand Down

0 comments on commit fb2f6c6

Please sign in to comment.