return parsed object from assert_parse
[pykickstart.git] / tests / packages.py
blob9294d729ca0f9640bc7ad7828024ca6db1dab095
1 from string import strip
2 import unittest
3 import warnings
4 from tests.baseclass import *
6 from pykickstart.errors import *
7 from pykickstart.parser import Packages
9 class AddGlobs_TestCase(CommandTest):
10 def runTest(self):
11 pkgs = Packages()
12 pkgs.add(["vim-*"])
13 pkgs.add(["kde*"])
15 self.assertEqual("""%packages
16 kde*
17 vim-*
19 %end""", strip(str(pkgs)))
21 class AddGroups_TestCase(CommandTest):
22 def runTest(self):
23 pkgs = Packages()
24 pkgs.add(["@GroupA"])
25 pkgs.add(["@group-b"])
26 pkgs.add(["@GroupC"])
28 # Groups are printed out in alphabetic order, so group-b comes after Group*
29 self.assertEqual("""%packages
30 @GroupA
31 @GroupC
32 @group-b
34 %end""", strip(str(pkgs)))
36 pkgs = Packages()
37 pkgs.add(["@group-a --nodefaults"])
38 self.assertEqual("""%packages
39 @group-a --nodefaults
41 %end""", strip(str(pkgs)))
43 pkgs = Packages()
44 pkgs.add(["@group-a --optional"])
45 self.assertEqual("""%packages
46 @group-a --optional
48 %end""", strip(str(pkgs)))
50 self.assertRaises(KickstartValueError, pkgs.add, ["@group-b --optional --nodefaults"])
52 class AddPackages_TestCase(CommandTest):
53 def runTest(self):
54 pkgs = Packages()
55 pkgs.add(["packageA"])
56 pkgs.add(["packageB"])
57 pkgs.add(["packageC"])
59 self.assertEqual("""%packages
60 packageA
61 packageB
62 packageC
64 %end""", strip(str(pkgs)))
66 class ExcludeGlobs_TestCase(CommandTest):
67 def runTest(self):
68 pkgs = Packages()
69 pkgs.add(["-kde*"])
70 pkgs.add(["-perl*"])
71 pkgs.add(["-*spell"])
73 self.assertEqual("""%packages
74 -*spell
75 -kde*
76 -perl*
78 %end""", strip(str(pkgs)))
80 class ExcludeGroups_TestCase(CommandTest):
81 def runTest(self):
82 pkgs = Packages()
83 pkgs.add(["-@Conflicts"])
84 pkgs.add(["-@Clustering"])
86 self.assertEqual("""%packages
87 -@Clustering
88 -@Conflicts
90 %end""", strip(str(pkgs)))
92 class ExcludePackage_TestCase(CommandTest):
93 def runTest(self):
94 pkgs = Packages()
95 pkgs.add(["-enlightenment"])
96 pkgs.add(["-clanlib"])
97 pkgs.add(["-libass"])
99 self.assertEqual("""%packages
100 -clanlib
101 -enlightenment
102 -libass
104 %end""", strip(str(pkgs)))
106 class Mixed1_TestCase(CommandTest):
107 def runTest(self):
108 pkgs = Packages()
109 pkgs.add(["@group-a"])
110 pkgs.add(["@group-b"])
111 pkgs.add(["-@group-a"])
113 self.assertEqual("""%packages
114 @group-b
115 -@group-a
117 %end""", strip(str(pkgs)))
119 class Mixed2_TestCase(CommandTest):
120 def runTest(self):
121 pkgs = Packages()
122 pkgs.add(["vim-enhanced"])
123 pkgs.add(["package-b"])
124 pkgs.add(["-vim-enhanced"])
126 self.assertEqual("""%packages
127 package-b
128 -vim-enhanced
130 %end""", strip(str(pkgs)))
132 class Mixed3_TestCase(CommandTest):
133 def runTest(self):
134 pkgs = Packages()
135 pkgs.add(["vim-enhanced"])
136 pkgs.add(["package-b"])
137 pkgs.add(["-vim*"])
139 self.assertEqual("""%packages
140 package-b
141 vim-enhanced
142 -vim*
144 %end""", strip(str(pkgs)))
146 if __name__ == "__main__":
147 unittest.main()