summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDidier Raboud <odyx@debian.org>2012-05-05 12:36:53 +0200
committerDidier Raboud <odyx@debian.org>2012-05-07 21:04:24 +0200
commita44b22d5c000e5be16874bcc24d2293cc54b057e (patch)
treeae83b78f503e70dc8e2415e4cd99d05d82ed594a /test
parent1d58a03481f6066c6f5085951c9af36696ecfc79 (diff)
PyUT: Implement a unittest for valid_lsb_versions.
Take the opportunity to fix its output for cxx in 3.1.
Diffstat (limited to 'test')
-rw-r--r--test/test_lsb_release.py38
1 files changed, 37 insertions, 1 deletions
diff --git a/test/test_lsb_release.py b/test/test_lsb_release.py
index 5aa821d..c22a3db 100644
--- a/test/test_lsb_release.py
+++ b/test/test_lsb_release.py
@@ -20,7 +20,43 @@ class TestLSBRelease(unittest.TestCase):
self.assertEqual(lr.lookup_codename('inexistent_release' + str(random.randint(0,9)),badDefault),badDefault,'Default release codename is not accepted.')
def test_valid_lsb_versions(self):
- raise NotImplementedError()
+ # List versions in which the modules are available
+ lsb_modules = {
+ 'cxx' : ['3.0', '3.1', '3.2', '4.0', '4.1'],
+ 'desktop' : ['3.1', '3.2', '4.0', '4.1'],
+ 'languages' : ['3.2', '4.0', '4.1'],
+ 'multimedia' : ['3.2', '4.0', '4.1'],
+ 'printing' : ['3.2', '4.0', '4.1'],
+ 'qt4' : ['3.1'],
+ 'security' : ['4.0','4.1'],
+ }
+ lsb_known_versions = ['2.0', '3.0', '3.1', '3.2', '4.0', '4.1'];
+ for lsb_module in lsb_modules:
+ in_versions = lsb_modules[lsb_module]
+ for test_v in lsb_known_versions:
+ vlv_result = lr.valid_lsb_versions(test_v,lsb_module)
+ assert_text = 'valid_lsb_versions(' + test_v + ',' + lsb_module + ')'
+ # For 2.0, all output 2.0 only.
+ if test_v == '2.0':
+ self.assertEqual(vlv_result,
+ ['2.0'],
+ assert_text)
+ # For 3.0, all output 2.0 and 3.0.
+ elif test_v == '3.0':
+ self.assertEqual(vlv_result,
+ ['2.0', '3.0'],
+ assert_text)
+ # Before appearance, it outputs all past LSB versions
+ elif int(float(test_v)*10) < int(float(in_versions[0])*10):
+ self.assertEqual(vlv_result,
+ [elem for elem in lsb_known_versions if int(float(elem)*10) <= int(float(test_v)*10)],
+ assert_text)
+ # From appearence on, it outputs all lower versions from the in_versions
+ else:
+ self.assertEqual(vlv_result,
+ [elem for elem in in_versions if int(float(elem)*10) <= int(float(test_v)*10)],
+ assert_text)
+
def test_check_modules_installed(self):
raise NotImplementedError()
def test_parse_policy_line(self):