summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/Makefile5
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/TestFdLeak.py108
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/main.c28
3 files changed, 0 insertions, 141 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/Makefile b/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/Makefile
deleted file mode 100644
index 0d70f259501..00000000000
--- a/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-LEVEL = ../../make
-
-C_SOURCES := main.c
-
-include $(LEVEL)/Makefile.rules
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/TestFdLeak.py b/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/TestFdLeak.py
deleted file mode 100644
index 38848e87cc4..00000000000
--- a/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/TestFdLeak.py
+++ /dev/null
@@ -1,108 +0,0 @@
-"""
-Test whether a process started by lldb has no extra file descriptors open.
-"""
-
-from __future__ import print_function
-
-
-import os
-import lldb
-from lldbsuite.test import lldbutil
-from lldbsuite.test.lldbtest import *
-from lldbsuite.test.decorators import *
-
-
-def python_leaky_fd_version(test):
- import sys
- # Python random module leaks file descriptors on some versions.
- if sys.version_info >= (2, 7, 8) and sys.version_info < (2, 7, 10):
- return "Python random module leaks file descriptors in this python version"
- return None
-
-
-class AvoidsFdLeakTestCase(TestBase):
-
- NO_DEBUG_INFO_TESTCASE = True
-
- mydir = TestBase.compute_mydir(__file__)
-
- @expectedFailure(python_leaky_fd_version, "bugs.freebsd.org/197376")
- @expectedFailureAll(
- oslist=['freebsd'],
- bugnumber="llvm.org/pr25624 still failing with Python 2.7.10")
- # The check for descriptor leakage needs to be implemented differently
- # here.
- @skipIfWindows
- @skipIfTargetAndroid() # Android have some other file descriptors open by the shell
- @skipIfDarwinEmbedded # <rdar://problem/33888742> # debugserver on ios has an extra fd open on launch
- def test_fd_leak_basic(self):
- self.do_test([])
-
- @expectedFailure(python_leaky_fd_version, "bugs.freebsd.org/197376")
- @expectedFailureAll(
- oslist=['freebsd'],
- bugnumber="llvm.org/pr25624 still failing with Python 2.7.10")
- # The check for descriptor leakage needs to be implemented differently
- # here.
- @skipIfWindows
- @skipIfTargetAndroid() # Android have some other file descriptors open by the shell
- @skipIfDarwinEmbedded # <rdar://problem/33888742> # debugserver on ios has an extra fd open on launch
- def test_fd_leak_log(self):
- self.do_test(["log enable -f '/dev/null' lldb commands"])
-
- def do_test(self, commands):
- self.build()
- exe = self.getBuildArtifact("a.out")
-
- for c in commands:
- self.runCmd(c)
-
- target = self.dbg.CreateTarget(exe)
-
- process = target.LaunchSimple(
- None, None, self.get_process_working_directory())
- self.assertTrue(process, PROCESS_IS_VALID)
-
- self.assertTrue(
- process.GetState() == lldb.eStateExited,
- "Process should have exited.")
- self.assertTrue(
- process.GetExitStatus() == 0,
- "Process returned non-zero status. Were incorrect file descriptors passed?")
-
- @expectedFailure(python_leaky_fd_version, "bugs.freebsd.org/197376")
- @expectedFailureAll(
- oslist=['freebsd'],
- bugnumber="llvm.org/pr25624 still failing with Python 2.7.10")
- # The check for descriptor leakage needs to be implemented differently
- # here.
- @skipIfWindows
- @skipIfTargetAndroid() # Android have some other file descriptors open by the shell
- @skipIfDarwinEmbedded # <rdar://problem/33888742> # debugserver on ios has an extra fd open on launch
- def test_fd_leak_multitarget(self):
- self.build()
- exe = self.getBuildArtifact("a.out")
-
- target = self.dbg.CreateTarget(exe)
- 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)
- self.assertTrue(
- process1.GetState() == lldb.eStateStopped,
- "Process should have been stopped.")
-
- target2 = self.dbg.CreateTarget(exe)
- process2 = target2.LaunchSimple(
- None, None, self.get_process_working_directory())
- self.assertTrue(process2, PROCESS_IS_VALID)
-
- self.assertTrue(
- process2.GetState() == lldb.eStateExited,
- "Process should have exited.")
- self.assertTrue(
- process2.GetExitStatus() == 0,
- "Process returned non-zero status. Were incorrect file descriptors passed?")
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/main.c b/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/main.c
deleted file mode 100644
index 5bdf227928e..00000000000
--- a/lldb/packages/Python/lldbsuite/test/functionalities/avoids-fd-leak/main.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdio.h>
-
-int
-main (int argc, char const **argv)
-{
- struct stat buf;
- int i, rv = 0; // Set breakpoint here.
-
- // Make sure stdin/stdout/stderr exist.
- for (i = 0; i <= 2; ++i) {
- if (fstat(i, &buf) != 0)
- return 1;
- }
-
- // Make sure no other file descriptors are open.
- for (i = 3; i <= 256; ++i) {
- if (fstat(i, &buf) == 0 || errno != EBADF) {
- fprintf(stderr, "File descriptor %d is open.\n", i);
- rv = 2;
- }
- }
-
- return rv;
-}
OpenPOWER on IntegriCloud