Browse Source

100% coverage for celery.utils.sysutils

Ask Solem 11 years ago
parent
commit
34d744c44e
2 changed files with 38 additions and 2 deletions
  1. 36 0
      celery/tests/utilities/test_sysinfo.py
  2. 2 2
      celery/utils/sysinfo.py

+ 36 - 0
celery/tests/utilities/test_sysinfo.py

@@ -0,0 +1,36 @@
+from __future__ import absolute_import
+
+import os
+
+from mock import Mock, patch
+from nose import SkipTest
+
+from celery.utils.sysinfo import load_average, df
+
+from celery.tests.utils import Case
+
+
+class test_load_average(Case):
+
+    def test_avg(self):
+        if not hasattr(os, 'getloadavg'):
+            raise SkipTest('getloadavg not available')
+        with patch('os.getloadavg') as getloadavg:
+            getloadavg.return_value = 0.54736328125, 0.6357421875, 0.69921875
+            l = load_average()
+            self.assertTrue(l)
+            self.assertEqual(l, (0.55, 0.64, 0.7))
+
+
+class test_df(Case):
+
+    def test_df(self):
+        try:
+            from posix import statvfs_result
+        except ImportError:
+            raise SkipTest('statvfs not available')
+        x = df('/')
+        self.assertTrue(x.total_blocks)
+        self.assertTrue(x.available)
+        self.assertTrue(x.capacity)
+        self.assertTrue(x.stat)

+ 2 - 2
celery/utils/sysinfo.py

@@ -13,8 +13,8 @@ if hasattr(os, 'getloadavg'):
     def load_average():
         return tuple(ceil(l * 1e2) / 1e2 for l in os.getloadavg())
 
-else:  # Windows doesn't have getloadavg
-
+else:  # pragma: no cover
+    # Windows doesn't have getloadavg
     def load_average():  # noqa
         return (0.0, 0.0, 0.0)