summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2016-09-18 17:20:48 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2016-09-18 17:20:48 +0200
commit9f044a84c4ac8c4180ae308be04b9cd287706e07 (patch)
tree4867511dc6a8d82441e1097345d3a577a9d6c3b9
parent6e4f0d3e53adfb8af826aa77f55f7db080a5cac3 (diff)
downloadpsutil-9f044a84c4ac8c4180ae308be04b9cd287706e07.tar.gz
#87: skip used mem test in case of older free version
-rw-r--r--psutil/_pslinux.py1
-rw-r--r--psutil/tests/test_linux.py11
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()