summaryrefslogtreecommitdiffstats
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)
downloadarchweb-ddcba1117722095bfb5f4f1c98273c54e747eea9.tar.gz
archweb-ddcba1117722095bfb5f4f1c98273c54e747eea9.zip
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: