summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2013-02-26 19:06:27 -0600
committerDan McGee <dan@archlinux.org>2013-02-26 19:06:51 -0600
commitddcba1117722095bfb5f4f1c98273c54e747eea9 (patch)
treebe543b83792c8c039f768335186b860530e92f34
parentf85cc0482a44ced9aed372b8972d31040ed4043b (diff)
Fix ALPM unittest to run when ALPM isn't present
This gets some proper unittest skip decorator action now in addition to adding more testing around everything. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--packages/tests.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/packages/tests.py b/packages/tests.py
index 3a460865..bbe9f00e 100644
--- a/packages/tests.py
+++ b/packages/tests.py
@@ -2,17 +2,27 @@ import unittest
from .alpm import AlpmAPI
+
+alpm = AlpmAPI()
+
+
class AlpmTestCase(unittest.TestCase):
+
+ @unittest.skipUnless(alpm.available, "ALPM is unavailable")
def test_version(self):
- alpm = AlpmAPI()
version = alpm.version()
self.assertIsNotNone(version)
version = version.split('.')
# version is a 3-tuple, e.g., '7.0.2'
self.assertEqual(3, len(version))
+ @unittest.skipUnless(alpm.available, "ALPM is unavailable")
+ def test_vercmp(self):
+ self.assertEqual(0, alpm.vercmp("1.0", "1.0"))
+ self.assertEqual(1, alpm.vercmp("1.1", "1.0"))
+
+ @unittest.skipUnless(alpm.available, "ALPM is unavailable")
def test_compare_versions(self):
- alpm = AlpmAPI()
self.assertTrue(alpm.compare_versions("1.0", "<=", "2.0"))
self.assertTrue(alpm.compare_versions("1.0", "<", "2.0"))
self.assertFalse(alpm.compare_versions("1.0", ">=", "2.0"))
@@ -24,4 +34,13 @@ class AlpmTestCase(unittest.TestCase):
self.assertTrue(alpm.compare_versions("1.0", "=", "1.0-1"))
self.assertFalse(alpm.compare_versions("1.0", "!=", "1.0"))
+ def test_behavior_when_unavailable(self):
+ mock_alpm = AlpmAPI()
+ mock_alpm.available = False
+
+ self.assertIsNone(mock_alpm.version())
+ self.assertIsNone(mock_alpm.vercmp("1.0", "1.0"))
+ self.assertIsNone(mock_alpm.compare_versions("1.0", "=", "1.0"))
+
+
# vim: set ts=4 sw=4 et: