Index: third_party/psutil/test/_osx.py |
diff --git a/third_party/psutil/test/_osx.py b/third_party/psutil/test/_osx.py |
index aaf9215936a56a7c5f389a56200cf5426e5feada..fdee67ba4d820494b36ec424fd95234a8a8ff6f2 100644 |
--- a/third_party/psutil/test/_osx.py |
+++ b/third_party/psutil/test/_osx.py |
@@ -1,17 +1,21 @@ |
#!/usr/bin/env python |
# |
-# $Id: _osx.py 664 2010-10-09 16:14:34Z g.rodola $ |
+# $Id: _osx.py 1142 2011-10-05 18:45:49Z g.rodola $ |
# |
+# Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+"""OSX specific tests. These are implicitly run by test_psutil.py.""" |
import unittest |
import subprocess |
import time |
-import re |
import sys |
import psutil |
-from test_psutil import reap_children, get_test_subprocess |
+from test_psutil import reap_children, get_test_subprocess, sh |
#from _posix import ps |
@@ -38,7 +42,7 @@ class OSXSpecificTestCase(unittest.TestCase): |
reap_children() |
def test_TOTAL_PHYMEM(self): |
- sysctl_hwphymem = sysctl('sysctl hw.physmem') |
+ sysctl_hwphymem = sysctl('sysctl hw.memsize') |
self.assertEqual(sysctl_hwphymem, psutil.TOTAL_PHYMEM) |
def test_process_create_time(self): |
@@ -53,12 +57,35 @@ class OSXSpecificTestCase(unittest.TestCase): |
time.localtime(start_psutil)) |
self.assertEqual(start_ps, start_psutil) |
+ def test_disks(self): |
+ # test psutil.disk_usage() and psutil.disk_partitions() |
+ # against "df -a" |
+ def df(path): |
+ out = sh('df -k "%s"' % path).strip() |
+ lines = out.split('\n') |
+ lines.pop(0) |
+ line = lines.pop(0) |
+ dev, total, used, free = line.split()[:4] |
+ if dev == 'none': |
+ dev = '' |
+ total = int(total) * 1024 |
+ used = int(used) * 1024 |
+ free = int(free) * 1024 |
+ return dev, total, used, free |
+ |
+ for part in psutil.disk_partitions(all=False): |
+ usage = psutil.disk_usage(part.mountpoint) |
+ dev, total, used, free = df(part.mountpoint) |
+ self.assertEqual(part.device, dev) |
+ self.assertEqual(usage.total, total) |
+ # 10 MB tollerance |
+ if abs(usage.free - free) > 10 * 1024 * 1024: |
+ self.fail("psutil=%s, df=%s" % usage.free, free) |
+ if abs(usage.used - used) > 10 * 1024 * 1024: |
+ self.fail("psutil=%s, df=%s" % usage.used, used) |
+ |
if __name__ == '__main__': |
test_suite = unittest.TestSuite() |
test_suite.addTest(unittest.makeSuite(OSXSpecificTestCase)) |
unittest.TextTestRunner(verbosity=2).run(test_suite) |
- |
- |
- |
- |