Esempio n. 1
0
 def test_cpu_times(self):
     # Duplicate of test_system.py. Keep it anyway.
     ret = psutil.cpu_times()
     assert is_namedtuple(ret)
     for n in ret:
         self.assertIsInstance(n, float)
         self.assertGreaterEqual(n, 0)
Esempio n. 2
0
 def gids(self, ret, proc):
     assert is_namedtuple(ret)
     # note: testing all gids as above seems not to be reliable for
     # gid == 30 (nodoby); not sure why.
     for gid in ret:
         self.assertIsInstance(gid, int)
         if not MACOS and not NETBSD:
             self.assertGreaterEqual(gid, 0)
Esempio n. 3
0
 def gids(self, ret, proc):
     assert is_namedtuple(ret)
     # note: testing all gids as above seems not to be reliable for
     # gid == 30 (nodoby); not sure why.
     for gid in ret:
         self.assertIsInstance(gid, int)
         if not MACOS and not NETBSD:
             self.assertGreaterEqual(gid, 0)
Esempio n. 4
0
 def threads(self, ret, proc):
     self.assertIsInstance(ret, list)
     for t in ret:
         assert is_namedtuple(t)
         self.assertGreaterEqual(t.id, 0)
         self.assertGreaterEqual(t.user_time, 0)
         self.assertGreaterEqual(t.system_time, 0)
         for field in t:
             self.assertIsInstance(field, (int, float))
Esempio n. 5
0
 def threads(self, ret, proc):
     self.assertIsInstance(ret, list)
     for t in ret:
         assert is_namedtuple(t)
         self.assertGreaterEqual(t.id, 0)
         self.assertGreaterEqual(t.user_time, 0)
         self.assertGreaterEqual(t.system_time, 0)
         for field in t:
             self.assertIsInstance(field, (int, float))
Esempio n. 6
0
 def ionice(self, ret, proc):
     assert is_namedtuple(ret)
     for field in ret:
         self.assertIsInstance(field, int)
     if LINUX:
         self.assertGreaterEqual(ret.ioclass, 0)
         self.assertGreaterEqual(ret.value, 0)
     else:
         self.assertGreaterEqual(ret, 0)
         self.assertIn(ret, (0, 1, 2))
Esempio n. 7
0
 def memory_info(self, ret, proc):
     assert is_namedtuple(ret)
     for value in ret:
         self.assertIsInstance(value, (int, long))
         self.assertGreaterEqual(value, 0)
     if WINDOWS:
         self.assertGreaterEqual(ret.peak_wset, ret.wset)
         self.assertGreaterEqual(ret.peak_paged_pool, ret.paged_pool)
         self.assertGreaterEqual(ret.peak_nonpaged_pool, ret.nonpaged_pool)
         self.assertGreaterEqual(ret.peak_pagefile, ret.pagefile)
Esempio n. 8
0
 def ionice(self, ret, proc):
     if POSIX:
         assert is_namedtuple(ret)
         for field in ret:
             self.assertIsInstance(field, int)
     if LINUX:
         self.assertGreaterEqual(ret.ioclass, 0)
         self.assertGreaterEqual(ret.value, 0)
     else:
         self.assertGreaterEqual(ret, 0)
         self.assertIn(ret, (0, 1, 2))
Esempio n. 9
0
    def memory_full_info(self, ret, proc):
        assert is_namedtuple(ret)
        total = psutil.virtual_memory().total
        for name in ret._fields:
            value = getattr(ret, name)
            self.assertIsInstance(value, (int, long))
            self.assertGreaterEqual(value, 0, msg=(name, value))
            self.assertLessEqual(value, total, msg=(name, value, total))

        if LINUX:
            self.assertGreaterEqual(ret.pss, ret.uss)
Esempio n. 10
0
    def memory_full_info(self, ret, proc):
        assert is_namedtuple(ret)
        total = psutil.virtual_memory().total
        for name in ret._fields:
            value = getattr(ret, name)
            self.assertIsInstance(value, (int, long))
            self.assertGreaterEqual(value, 0, msg=(name, value))
            self.assertLessEqual(value, total, msg=(name, value, total))

        if LINUX:
            self.assertGreaterEqual(ret.pss, ret.uss)
Esempio n. 11
0
    def memory_full_info(self, ret, proc):
        assert is_namedtuple(ret)
        total = psutil.virtual_memory().total
        for name in ret._fields:
            value = getattr(ret, name)
            self.assertIsInstance(value, (int, long))
            self.assertGreaterEqual(value, 0, msg=(name, value))
            if LINUX and name in ('vms', 'data'):
                # On Linux there are processes (e.g. 'goa-daemon') whose
                # VMS is incredibly high for some reason.
                continue
            self.assertLessEqual(value, total, msg=(name, value, total))

        if LINUX:
            self.assertGreaterEqual(ret.pss, ret.uss)
Esempio n. 12
0
    def memory_full_info(self, ret, proc):
        assert is_namedtuple(ret)
        total = psutil.virtual_memory().total
        for name in ret._fields:
            value = getattr(ret, name)
            self.assertIsInstance(value, (int, long))
            self.assertGreaterEqual(value, 0, msg=(name, value))
            if LINUX or OSX and name in ('vms', 'data'):
                # On Linux there are processes (e.g. 'goa-daemon') whose
                # VMS is incredibly high for some reason.
                continue
            self.assertLessEqual(value, total, msg=(name, value, total))

        if LINUX:
            self.assertGreaterEqual(ret.pss, ret.uss)
