diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2016-09-18 17:20:48 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2016-09-18 17:20:48 +0200 |
commit | 9f044a84c4ac8c4180ae308be04b9cd287706e07 (patch) | |
tree | 4867511dc6a8d82441e1097345d3a577a9d6c3b9 | |
parent | 6e4f0d3e53adfb8af826aa77f55f7db080a5cac3 (diff) | |
download | psutil-9f044a84c4ac8c4180ae308be04b9cd287706e07.tar.gz |
#87: skip used mem test in case of older free version
-rw-r--r-- | psutil/_pslinux.py | 1 | ||||
-rw-r--r-- | psutil/tests/test_linux.py | 11 |
2 files changed, 11 insertions, 1 deletions
diff --git a/psutil/_pslinux.py b/psutil/_pslinux.py index 6bfa4f1d..bdf01c33 100644 --- a/psutil/_pslinux.py +++ b/psutil/_pslinux.py @@ -388,7 +388,6 @@ def virtual_memory(): if used < 0: used = total - free - # Note: this value matches "htop" perfectly. percent = usage_percent((total - avail), total, _round=1) # Warn about missing metrics which are set to 0. diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py index f7e8f6e0..9fa72320 100644 --- a/psutil/tests/test_linux.py +++ b/psutil/tests/test_linux.py @@ -133,6 +133,11 @@ def vmstat(stat): raise ValueError("can't find %r in 'vmstat' output" % stat) +def get_free_version_info(): + out = sh("free -V").strip() + return tuple(map(int, out.split()[-1].split('.'))) + + # ===================================================================== # system virtual memory # ===================================================================== @@ -149,6 +154,12 @@ class TestSystemVirtualMemory(unittest.TestCase): psutil_value = psutil.virtual_memory().total self.assertAlmostEqual(vmstat_value, psutil_value) + # Older versions of procps used slab memory to calculate used memory. + # This got changed in: + # https://gitlab.com/procps-ng/procps/commit/ + # 05d751c4f076a2f0118b914c5e51cfbb4762ad8e + @unittest.skipUnless( + get_free_version_info() >= (3, 3, 12), "old free version") @retry_before_failing() def test_used(self): free = free_physmem() |