You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2017/10/16 12:34:19 UTC

qpid-proton git commit: NO-JIRA: Fix tests/fdlimit.py to work on python 2.6

Repository: qpid-proton
Updated Branches:
  refs/heads/master e238bb6c6 -> a518b1ce9


NO-JIRA: Fix tests/fdlimit.py to work on python 2.6


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/a518b1ce
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/a518b1ce
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/a518b1ce

Branch: refs/heads/master
Commit: a518b1ce98ca90ed9ce7541dde789004697338a3
Parents: e238bb6
Author: Alan Conway <ac...@redhat.com>
Authored: Mon Oct 16 13:33:48 2017 +0100
Committer: Alan Conway <ac...@redhat.com>
Committed: Mon Oct 16 13:33:48 2017 +0100

----------------------------------------------------------------------
 proton-c/src/tests/fdlimit.py | 69 ++++++++++++++++++--------------------
 1 file changed, 32 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/a518b1ce/proton-c/src/tests/fdlimit.py
----------------------------------------------------------------------
diff --git a/proton-c/src/tests/fdlimit.py b/proton-c/src/tests/fdlimit.py
index 4f4a342..beb00a8 100644
--- a/proton-c/src/tests/fdlimit.py
+++ b/proton-c/src/tests/fdlimit.py
@@ -41,48 +41,43 @@ class LimitedBroker(object):
 # Check if we can run prlimit to control resources
 try:
     Proc(["prlimit"]).wait_exit()
-    has_prlimit = True
-except:
-    has_prlimit = False
 
-class FdLimitTest(ProcTestCase):
+    class FdLimitTest(ProcTestCase):
+
+        def proc(self, *args, **kwargs):
+            """Skip valgrind for all processes started by this test"""
+            return super(FdLimitTest, self).proc(*args, valgrind=False, **kwargs)
 
-    def setUp(self):
-        global has_prlimit
-        if not has_prlimit:
-            self.skipTest("prlimit not available")
-        super(FdLimitTest, self).setUp()
+        def test_fd_limit_broker(self):
+            """Check behaviour when running out of file descriptors on accept"""
+            # Not too many FDs but not too few either, some are used for system purposes.
+            fdlimit = 256
+            with LimitedBroker(self, fdlimit) as b:
+                receivers = []
+                # Start enough receivers to use all FDs, make sure the broker logs an error
+                for i in xrange(fdlimit+1):
+                    receivers.append(self.proc(["receive", "", b.port, str(i)]))
 
-    def proc(self, *args, **kwargs):
-        """Skip valgrind for all processes started by this test"""
-        return super(FdLimitTest, self).proc(*args, valgrind=False, **kwargs)
+                # Note: libuv silently swallows EMFILE/ENFILE errors so there is no error reporting.
+                # The epoll proactor will close the users connection with the EMFILE/ENFILE error
+                if "TRANSPORT_CLOSED" in b.proc.out:
+                    self.assertIn("open files", b.proc.out)
 
-    def test_fd_limit_broker(self):
-        """Check behaviour when running out of file descriptors on accept"""
-        # Not too many FDs but not too few either, some are used for system purposes.
-        fdlimit = 256
-        with LimitedBroker(self, fdlimit) as b:
-            receivers = []
-            # Start enough receivers to use all FDs, make sure the broker logs an error
-            for i in xrange(fdlimit+1):
-                receivers.append(self.proc(["receive", "", b.port, str(i)]))
+                # All FDs are now in use, send attempt should fail or hang
+                self.assertIn(self.proc(["send", "", b.port, "x"]).poll(), [1, None])
 
-            # Note: libuv silently swallows EMFILE/ENFILE errors so there is no error reporting.
-            # The epoll proactor will close the users connection with the EMFILE/ENFILE error
-            if "TRANSPORT_CLOSED" in b.proc.out:
-                self.assertIn("open files", b.proc.out)
+                # Kill receivers to free up FDs
+                for r in receivers:
+                    r.kill()
+                for r in receivers:
+                    r.wait_exit(expect=None)
+                # send/receive should succeed now
+                self.assertIn("10 messages sent", self.proc(["send", "", b.port]).wait_exit())
+                self.assertIn("10 messages received", self.proc(["receive", "", b.port]).wait_exit())
 
-            # All FDs are now in use, send attempt should fail or hang
-            self.assertIn(self.proc(["send", "", b.port, "x"]).poll(), [1, None])
+    if __name__ == "__main__":
+        main()
 
-            # Kill receivers to free up FDs
-            for r in receivers:
-                r.kill()
-            for r in receivers:
-                r.wait_exit(expect=None)
-            # send/receive should succeed now
-            self.assertIn("10 messages sent", self.proc(["send", "", b.port]).wait_exit())
-            self.assertIn("10 messages received", self.proc(["receive", "", b.port]).wait_exit())
+except:
+    print "Skipping test: prlimit not available"
 
-if __name__ == "__main__":
-    main()


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org