Esempio n. 13
0
 def memory_info(self, ret, proc):
     assert is_namedtuple(ret)
     for value in ret:
         self.assertIsInstance(value, (int, long))
         self.assertGreaterEqual(value, 0)
     if POSIX and not AIX and ret.vms != 0:
         # VMS is always supposed to be the highest
         for name in ret._fields:
             if name != 'vms':
                 value = getattr(ret, name)
                 self.assertGreater(ret.vms, value, msg=ret)
     elif WINDOWS:
         self.assertGreaterEqual(ret.peak_wset, ret.wset)
         self.assertGreaterEqual(ret.peak_paged_pool, ret.paged_pool)
         self.assertGreaterEqual(ret.peak_nonpaged_pool, ret.nonpaged_pool)
         self.assertGreaterEqual(ret.peak_pagefile, ret.pagefile)
Esempio n. 14
0
 def memory_info(self, ret, proc):
     assert is_namedtuple(ret)
     for value in ret:
         self.assertIsInstance(value, (int, long))
         self.assertGreaterEqual(value, 0)
     if POSIX and not AIX and ret.vms != 0:
         # VMS is always supposed to be the highest
         for name in ret._fields:
             if name != 'vms':
                 value = getattr(ret, name)
                 self.assertGreater(ret.vms, value, msg=ret)
     elif WINDOWS:
         self.assertGreaterEqual(ret.peak_wset, ret.wset)
         self.assertGreaterEqual(ret.peak_paged_pool, ret.paged_pool)
         self.assertGreaterEqual(ret.peak_nonpaged_pool, ret.nonpaged_pool)
         self.assertGreaterEqual(ret.peak_pagefile, ret.pagefile)
Esempio n. 15
0
    def wrap(self, obj):

        if is_namedtuple(obj):
            return obj

        for val in obj.copy():
            if val.startswith("_"):
                obj.pop(val)

        CHECK_KEY = ("session", "slug", "file_list", "file_path")

        try:
            assert all(map(lambda x: x in obj.keys(), CHECK_KEY))
        except AssertionError:
            logger.error("object中缺少必要key")

        class JObject(namedtuple("JObject", obj.keys())):
            __slots__ = ()

            def __getattr__(self, name):
                logger.warning(f"尝试获取不存在键值,已返回空字符串")
                return ""

        return JObject(*obj.values())
Esempio n. 16
0
 def num_ctx_switches(self, ret, proc):
     assert is_namedtuple(ret)
     for value in ret:
         self.assertIsInstance(value, (int, long))
         self.assertGreaterEqual(value, 0)
Esempio n. 17
0
 def cpu_times(self, ret, proc):
     assert is_namedtuple(ret)
     for n in ret:
         self.assertIsInstance(n, float)
         self.assertGreaterEqual(n, 0)
Esempio n. 18
0
 def uids(self, ret, proc):
     assert is_namedtuple(ret)
     for uid in ret:
         self.assertIsInstance(uid, int)
         self.assertGreaterEqual(uid, 0)
         self.assertIn(uid, self.all_uids)
Esempio n. 19
0
 def io_counters(self, ret, proc):
     assert is_namedtuple(ret)
     for field in ret:
         self.assertIsInstance(field, (int, long))
         if field != -1:
             self.assertGreaterEqual(field, 0)
Esempio n. 20
0
 def uids(self, ret, proc):
     assert is_namedtuple(ret)
     for uid in ret:
         self.assertIsInstance(uid, int)
         self.assertGreaterEqual(uid, 0)
Esempio n. 21
0
 def test_net_connections(self):
     with create_sockets():
         ret = psutil.net_connections('all')
         self.assertEqual(len(ret), len(set(ret)))
         for conn in ret:
             assert is_namedtuple(conn)
Esempio n. 22
0
 def assert_ntuple_of_nums(self, nt, type_=float, gezero=True):
     assert is_namedtuple(nt)
     for n in nt:
         self.assertIsInstance(n, type_)
         if gezero:
             self.assertGreaterEqual(n, 0)
Esempio n. 23
0
 def io_counters(self, ret, proc):
     assert is_namedtuple(ret)
     for field in ret:
         self.assertIsInstance(field, (int, long))
         if field != -1:
             self.assertGreaterEqual(field, 0)
Esempio n. 24
0
 def test_is_namedtuple(self):
     assert is_namedtuple(collections.namedtuple('foo', 'a b c')(1, 2, 3))
     assert not is_namedtuple(tuple())
Esempio n. 25
0
 def cpu_times(self, ret, proc):
     assert is_namedtuple(ret)
     for n in ret:
         self.assertIsInstance(n, float)
         self.assertGreaterEqual(n, 0)
Esempio n. 26
0
 def connections(self, ret, proc):
     with create_sockets():
         self.assertEqual(len(ret), len(set(ret)))
         for conn in ret:
             assert is_namedtuple(conn)
Esempio n. 27
0
 def num_ctx_switches(self, ret, proc):
     assert is_namedtuple(ret)
     for value in ret:
         self.assertIsInstance(value, (int, long))
         self.assertGreaterEqual(value, 0)
Esempio n. 28
0
 def test_is_namedtuple(self):
     assert is_namedtuple(collections.namedtuple('foo', 'a b c')(1, 2, 3))
     assert not is_namedtuple(tuple())