summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2016-10-01 20:21:42 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2016-10-01 20:21:42 +0200
commit09fa49d1a270c6d8511946952a17dc454cd87f95 (patch)
tree955738a22b59624deb3c26abcc540d0f66ba0174
parent1b921b69c79539f7dfa06c7189ab8be9b928d068 (diff)
downloadpsutil-09fa49d1a270c6d8511946952a17dc454cd87f95.tar.gz
move retry tests
-rw-r--r--psutil/tests/test_misc.py75
-rw-r--r--psutil/tests/test_testutils.py85
2 files changed, 75 insertions, 85 deletions
diff --git a/psutil/tests/test_misc.py b/psutil/tests/test_misc.py
index 2c981646..47908d7e 100644
--- a/psutil/tests/test_misc.py
+++ b/psutil/tests/test_misc.py
@@ -26,6 +26,7 @@ from psutil.tests import APPVEYOR
from psutil.tests import SCRIPTS_DIR
from psutil.tests import importlib
from psutil.tests import mock
+from psutil.tests import retry
from psutil.tests import ROOT_DIR
from psutil.tests import run_test_module_by_name
from psutil.tests import sh
@@ -38,6 +39,7 @@ from psutil.tests import unittest
# --- Misc tests
# ===================================================================
+
class TestMisc(unittest.TestCase):
"""Misc / generic tests."""
@@ -335,6 +337,7 @@ class TestMisc(unittest.TestCase):
# --- Example script tests
# ===================================================================
+
@unittest.skipIf(TOX, "can't test on tox")
class TestScripts(unittest.TestCase):
"""Tests for scripts in the "scripts" directory."""
@@ -443,5 +446,77 @@ class TestScripts(unittest.TestCase):
self.assert_stdout('winservices.py')
+# ===================================================================
+# --- Unit tests for test utilities.
+# ===================================================================
+
+
+class TestRetryDecorator(unittest.TestCase):
+
+ @mock.patch('time.sleep')
+ def test_retry_success(self, sleep):
+ # Fail 3 times out of 5; make sure the decorated fun returns.
+
+ @retry(retries=5, interval=1, logfun=None)
+ def foo():
+ while queue:
+ queue.pop()
+ 1 / 0
+ return 1
+
+ queue = list(range(3))
+ self.assertEqual(foo(), 1)
+ self.assertEqual(sleep.call_count, 3)
+
+ @mock.patch('time.sleep')
+ def test_retry_failure(self, sleep):
+ # Fail 6 times out of 5; th function is supposed to raise exc.
+
+ @retry(retries=5, interval=1, logfun=None)
+ def foo():
+ while queue:
+ queue.pop()
+ 1 / 0
+ return 1
+
+ queue = list(range(6))
+ self.assertRaises(ZeroDivisionError, foo)
+ self.assertEqual(sleep.call_count, 5)
+
+ @mock.patch('time.sleep')
+ def test_exception_arg(self, sleep):
+ @retry(exception=ValueError, interval=1)
+ def foo():
+ raise TypeError
+
+ self.assertRaises(TypeError, foo)
+ self.assertEqual(sleep.call_count, 0)
+
+ @mock.patch('time.sleep')
+ def test_no_interval_arg(self, sleep):
+ # if interval is not specified sleep is not supposed to be called
+
+ @retry(retries=5, interval=None, logfun=None)
+ def foo():
+ 1 / 0
+
+ self.assertRaises(ZeroDivisionError, foo)
+ self.assertEqual(sleep.call_count, 0)
+
+ @mock.patch('time.sleep')
+ def test_retries_arg(self, sleep):
+
+ @retry(retries=5, interval=1, logfun=None)
+ def foo():
+ 1 / 0
+
+ self.assertRaises(ZeroDivisionError, foo)
+ self.assertEqual(sleep.call_count, 5)
+
+ @mock.patch('time.sleep')
+ def test_retries_and_timeout_args(self, sleep):
+ self.assertRaises(ValueError, retry, retries=5, timeout=1)
+
+
if __name__ == '__main__':
run_test_module_by_name(__file__)
diff --git a/psutil/tests/test_testutils.py b/psutil/tests/test_testutils.py
deleted file mode 100644
index 3ba5e164..00000000
--- a/psutil/tests/test_testutils.py
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright (c) 2009, 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.
-
-"""
-Unit tests for the test utilities (oh boy!).
-"""
-
-from psutil.tests import unittest
-from psutil.tests import retry
-from psutil.tests import mock
-from psutil.tests import run_test_module_by_name
-
-
-class TestRetryDecorator(unittest.TestCase):
-
- @mock.patch('time.sleep')
- def test_retry_success(self, sleep):
- # Fail 3 times out of 5; make sure the decorated fun returns.
-
- @retry(retries=5, interval=1, logfun=None)
- def foo():
- while queue:
- queue.pop()
- 1 / 0
- return 1
-
- queue = list(range(3))
- self.assertEqual(foo(), 1)
- self.assertEqual(sleep.call_count, 3)
-
- @mock.patch('time.sleep')
- def test_retry_failure(self, sleep):
- # Fail 6 times out of 5; th function is supposed to raise exc.
-
- @retry(retries=5, interval=1, logfun=None)
- def foo():
- while queue:
- queue.pop()
- 1 / 0
- return 1
-
- queue = list(range(6))
- self.assertRaises(ZeroDivisionError, foo)
- self.assertEqual(sleep.call_count, 5)
-
- @mock.patch('time.sleep')
- def test_exception_arg(self, sleep):
- @retry(exception=ValueError, interval=1)
- def foo():
- raise TypeError
-
- self.assertRaises(TypeError, foo)
- self.assertEqual(sleep.call_count, 0)
-
- @mock.patch('time.sleep')
- def test_no_interval_arg(self, sleep):
- # if interval is not specified sleep is not supposed to be called
-
- @retry(retries=5, interval=None, logfun=None)
- def foo():
- 1 / 0
-
- self.assertRaises(ZeroDivisionError, foo)
- self.assertEqual(sleep.call_count, 0)
-
- @mock.patch('time.sleep')
- def test_retries_arg(self, sleep):
-
- @retry(retries=5, interval=1, logfun=None)
- def foo():
- 1 / 0
-
- self.assertRaises(ZeroDivisionError, foo)
- self.assertEqual(sleep.call_count, 5)
-
- @mock.patch('time.sleep')
- def test_retries_and_timeout_args(self, sleep):
- self.assertRaises(ValueError, retry, retries=5, timeout=1)
-
-
-if __name__ == '__main__':
- run_test_module_by_name(__file__)