blob: 87c9efd4f1ce0fd71d0e1fbe3d0a46a25829e23c [file] [log] [blame]
Paul Vinciguerra59954822019-03-11 05:04:12 -07001#!/usr/bin/env python2.7
2
3import unittest
4
5import psutil
6from vpp_papi.vpp_stats import VPPStats
7
8from framework import VppTestCase, VppTestRunner
9
10
11class StatsClientTestCase(VppTestCase):
12 """Test Stats Client"""
13
14 @classmethod
15 def setUpClass(cls):
16 super(StatsClientTestCase, cls).setUpClass()
17
18 @classmethod
19 def tearDownClass(cls):
20 super(StatsClientTestCase, cls).tearDownClass()
21
22 def test_client_fd_leak(self):
23 """Test file descriptor count - VPP-1486"""
24
25 cls = self.__class__
26 p = psutil.Process()
27 initial_fds = p.num_fds()
28
29 for _ in range(100):
30 stats = VPPStats(socketname=cls.stats_sock)
31 stats.disconnect()
32
33 ending_fds = p.num_fds()
34 self.assertEqual(initial_fds, ending_fds,
35 "initial client side file descriptor count: %s "
36 "is not equal to "
37 "ending client side file descriptor count: %s" % (
38 initial_fds, ending_fds))
39
40if __name__ == '__main__':
41 unittest.main(testRunner=VppTestRunner)