diff options
-rw-r--r-- | test/test_stats_client.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/test_stats_client.py b/test/test_stats_client.py new file mode 100644 index 00000000000..87c9efd4f1c --- /dev/null +++ b/test/test_stats_client.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python2.7 + +import unittest + +import psutil +from vpp_papi.vpp_stats import VPPStats + +from framework import VppTestCase, VppTestRunner + + +class StatsClientTestCase(VppTestCase): + """Test Stats Client""" + + @classmethod + def setUpClass(cls): + super(StatsClientTestCase, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(StatsClientTestCase, cls).tearDownClass() + + def test_client_fd_leak(self): + """Test file descriptor count - VPP-1486""" + + cls = self.__class__ + p = psutil.Process() + initial_fds = p.num_fds() + + for _ in range(100): + stats = VPPStats(socketname=cls.stats_sock) + stats.disconnect() + + ending_fds = p.num_fds() + self.assertEqual(initial_fds, ending_fds, + "initial client side file descriptor count: %s " + "is not equal to " + "ending client side file descriptor count: %s" % ( + initial_fds, ending_fds)) + +if __name__ == '__main__': + unittest.main(testRunner=VppTestRunner) |