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>
This commit is contained in:
parent
f85cc0482a
commit
ddcba11177
@ -2,17 +2,27 @@
|
||||
|
||||
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 @@ def test_compare_versions(self):
|
||||
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:
|
||||
|
Loading…
Reference in New Issue
Block a user