diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2016-10-01 20:21:42 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2016-10-01 20:21:42 +0200 |
commit | 09fa49d1a270c6d8511946952a17dc454cd87f95 (patch) | |
tree | 955738a22b59624deb3c26abcc540d0f66ba0174 | |
parent | 1b921b69c79539f7dfa06c7189ab8be9b928d068 (diff) | |
download | psutil-09fa49d1a270c6d8511946952a17dc454cd87f95.tar.gz |
move retry tests
-rw-r--r-- | psutil/tests/test_misc.py | 75 | ||||
-rw-r--r-- | psutil/tests/test_testutils.py | 85 |
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__) |