Update to genscripts rev 382. This has more fixes for py3k and the modular rewrite...
[gentoolkit.git] / pym / gentoolkit / test / test_keyword.py
1 import unittest
2 import warnings
3 from tempfile import NamedTemporaryFile
4 try:
5         from test import test_support
6 except ImportError:
7         from test import support as test_support
8
9 from portage import os
10
11 from gentoolkit import keyword
12
13 class TestGentoolkitKeyword(unittest.TestCase):
14
15         def test_compare_strs(self):
16                 compare_strs = keyword.compare_strs
17
18                 # Test ordering of keyword strings
19                 version_tests = [
20                         # different archs
21                         ('amd64', 'x86'),
22                         # stable vs. unstable
23                         ('amd64-linux', '~amd64-linux'),
24                         # different OSes
25                         ('~x86-linux', '~x86-solaris'),
26                         # OS vs. no OS
27                         ('x86', '~amd64-linux')
28                 ]
29                 # Check less than
30                 for vt in version_tests:
31                         self.failUnless(compare_strs(vt[0], vt[1]) == -1)
32                 # Check greater than
33                 for vt in version_tests:
34                         self.failUnless(compare_strs(vt[1], vt[0]) == 1)
35                 # Check equal
36                 vt = ('~amd64-linux', '~amd64-linux')
37                 self.failUnless(compare_strs(vt[0], vt[1]) == 0)
38
39                 kwds_presort = [
40                         '~amd64', '~amd64-linux', '~ppc', '~ppc-macos', '~x86',
41                         '~x86-linux', '~x86-macos', '~x86-solaris'
42                 ]
43                 kwds_postsort = [
44                         '~amd64', '~ppc', '~x86', '~amd64-linux', '~x86-linux',
45                         '~ppc-macos', '~x86-macos', '~x86-solaris'
46                 ]
47                 self.failUnlessEqual(sorted(kwds_presort, cmp=compare_strs), kwds_postsort)
48
49
50 def test_main():
51         test_support.run_unittest(TestGentoolkitHelpers2)
52
53
54 if __name__ == '__main__':
55         test_main()