[Lldb-commits] [PATCH] Skip fdleak tests on android
Tamas Berghammer
tberghammer at google.com
Thu Mar 12 10:11:26 PDT 2015
Hi labath,
Skip fdleak tests on android
Android have more file descriptor opened by the shell what are inherited to the process (different ones on device and on emulator).
http://reviews.llvm.org/D8299
Files:
test/functionalities/avoids-fd-leak/TestFdLeak.py
test/lldbtest.py
Index: test/functionalities/avoids-fd-leak/TestFdLeak.py
===================================================================
--- test/functionalities/avoids-fd-leak/TestFdLeak.py
+++ test/functionalities/avoids-fd-leak/TestFdLeak.py
@@ -14,11 +14,13 @@
@expectedFailure(lambda x: sys.version_info >= (2, 7, 8), "bugs.freebsd.org/197376") # python random leaks fd
@skipIfWindows # The check for descriptor leakage needs to be implemented differently here.
+ @skipIfTargetAndroid # Android have some other file descriptors open by the shell
def test_fd_leak_basic (self):
self.do_test([])
@expectedFailure(lambda x: sys.version_info >= (2, 7, 8), "bugs.freebsd.org/197376") # python random leaks fd
@skipIfWindows # The check for descriptor leakage needs to be implemented differently here.
+ @skipIfTargetAndroid # Android have some other file descriptors open by the shell
def test_fd_leak_log (self):
self.do_test(["log enable -f '/dev/null' lldb commands"])
@@ -40,13 +42,14 @@
@expectedFailure(lambda x: sys.version_info >= (2, 7, 8), "bugs.freebsd.org/197376") # python random leaks fd
@skipIfWindows # The check for descriptor leakage needs to be implemented differently here.
+ @skipIfTargetAndroid # Android have some other file descriptors open by the shell
def test_fd_leak_multitarget (self):
self.buildDefault()
exe = os.path.join (os.getcwd(), "a.out")
target = self.dbg.CreateTarget(exe)
- breakpoint = target.BreakpointCreateBySourceRegex ('Set breakpoint here', lldb.SBFileSpec ("main.c", False))
- self.assertTrue(breakpoint, VALID_BREAKPOINT)
+ breakpoint = target.BreakpointCreateBySourceRegex ('Set breakpoint here', lldb.SBFileSpec ("main.c", False))
+ self.assertTrue(breakpoint, VALID_BREAKPOINT)
process1 = target.LaunchSimple (None, None, self.get_process_working_directory())
self.assertTrue(process1, PROCESS_IS_VALID)
Index: test/lldbtest.py
===================================================================
--- test/lldbtest.py
+++ test/lldbtest.py
@@ -778,6 +778,21 @@
func(*args, **kwargs)
return wrapper
+def skipIfTargetAndroid(func):
+ """Decorate the item to skip tests that should be skipped when the target is Android."""
+ if isinstance(func, type) and issubclass(func, unittest2.TestCase):
+ raise Exception("@skipIfTargetAndroid can only be used to decorate a test method")
+ @wraps(func)
+ def wrapper(*args, **kwargs):
+ from unittest2 import case
+ self = args[0]
+ triple = self.dbg.GetSelectedPlatform().GetTriple()
+ if re.match(".*-.*-.*-android", triple):
+ self.skipTest("skip on Android target")
+ else:
+ func(*args, **kwargs)
+ return wrapper
+
def skipUnlessCompilerRt(func):
"""Decorate the item to skip tests if testing remotely."""
if isinstance(func, type) and issubclass(func, unittest2.TestCase):
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8299.21846.patch
Type: text/x-patch
Size: 3010 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150312/d476b955/attachment.bin>
More information about the lldb-commits
mailing list